【C语言】程序练习(四)

大家好,这里是争做图书馆扫地僧的小白。非常感谢各位的支持,也期待着您的关注。

目前博主有着C语言、C++、linux以及数据结构的专栏,内容正在逐步的更新。

希望对各位朋友有所帮助同时也期望可以得到各位的支持,有任何问题欢迎私信与我。

个人主页:争做图书馆扫地僧的小白_-CSDN博客

C语言专栏:C语言_争做图书馆扫地僧的小白的博客-CSDN博客

C++专栏:C++系列_争做图书馆扫地僧的小白的博客-CSDN博客

linux系统:linux系统_争做图书馆扫地僧的小白的博客-CSDN博客

数据结构:数据结构_争做图书馆扫地僧的小白的博客-CSDN博客

最后送大家一句话,路好不好走,也许我不能决定,但走不走,却只有我能决定。

目录

前言

一、数组

(一)一维数组

        1 一维数组的性质

        2.一维数组的初始化

        3练习题

(二)二维数组

        1 二维数组

        2 二维数组的初始化

        3练习题1

        4 练习题2

总结


前言

         C语言是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

        本篇程序练习时对应博主的C语言学习笔记(中)-CSDN博客,本次博客内容将围绕学习笔记中的相关知识点进行整理程序的相关练习,也是博主在学习C语言的过程中所练习的一些题目,希望对有需要的朋友有所帮助,本篇包括一维数组、二维数组性质,数组的初始化练习题以及综合的练习题。


提示:以下是本篇文章正文内容,下面案例可供参考

一、数组

(一)一维数组

        1 一维数组的性质

#include <stdio.h>int main()
{int s[5];//给数组元素赋值s[0] = 1;s[1] = 2;s[2] = 3;s[3] = 4;s[4] = 5;//读取数组元素的值printf("s[0] = %d\n", s[0]);printf("s[1] = %d\n", s[1]);printf("s[2] = %d\n", s[2]);printf("s[3] = %d\n", s[3]);printf("s[4] = %d\n", s[4]);// &变量名  & 取地址符  可以获取变量的地址printf("&s[0] = %p\n", &s[0]);printf("&s[1] = %p\n", &s[1]);printf("&s[2] = %p\n", &s[2]);printf("&s[3] = %p\n", &s[3]);printf("&s[4] = %p\n", &s[4]);//数组的长度:元素的个数printf("sizeof(s) = %ld\n", sizeof(s));//数组的元素是变量 允许被重新赋值s[0] = 10;printf("s[0] = %d\n", s[0]);//下标可以是一个变量int m = 1;s[m] = 1234;printf("s[m] = %d\n", s[m]);//下标可以是一个表达式s[s[0]-519] = 1314;printf("s[1] = %d\n", s[1]);//遍历一维数组 方式1int i = 0;for(i = 0; i < 5; i++){printf("%d  ", s[i]);}printf("\n");//遍历一维数组 方式2for(i = 0; i < sizeof(s)/sizeof(s[0]); i++){printf("%d  ", s[i]);}printf("\n");return 0;
}

        2.一维数组的初始化

#include <stdio.h>int main()
{//完全初始化int s[5] = {10, 20, 30, 40, 50};//不完全初始化int s[5] = {10, 20};//全部初始化成 0int s[5] = {0};  //省略下标的初始化int s[] = {10, 20, 30};int i = 0;for(i = 0; i < 5; i++){printf("%d  ", s[i]);}printf("\n");return 0;
}

        3练习题

定义一个长度为10的int类型的一维数组

        从终端给数组的元素赋值

        找出数组中最大的值,输出最大值。

#include <stdio.h>int main()
{int s[10] = {0};int i = 0;//循环给数组赋值for(i = 0; i < 10; i++){scanf("%d", &s[i]);}//保存最大值的下标int max_index = 0;for(i = 1; i < 10; i++){if(s[max_index] < s[i]){max_index = i;}}//当循环结束的时候 max_index 中记录的就是最大值的下标printf("max_value = %d\n", s[max_index]);return 0;
}

(二)二维数组

        1 二维数组

#include <stdio.h>int main(int argc, const char *argv[])
{//每个元素都是一个 int 类型的 变量int s[3][4];//二维数组访问元素   数组名[行号][列号]s[0][0] = 10;s[0][1] = 2;s[2][2] = 3;printf("s[0][0] = %d\n", s[0][0]);printf("s[0][1] = %d\n", s[0][1]);printf("s[2][2] = %d\n", s[2][2]);//二维数组的大小 = 行数*列数*单个元素的大小printf("sizeof(s) = %ld\n", sizeof(s));//48  == 3 * 4 * sizeof(int)//二维数组的元素再内存上也是连续的printf("%p\n", &s[0][3]);	printf("%p\n", &s[1][0]);//遍历二维数组int i = 0;int j = 0;//外层循环控制行数for(i = 0; i < 3; i++){//内层循环控制列数for(j = 0; j < 4; j++){printf("%d  ", s[i][j]);}printf("\n");}return 0;
}

        2 二维数组的初始化

