- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言程序设计-第6讲-数组
Functions and Program Structure C语言程序设计 第六讲 数组 对于变量 基本类型——单个出现的变量,每个变量可以代表一个确定的数据(变量值) 如 int x,y; 但变量间不存在确定的相互关系。 构造类型——由基本类型按一定规则组成。其中: 数组:由一组有序数据(数组元素)组成。 每个元素:有相同类型,统一数组名; 用下标确定其顺序;但可以取各自值。 如 int a[5]; 其中:[ ]表示a是个数组,而不是一个简单变量a。 5表示该数组共有5个元素 保存大量同类型的相关数据 如矩阵运算,表格数据等 数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。 数组名的书写规则应符合标识符的书写规定。 数组名不能与其它变量名相同。 例如: main() { int a; float a[10]; …… } 是错误的。 #define FD 5 main() { int a[3+2],b[7+FD]; …… } 是合法的 允许在同一个类型说明中,说明多个数组和多个变量。 例如: int a,b,c,d,k1[10],k2[20]; 数组元素是组成数组的基本单元。数组元素也是一种变量, 其标识方法为数组名后跟一个下标。下标表示了元素在数组中的顺序号。 下标只能为整型常量或整型表达式。如为小数时,C编译将自动取整。 例如: a[5] a[i+j] a[i++] 都是合法的数组元素。 数组元素通常也称为下标变量。必须先定义数组, 才能使用下标变量。在C语言中只能逐个地使用下标变量,而不能一次引用整个数组。 例如,输出有10个元素的数组必须使用循环语句逐个输出各下标变量: for(i=0; i10; i++) printf(%d,a[i]); 而不能用一个语句输出整个数组。 下面的写法是错误的: printf(%d,a); 说明: (1) 可以只给部分元素赋初值。 当{ }中值的个数少于元素个数时,只给前面部分元素赋值。若初始化列表中初值个数少于数组元素个数,则自动以0补充。 int a[10]={0,1,2,3,4}; 表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。 只能给元素逐个赋值,不能给数组整体赋值。 例如给十个元素全部赋1值,只能写为: int a[10]={1,1,1,1,1,1,1,1,1,1}; 而不能写为: int a[10]=1; 练习:从键盘中输入10个数字,比较并输出其中最大的数。 编程思路: 定义一个数组 给数组赋值(输入10个数) 逐个比较每个数的大小 输出最大的数 #include stdio.h main() { int i,max,a[10]; printf(input 10 numbers:\n); for(i=0;i10;i++) //数组元素赋初值 scanf(%d,a[i]); max=a[0]; for(i=1;i10;i++) //逐个比较每个数的大小 if(a[i]max) max=a[i]; printf(maxmum=%d\n,max); } #include stdio.h main() { int i,j,p,q,s,a[10]; printf(\n input 10 numbers:\n); for(i=0;i10;i++) scanf(%d,a[i]); for(i=0;i10;i++) { p=i;q=a[i]; for(j=i+1;j10;j++) if (q a[j] ) { p=j;q=a[j]; } if(i!=p) //a[i], a[p]互换 { s=a[i]; a[i]=a[p]; a[p]=s; } printf(%d\t,a[i]); } } 阅读程序,说明下列程序的功能 #include stdio.h main() { int i,j,p,q,s,a[10]; printf(\n input 10 numbers:\n); for(i=0;i10;i++)
文档评论(0)