- 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语言利用数组处理数据C语言利用数组处理数据
第6章 利用数组处理批量数据 一维数组概述 一维数组概述---数组的声明与引用 一维数组概述---数组的声明与引用 一维数组概述---数组的声明与引用 一维数组的初始化 一维数组的初始化 一维数组应用举例 一维数组应用举例 一维数组应用举例 一维数组应用举例 一维数组应用举例 一维数组应用举例 二维数组概述 二维数组概述 二维数组举例 二维数组举例 二维数组举例 二维数组举例 二维数组举例 二维数组举例 二维数组举例 二维数组举例 字符串及其使用 字符串及其使用 字符串及其使用 字符串及其使用 常用的字符串处理函数 常用的字符串处理函数 常用的字符串处理函数 常用的字符串处理函数 * */31 * 数学科学学院:汪小平 wxiaoping325@163.com C语言简单变量无法表示下标,当要表示数学中一系列数:a0,a1,a2,……,an时,就无能为力,如果用单个变量表示,很难简便的表达算法。 #include stdio.h int main() { int i,a1,a2,a3,sum=0; scanf(%d%d%d,a1,a2,a3); for(i=1;i=3;i++) sum+=ai; printf(sum is: %d,sum); return 0; } C语言的数组弥补了这一点。下面是改写后的程序: #include stdio.h int main() { int i,a[3],sum=0; scanf(%d%d%d,a[0],a[1],a[2]); for(i=0;i3;i++) sum+=a[i]; printf(sum is: %d,sum); return 0; } 特别注意:C语言数组下标都是从0开始,因此定义为a[3],只能取a[0]、a[1]、a[2]。 利用数组下标的变化,可以使表达形式不变,但运算内容变化,所以数组通常与循环联系,以构造简便有效的算法。 从存储上讲,数组就是在内存分配了一连续空间,存储数组元素。其中数组名即是所分配内存的首地址。 当访问数组元素a[i]时,编译器通过运算得出第i个元素的地址,再访问其中的元素,计算方式如下: a+i*sizeof(数组类型) --------第i个元素在内存中地址 特别注意,a[i]相当于是一个变量,使用方式与一般变量完全一样。 在C程序中不用加,C语言会根据声明中a的类型自动乘上 整数、浮点数、字符三种类型,都可以声明对应的数组,访问方式完全一样 float f[10],sum=0.0; f[9]=3.14156; printf(“%f”,f[9]); #include stdio.h int main() { int i; char a[10]; for(i=0;i10;i++) scanf(%c,a[i]); for(i=9;i=0;i--) printf(%c,a[i]); return 0; } 三种数组的初始化非常相似。数组在定义时就可以初始化元素,格式为: 数组类型 数组名[常量表达式]={对应类型元素列表} 例如:int a[4]={1,2,3,4}; 数组元素如果没有初始化,其值是不定的。 初始化规则有下面几条: 列表元素个数可以少于数组元素个数,这时剩下元素初始化为0(字符类型相当于’\0’)。切记不能多于定义的元素个数,否则编译会报错 例:int a[10]={0}; 利用初始化,也可以不定义数组长度,通过初值列表确定元素的个数。 例:char ch[]={‘C’,’h’,’i’,’n’,’a’}; 例1 输出以下的杨辉三角形(要求为12行) #include stdio.h #define N 12 int main(void) { int i,j; int a[N]={1};//第一个元素为1,其余元素为0 printf(%-5d\n,a[0]); for(i=1;iN;i++) { for(j=i;j0;j--) a[j]+=a[j-1]; for(j=0;j=i;j++) printf(%-5d,a[j]); putchar(\n); } return 0; } 例2 从外界读入一个整数,编程显示该数的32位补码。 #include stdio.h int main(void) { int k,i=0; unsigned kk; char ch[32]={0}; scanf(%d,k); kk=k; //直接传送,转化为无符号数 do { ch[i]=kk%2; kk=kk/2; i++; }while(kk!=0); for(
文档评论(0)