#include <stdio.h>int main(int argc, const char *argv[])
{//完全初始化int s[3][4] = {{1,2,3,4},\{5,6,7,8},\{9,10,11,12}};//不完全初始化 没有初始化的位 也是用0初始化int s[3][4] = {{1,2},\{5,6},\{9}};//完全初始化int s[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};//不完全初始化 没有初始化的位 也是用0初始化int s[3][4] = {1,2,3,4,5,6};//全部初始化成0  int s[3][4] = {0};//省略下标的初始化int s[][4] = {1,2,3,4,5,6,7,8,9};printf("sizeof(s) = %ld\n", sizeof(s));//遍历二维数组int i = 0;int j = 0;for(i = 0; i < 3; i++){for(j = 0; j < 4; j++){printf("%d  ", s[i][j]);}putchar(10);}return 0;
}

        3练习题1

定义一个3行4列的二维数组,并以行为单位完全初始化

        初始化的数据随便指定,找出数组中最大的元素,及最大元素所在的行号、列号,并输出。

代码示例:

#include <stdio.h>int main(){int s[3][4] = {{12,23,34,45},{11,22,33,44},{456,1,2,3}};int max_h = 0;int max_l = 0;int i = 0;int j = 0;for(i = 0; i < 3; i++){for(j = 0; j < 4; j++){if(s[i][j] > s[max_h][max_l]){max_h = i;max_l = j;}}}printf("max_value = %d  max_hang = %d max_lie = %d\n",s[max_h][max_l], max_h, max_l);return 0;
}

        4 练习题2

使用10*10的二维数组保存杨辉三角的数据 并输出。

代码示例

#include <stdio.h>#define N 10
int main(){int s[N][N] = {0};s[0][0] = 1;//循环给数组赋值int i = 0;int j = 0;for(i = 1; i < N; i++){s[i][0] = 1;//给每行的第一列赋值//其他列的值循环for(j = 1; j <= i; j++){s[i][j] = s[i-1][j] + s[i-1][j-1];}}//输出数组的值for(i = 0; i < N; i++){for(j = 0; j <= i; j++){printf("%-4d", s[i][j]);}printf("\n");}return 0;
}


总结

        以上就是今天要讲的内容, 以上就是今天所整理的全部内容,本篇包括一维数组、二维数组性质,数组的初始化练习题以及综合的练习题。希望对正在学习的小伙伴们有所帮助,同时也期待着您的关注。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/583988.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智能分析网关V4+太阳能供电模式,搭建鱼塘养殖远程视频监控方案

一、行业背景 传统的鱼塘养殖模式由于养殖区域面积大、管理难度高&#xff0c;经常会出现偷钓者、盗窃鱼苗、非法入侵等监管难题&#xff0c;给养殖户带来了不小的经济损失。为了解决这些问题&#xff0c;搭建鱼塘远程监控系统成为了必要之举。通过远程监控系统&#xff0c;管…

跨域问题实战及分析

自己写了一个nodejs服务器&#xff0c;在html页面中调用接口&#xff0c;遇到了跨域问题,该怎么解决呢&#xff1f; server.js 创建服务器 const expressrequire(express); const appexpress();//创建express服务器 app.listen(80,()>{//启动服务器console.log(express se…

别一言不合就重装系统!Windows 无法正常启动先试试这些办法

你是否遇到过在升级或安装 Windows 10 操作系统&#xff0c;Windows 无法正常启动进入桌面&#xff0c;甚至陷入无限循环。造成的原因有很多&#xff0c;比如 Windows 更新&#xff0c;安装了新的软件或者驱动程序&#xff0c;系统文件损坏等等。那遇见 Windows 启动不了怎么办…

【Midjourney】Midjourney根据prompt提示词生成人物图片

目录 &#x1f347;&#x1f347;Midjourney是什么&#xff1f; &#x1f349;&#x1f349;Midjourney怎么用&#xff1f; &#x1f514;&#x1f514;Midjourney提示词格式 Midjourney生成任务示例 例1——航空客舱与乘客 prompt prompt翻译 生成效果 大图展示 细节大…

Unity 设置 Text 颜色 #FF7B2A

在Unity中&#xff0c;你可以使用 Color32 或 ColorUtility.TryParseHtmlString 来设置带有HTML颜色代码的文本颜色。以下是两种方法的示例&#xff1a; 使用 Color32&#xff1a; using UnityEngine; using UnityEngine.UI;public class SetTextColor : MonoBehaviour {publi…

铂炭催化剂,2026年市场预计将以6.5%左右的复合年增长率增长

铂碳催化剂广泛用于各种工业应用&#xff0c;包括化学、制药和汽车领域。在对清洁能源的需求不断增加和环境问题意识不断提高的推动下&#xff0c;铂碳催化剂市场正在稳步增长。本次分析&#xff0c;我们将从全球市场和中国市场分别考察铂碳催化剂市场的发展趋势。 全球市场分析…

Node.js笔记分享

