【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;管…

别一言不合就重装系统!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翻译 生成效果 大图展示 细节大…

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

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

【并发编程篇】线程安全问题_—_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.…

芋道视频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…

uniapp路由

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

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

百年大计&#xff0c;教育为本。对于孩童来讲&#xff0c;故事无疑是最好的教育方法&#xff0c;通过一个个引人入胜的小故事将其中蕴含的道理、经验、哲理、观念传递给孩子。 可以这么说&#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…

Gooxi亮相2023中国数据与存储峰会展示最新存储解决方案

今日&#xff0c;以“数智创新&#xff0c;AI未来”为主题的2023 中国数据与存储峰会在北京顺利举行&#xff0c;Gooxi受邀参与并展示了最新存储服务器产品&#xff0c;搭配最新处理器平台&#xff0c;能够广泛应用在人工智能、数据分析、云端计算、数据存储和高性能计算等领域…

兔子目标检测数据集VOC格式3900张

兔子是一类可爱的哺乳动物&#xff0c;拥有圆润的脸庞和长长的耳朵&#xff0c;身体轻盈柔软。它们通常是以温和和友善的形象出现在人们的视野中&#xff0c;因此常常成为童话故事和卡通形象中的角色。 兔子是草食性动物&#xff0c;主要以各种草本植物为食&#xff0c;包括草…

python查找mongo中符合条件的json记录

一、需求&#xff1a; 之前有次需要临时查找mongo中存储的json串&#xff0c;符合特定条件的记录&#xff1b; 举个例子&#xff0c;mongo中记录如下图&#xff1a; 其中每条存储的数据大概为&#xff1a; [{"createUser": "Zxtech","paramName&qu…

NFC与ZigBee技术在智慧农业物联网监测系统中的应用

近年来&#xff0c;我国农业物联网技术飞速发展&#xff0c;基于物联网技术的智能农业监测系统有望得到较大规模的推广应用。但传统的物联网农业监测系统其网络结构层次单一&#xff0c;多采用基于有线或无线结构的节点-上位机数据采集模式&#xff0c;节点数据访问模式缺乏灵活…

【Leetcode 39】组合总和 —— 回溯法

39. 组合总和 给你一个无重复元素的整数数组candidates和一个目标整数target &#xff0c;找出candidates中可以使数字和为目标数target的 所有不同组合&#xff0c;并以列表形式返回。你可以按**任意顺序 **返回这些组合。 candidates中的同一个数字可以 无限制重复被选取 。…

喜讯丨智安网络实力上榜《嘶吼2023中国网络安全产业势能榜》

近日&#xff0c;嘶吼安全产业研究院正式发布《嘶吼2023中国网络安全产业势能榜》。智安网络凭借在网络安全行业领先的产品实力、专业的安全服务水平及多年累积的行业经验&#xff0c;从300余家厂商中脱颖而出&#xff0c;成为《中国网络安全产业势能榜》互联网行业势能厂商。 …

ACM32F403/F433 12 位多通道国产芯片,支持 MPU 存储保护功能,应用于工业控制,智能家居等产品中

ACM32F403/F433 芯片的内核基于 ARMv8-M 架构&#xff0c;支持 Cortex-M33 和 Cortex-M4F 指令集。芯片内核 支持一整套DSP指令用于数字信号处理&#xff0c;支持单精度FPU处理浮点数据&#xff0c;同时还支持Memory Protection Unit &#xff08;MPU&#xff09;用于提升应用的…