语言程序设计语言程序设计本章内容为了解决比较复杂的问题,本章介绍C语言提供的一种最简单的构造类型──数组。? 一维数组? 二维数组? 字符数组? 字符串? 数组元素的查找和排序2学****要求?掌握一维数组、二维数组的定义、初始化和引用。?掌握字符数组和字符串的概念及其处理函数。?掌握用数组进行编程的技术。3第4章数组和字符串?一个人N门课的成绩怎样存储和处理??一个班N门课的成绩怎样存储和处理?......数据的特点:具有相同的数据类型。为了方便地使用这些数据,C语言提供了一种构造数据类型:数组。例如:存储学生成绩用实型数组intscore[5];其中:score是数组名。该数组可以存放5个成绩,分别用下标变量表示:score[0],score[1],…score[4]。下标变量也称为数组元素。 一维数组? 一维数组的定义?例如:int a[10];?float b[5]; 数据类型数据类型数组名数组名[[常量表达式常量表达式]];;合法标识符表示元素个数下标从0开始[ ]:下标运算符单目运算符优先级(1)左结合不能用( )数组元素的数据类型常量表达式中可以包括常量和符号常常量表达式中可以包括常量和符号常量,不能包含变量。量,不能包含变量。5以下数组定义是正确的:#define N 10……float score1[N], score2[N];int num[10+N];char c[26];以下数组定义是不正确的:int array(10); int n; float score[n]; double b['a'.. 'd']; char str[ ]; 一维数组的定义(续)6数组在内存的存放score[0]score[1]score[2]score[3]score[4][0]0145a[1]a[2]a[3]a[4]a[5]23a编译时分配连续内存内存字节数=数组维数*sizeof(元素数据类型)数组名表示数组首地址, 一维数组的初始化初始化:在定义数组时给数组元素赋初值。,对数组全部元素赋初值。此时可以省略数组长度,例如:int a[ ]={1,2,3,4,5};,对数组部分元素赋初值。系统为其余元素赋0 。,编译出错例如:int a[5]={0,1,2,3,4,5};int a[5]={1,2,3,4,5};等价于:a[0]=1; a[1]=2; a[2]=3; a[3]=4; a[4]=5;int a[5]={1,2,3};等价于:a[0]=1; a[1]=2; a[2]=3; a[3]=0; a[4]=0; 一维数组的初始化(续)?使用其它方法初始化⑵利用输入语句初始化main(){ char as[26]; int i ; for(i=0; i<26; i++) scanf("%c",&as[i]);…...}⑴利用赋值语句初始化main(){ char as[26],ch; for(ch='A';ch<='Z';ch++) as[ch-'A']=ch;…...} 一维数组元素的引用格式:例如:输入学生成绩for(i=0;i<5;i++) scanf("%f",&score[i]);数组名[下标]?数组必须先定义,后使用。?只能逐个引用数组元素,不能一次引用整个数组。下标可以是整型常量或整型表达式。例如:例如:int a[10]; printf(“%d”,a);(??)必须必须for(j=0;j<10;j++) printf(“%d\t”,a[j]); (?)10
第四章 数组 来自淘豆网www.taodocs.com转载请标明出处.