Node.js 一、初识Node.js 与浏览器为Js提供前端运行环境相对应&#xff0c;Node.js是基于V8引擎的Js运行环境&#xff0c;为Js做后端开发提供了可能。 Node.js的作用 基于Express框架(http://www.expressjs.com.cn/)&#xff0c;可以快速构建Web 应用 基于Electron框架(ht…

【并发编程篇】线程安全问题_—_ConcurrentHashMap

文章目录 &#x1f354;情景引入&#x1f339;报错了&#xff0c;解决方案 &#x1f354;情景引入 我们运行下面的代码 package org.example.unsafe;import java.util.HashMap; import java.util.Map; import java.util.UUID;public class MapTest {public static void main(…

Kerberos安装教程与命令详解(超详细)

文章目录 前言一、安装准备1. 搭建集群2. 软件包介绍 二、使用shell脚本一键安装1. 复制脚本2. 增加执行权限3. 执行脚本 三、kdb5_util命令1. 简介2. 可用选项和命令的解释3. 常见命令及其说明4. 示例用法 四、kadmin命令1. 简介2. 可用选项和命令的解释3. 常见命令及其说明4.…

SQL最消耗性能查询错误用法示例

查询性能的消耗主要取决于查询的复杂度、表的大小以及使用的索引等因素。以下是一些查询中常见的错误用法示例&#xff0c;它们可能导致性能问题&#xff1a; 全表扫描&#xff1a; 错误用法示例&#xff1a; SELECT * FROM your_table;这种查询会检索表中的所有行&#xff0c;…

芋道视频199 - 工作流 - 关系图 - ruoyi-vue-pro

一 新建表单 数据库&#xff1a;bpm_form。实体类&#xff1a;BpmFormDO.java&#xff1a; 二 流程模型、流程部署、流程定义 1 第1步&#xff1a;创建流程模型 页面操作&#xff1a;实体类&#xff1a;Model.java。数据库&#xff1a;ACT_RE_MODEL 流程模板信息表&#xf…

Python基础进阶:9个易错知识点

你好&#xff0c;我是kelly。 kelly根据自己平时工作&#xff0c;总结9个易错知识点&#xff0c;希望对大家有用。 知识点1&#xff1a;is 和 is比较是两个变量地址是否相同&#xff0c;比较是两个变量的值&#xff08;内容&#xff09;是否相同。 示例&#xff1a; In [92…

2分钟明白什么是SCADA?

SCADA——数据采集和监控系统的英文缩写&#xff0c;国内流行的叫法是&#xff0c;监控组态软件&#xff0c;是生产控制的核心&#xff0c;是位于控制设备之上&#xff0c;侧重于管理的纯软件&#xff0c;在ERP/MES/PCS架构中起承上启下的作用。SCADA负责控制或监控整个工厂&am…

HACCP认证需要什么条件

HACCP&#xff08;危害分析与关键控制点&#xff09;认证是食品安全管理体系的一种&#xff0c;它旨在通过预防措施来保障食品的安全。企业若要获得HACCP认证&#xff0c;通常需要满足以下条件&#xff1a; 1. 合规性要求&#xff1a;企业需要提供营业执照、组织机构代码证、QS…

uniapp路由

1、路由登记 uni-app页面路由为框架统一管理&#xff0c;开发者需要在pages.json里配置每个路由页面的路径及页面样式。 类似小程序在 app.json 中配置页面路由一样。 所以 uni-app 的路由用法与 Vue Router 不同&#xff0c;如仍希望采用 Vue Router 方式管理路由&#xff0c;…

C++虚函数和纯函数

一、虚函数和纯函数定义 在C++中,虚函数和纯虚函数是面向对象编程中的重要概念。它们用于实现多态性,即在运行时选择调用哪个函数。 1. 虚函数(Virtual Function): 虚函数是在基类中使用 virtual 关键字声明的函数,它允许在派生类中进行重写。当通过基类指针或引用调用…

九州金榜|教育孩子小技巧--给孩子讲故事

百年大计&#xff0c;教育为本。对于孩童来讲&#xff0c;故事无疑是最好的教育方法&#xff0c;通过一个个引人入胜的小故事将其中蕴含的道理、经验、哲理、观念传递给孩子。 可以这么说&#xff0c;故事对于儿童获取词汇储备、洞察能力、处事方法、情商和智力的提升都有着极为…

Unicode字符以及UTF-8

前提基础知识 计算机内部&#xff0c;所有信息最终都是一个二进制值。每一个二进制位&#xff08;bit&#xff09;有0和1两种状态&#xff0c;因此八个二进制位就可以组合出256种状态&#xff0c;这被称为一个字节&#xff08;byte&#xff09;。也就是说&#xff0c;一个字节一…

Go 语言如何读取 excel 测试数据,简单易学

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

算法基础day2

前缀和 #include <iostream> using namespace std; const int N100010; int n,m; int a[N],s[N]; int main() {scanf("%d%d",&n,&m);for(int i1;i<n;i) scanf("%d",&a[i]);for(int i1;i<n;i) s[i]s[i-1]a[i];while(m--){int l,r;s…