资源描述:
《c语言程序设计(中)ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言程序设计(中)第4章数组和字符串第5章函数第6章指针第4章数组和字符串数组能简化算法、简化编程。4.1数组的概念1.数组数组是同类型变量的集合。数组具有如下特征:1)类型数组的类型就是所有数组元素的类型2)数组名各元素共用同一个名称3)维数一维数组有一个下标,二维数组有两个下标第0列第1列第2列第0行第1行a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]2.数组元素数组的成员,用数组名加下标表示a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a
2、[8]a[9]4.2数组的定义和初始化①维界只能是整常数表达式(含符号常数)②数组的下标从0开始③多个相同类型的数组可以在一个语句中定义数据类型数组名维界4.2.1数组的定义[存储类型]数据类型数组名[expn][expn-1]…[exp2][exp1]intdata[10];//一维数组floata[3][4];//二维数组charstr1[30];//一维字符型数组charstr2[10][80];//二维字符型数组数组的存储结构数组占用一片连续的存储单元,数组中的各个元素依次存放。数组名就是这一片存
3、储单元的首地址。一维数组:各个元素顺序存放二维数组:先按行的顺序,然后按列的顺序依次存放各个元素。每个元素占用存储单元的多少,取决于数组的数据类型,同一个数组的各个元素占用相同数量的存储单元。字符型数组:各个字符依次存放,每个字符占1字节a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]b[0][0]b[0][1]b[0][2]b[1][0]b[1][1]b[1][2]c[0][0]c[0][1]……c[0][6]c[1][0]c[1][1]……c[1][6]【例】inta[8];float
4、b[2][3];charc[2][7];4.2.2数组的初始化1.一维数组初始化把初值顺序放在等号右边的花括号中,各常量之间用逗号隔开。intata[10]={50,60,70,80,90,100,101,102,103,104};floattable[5]={1,2.5,3.6,4.7,5};2.二维数组初始化把全部初值放在一对花括号中,每一行的初值又分别放在一对内嵌的花括号中。inta[4][3]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};其中代表每一行的内层花括号也可
5、以省略,直接写成inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};3.字符型数组的初始化1)用字符常数初始化charstr[12]={'T','h','e',’'','s','t','r','i','n','g','.',' '};charlanguage[5][8]={{'B','A','S','I','C',' '},{'F','O','R','T','R','A','N',' '},{'P','A','S','C','A','L',' '},{'C',' '}
6、,{'C',O','B','O','L',' '}};2)直接用字符串常量初始化charstr[12]={"Thestring."};或charstr[12]="Thestring.";charLanguage[5][8]={"BASIC","FORTRAN","PASCAL","C","COBOL"};4.有关数组初始化的几点说明①允许只对数组开头的若干元素赋初值,此时尾部的元素将自动赋零值。intx[6]={1,2,3,4};相当于intx[6]={1,2,3,4,0,0};inta[4][3]={
7、{1,2},{4,5}};相当于inta[4][3]={1,2,0,4,5,0,0,0,0,0,0,0};②不允许跳过数组开头的元素而只给尾部元素赋初值。floatarray[5]={,2.5,,3.5,};//C99标准增加③当花括号中给出初值的个数多于定义的数组元素个数时,将出错。inta[4]={1,2,3,4,5};编译时会显示错误信息。4.2.3利用初始化定义隐含尺寸数组①C语言允许通过初始化方式隐含规定数组的大小。inta[]={0,1,2,3,4,5,0};等价于inta[7]={0,1,2
8、,3,4,5,0};②用初始化方法隐含规定多维数组的大小时,只能省略最左边的维界表达式。例如对二维数组,只能省略第一个方括号中的表达式,写成:inta[][3]={{1,2,3},{4,5},{6},{7}};等价于inta[4][3]={{1,2,3},{4,5},{6},{7}};不能写成:inta[4][]={{1,2,3},{4,5},{6},{7}};或inta[][]={{1,2,3},{4,5},{6},{7}}