欢迎来到天天文库
浏览记录
ID:36565456
大小:3.67 MB
页数:78页
时间:2019-05-09
《《C语言程序设计》第4章数组》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章数组在实际的应用中,经常会遇到某些类型相同并相互具有联系的数据。该类数据,经常要作相关的处理。如,一个班30个人的一门课程的成绩,求平均成绩、最高或最低成绩。处理这类数据的最好办法是将其定义成为一个具有共同特征的集合,这种同类型相关数据的集合称为数组。Chapter4Array4.1数组的基本概念C语言可以根据用户需要,用基本数据类型定义特殊性质的数据类型,称为构造类型。构造类型有:数组、结构、联合。数组:相同数据类型变量的有序集合。有序表现在数组元素在内存中连续存放。数组用一个名字作为标识。为区分各元素,每个元素有一个用整型表示的序号,称之为下标。下标可
2、以有多个,下标的个数称为数组的维数。如:十个整型变量k[0],k[1],…k[9]一个下标。数组名。三个学生三门课程的成绩97.580.594.576.581.490.060.064.575.0学号012012课程下标一:行下标二:列数组元素:a[1][1]/*example4-1(b)计算平均成绩*/#includevoidmain(void){inti;floatmath,ave;ave=0.0;/*平均成绩初值为0*/for(i=0;i<10;i++)/*循环10次*/{scanf("%f",&math);/*输入成绩*/ave=ave+
3、math;/*累加成绩*/}ave=ave/10;/*求平均*/printf("ave=%f",ave);}【例4-1】学生分数的处理问题。有10个学生参加数学考试,考试成绩由键盘输入,计算平均成绩。/*example4-1(b)计算平均成绩*/#includevoidmain(void){inti;floatmath,ave;ave=0.0;/*平均成绩初值为0*/for(i=0;i<10;i++)/*循环10次*/{scanf("%f",&math);/*输入成绩*/ave=ave+math;/*累加成绩*/}ave=ave/10;/*
4、求平均*/printf("ave=%f",ave);for(i=0;i<10;i++)/*循环10次*/{if(math>=ave)printf("%f",math);/*大于平均成绩则打印*/}}【例4-1(b)】/*example4-1(c)计算平均成绩*/#includevoidmain(void){inti;floatmath[10],ave;ave=0.0;/*平均成绩初值为0*/for(i=0;i<10;i++)/*循环10次*/{scanf("%f",&math[i]);/*输入成绩*/ave=ave+math[i];/*
5、累加成绩*/}ave=ave/10;/*求平均*/printf("ave=%f",ave);for(i=0;i<10;i++)/*循环10次*/{if(math[i]>=ave)printf("%f",math[i]);/*大于平均成绩则打印*/}}【例4-1(c)】数组必须先说明后使用。说明的目的如下:⒈说明数组的名字(标识)。⒉说明数组的类型。⒊说明数组的维数。⒋确定各维下标的变化范围。编译系统将根据说明,开辟内存单元按特有的顺序和相应的类型为各元素分配内存单元。4.2一维数组⒈一维数组的说明说明方式:typearray1[常量表达式],…,arra
6、yn[常量表达式];类型说明符,根据需要可加修饰说明。说明数组的类型。数组名,用标识符命名。用[]包含的常量表达式。数组的下标从0变化到常量达式的值减一。intid[5],iyear[10];floatfScore[36];当说明数组后,编译时系统会根据定义的类型分配连续的一段内存单元给数组的各元素。id[0]id[1]id[2]id[3]id[4]系统为数组分配的连续内存单元,每个单元占两个BYTE。首地址用数组名id表示。2.一维数组的引用数组是一组数,它们公用一个数组名,这是它们公有的属性,但它们在数组中的位置不同,这是它们私有的属性,为表明数组中的一个元
7、素,既要指出其来自于哪个数组,这就需要数组名;又要声明其在这个数组中的位置,这就需要下标。一维数组中元素引用的一般形式为:数组名[下标值]说明:①下标通常为整型,如果为实型,系统自动取整;②下标常常巧妙的和循环变量相结合,随着循环变量的变化而变化,可以达到事半功倍的效果;③C语言不做下标越界的检查,即语法上对越界的下标不报错。3.一维数组的存储计算机系统中有着大量的存储单元,为区别各个存储单元,每一个存储单元都有一个唯一的代表这个存储单元的地址,就好像我们每一个人都有一个唯一的代表自己的身份证号一样。计算机系统中,存储单元的地址的编码规则是线性的,以十六进制表示
8、,并且从0开始计数,因此
此文档下载收益归作者所有