1、一维数组一、 基本概念包含一组具有同一类型的多个变量,这些变量在内存中占有连续的存储单元。以形如 a0、a1、a2这种形式来表示, “带下标的变量”或数组元素。二、 说明格式当数组中每个元素都只带一个下标时,称为一维数组。类型说明符 数组名常量表达式e.g: int a8;说明:1、 定义了一个名为 a 的一维数组;2、 方括号中的 8 规定了数组 a 中有 8 个元素,分别是 a0, a1, a2, a3, a4, a5, a6, a7;3、 Int 规定了数组 a 中的每个元素都是整型,每个元素中只能存放整型数;4、 数组 a 中的下标从 0 开始(数组下标的下界均为 0) 。5、 内存单
2、元分配如图a0 a1 a2 a3 a4 a5 a6 a7三、 几点说明1、 数组名的命名规则符合标识符的基本要求;2、 数组名不能与其它变量名相同。如 int a10; int a;是不允许的;3、 数组的类型实际上是指数组元素的取值类型,对于同一个数组,其所有元素的数据类型都是相同的;4、 方括号中常量表达式,表示数组元素个数,下标从 0 开始;5、 不能在方括号中用变量来表示元素的个数,但可以是符号常数或常量表达式;6、 允许在同一个类型说明中,说明多个数组和多个变量;如:int a,b,a10,b10;四、 一维数组元素的引用1、 一般形式:数组名下标表达式2、 下标表达式只能为整型常量
3、或整型表达式。如为小数,将自动取整,如 a5,am+n,ai+;3、 数组必须先定义,后使用,并且引用数组元素时,下标不允许越界;4、 数组元素可以看做是同类型的多个变量,这些变量通过下标来区别;5、 在 C 语言中只能逐个引用数组元素,而不能一次引用整个数组;五、 如何给数组元素赋值(使用数组元素前,一定先给数组元素赋初值 )e.g: int a8=0,1,2,3,4,5,6,7;int b10=0;int c=1,2,3,4,5;int d3=1,2,3,4; /*error!*/六、 简单应用1、 读程Main()Int a10,m,k=0;For(m=0;m10;m+) am=2*m+
4、1; /*赋值*/For(m=0;m10;m+) printf(“a%d=%dn”,m,am); /*输出 */For(m=0;m4;m+) k+=am+m;Printf(“%dn”,k);Getch();2、 编程:利用数组,存储输入的 10 个数字,重新赋值,将数组元素值,赋值为原来值得 2 倍,再输出。【操作提示】1) 数组元素的输入For(i =0; i 10; i +) printf(“a%d:n”, i);Scanf(“%d”, 2) 数组元素的赋值;for(i=0;iN;i+)ai=数值表达式;3) 数组元素的输出;printf(“n“);for(i=0;iN;i+)printf
5、(“%5d“,ai);printf(“n“);3、 编程:利用数组,存储输入的 10 个数,求 10 个数中的最大值、最小值,输出对应的数值及相应的数组元素的位置值;【操作提示】第 1 步:输入数组元素 ai;第 2 步:变量 max、min 的初始值均为 a0;第 3 步:利用循环,将 max 和 ai比较,如果 ai的值大于 max,max 值更新为 ai,记录位置值 pos_max 为 i+1;将 min 和 ai比较,如果 ai的值小于 max,max 值更新为 ai; 记录位置值 pos_min 为 i+1;第 3 步:输出最大值 max、最小值 min,及数组元素所在地位置值pos
6、_max、pos_min。4、 输入一个学生 4 门课程的成绩(语、数、外、体) ,打印成绩,并显示该学生的总分与平均分;【操作提示】score0score3存储 4 门课的成绩;第 1 步:输入 4 门功课的成绩,为数组赋值;第 2 步:利用循环求 4 门功课的成绩总分 mark;第 3 步:求 4 门课的平均分 aver=mark/4;5、 题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上 5,然后用和除以 10 的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。 编程:输入一个 4 位数据,加密后的数字是什么?【操作提示】数组 a0a3,存储个位到千位数字;第 1 步:输入数字 n第 2 步:求各个位上的数字,存储到数组中;第 3 步:按照加密规则,将每位数字加 5,再除以 10 的余数为 ai重新赋值;(利用循环)第 4 步:按照加密规则,进行相应数位上数字的交换;(利用循环,i 的变化范围从 03/2);Ai 与 a3-i第 5 步:输出加密后的 a0a3(利用循环) ;+2)