例题分析 例L5-0-1:把09这十个数字赋给一个一维数组,然后按逆序输 出 maino i int i, a[10: for(i=0;i<=9;i++) li for(i=9;i>=0;-) printi%od,”,;a[i);
例题分析 例L5-0-1:把0—9这十个数字赋给一个一维数组,然后按逆序输 出。 main() { int i,a[10]; for(i=0;i<=9;i++) a[i]=i; for(i=9;i>=0;i--) printf(“%d,”,a[i]); }
思考题 把26个大写字母从‘AZ赋给一维字符数组,然后按逆 序输出。例L5-0-2 maino i char i,a 26; for(i=A;i<=‘z’;+) a[i65]=i; for(i=Z; i>=a; i--) printi(%c;”,ai-65]);
思考题 把26个大写字母从‘A’——‘Z’赋给一维字符数组,然后按逆 序输出。例L5-0-2 main() { char i,a[26]; for(i=‘A’ ; i<=‘Z’ ;i++) a[i-65]=i; for(i=‘Z’;i>=‘A’;i--) printf(“%c,”,a[i-65]); }
维数组的初始化 可以用赋值语句或输入语句使数组中的元素得到值,但占用运行时 间。可以使数组在程序运行之前初始化,即在编译之前得到初值。 对数组元素的初始化可以用以下方法实现: 1、在定义数组时对数组元素赋以初值。例如: static int a[10={0,1,2,3,4,5,6,7,8,9}; 将数组元素的初值依次放在一对花括号内,请注意:在int的前面有 个关键字 static,表明它是“静态存储”的数组。 静态和外部存储( extern)数组默认的初值为0或空字符。 可以只给一部分元素赋值,例如: static int a[10]={0,1,2,3,4}; 定义a数组有10个元素,但花括号内只提供5个初值,这表示只给前 面5个元素赋初值,后面5个元素值为0
一维数组的初始化 可以用赋值语句或输入语句使数组中的元素得到值,但占用运行时 间。可以使数组在程序运行之前初始化,即在编译之前得到初值。 对数组元素的初始化可以用以下方法实现: 1、在定义数组时对数组元素赋以初值。例如: static int a[10]={0,1,2,3,4,5,6,7,8,9}; 将数组元素的初值依次放在一对花括号内,请注意:在int的前面有 一个关键字static,表明它是“静态存储”的数组。 静态和外部存储(extern)数组默认的初值为0或空字符。 2、可以只给一部分元素赋值,例如: static int a[10]={0,1,2,3,4}; 定义a数组有10个元素,但花括号内只提供5个初值,这表示只给前 面5个元素赋初值,后面5个元素值为0
3、如果想使一个数组中全部元素值为0,即可以写成 inta[10={0,0,0,0,0,0,0,0,0,0}; 也可以写成 inta[10}={0};即第一个元素为0,其余没有指定默认为0 不能写成:inta10={0*10}; 4、在对全部数组元素赋初值时,可以不指定数组长度。例 sy: static int a 51=(1, 2, 3, 4, 5; 可以写成 static int a={1,2,3,4,5}; 5、但若被定义的数组长度与提供的初值的个数不相同,则 数组长度不能省略。 6、静态数组不赋初值时,各值为0或“空”;动态数组则为 随机值
3、如果想使一个数组中全部元素值为0,即可以写成 int a[10]={0,0,0,0,0,0,0,0,0,0}; 也可以写成 int a[10]={0}; 即第一个元素为0,其余没有指定默认为0。 不能写成: int a[10]={0*10}; 4、在对全部数组元素赋初值时,可以不指定数组长度。例 如: static int a[5]={1,2,3,4,5}; 可以写成 static int a[]={1,2,3,4,5}; 5、但若被定义的数组长度与提供的初值的个数不相同,则 数组长度不能省略。 6、静态数组不赋初值时,各值为0或“空”;动态数组则为 随机值
数组作为函数的参数 1、数组元素作为参数:与一般变量相同, 属于“值传递”。例L5-0-3 2、数组名作为参数:属于地址传递方式, 即直接对地址操作,返回变化的结果 形参中的一维数组,可以不指定元素的 个数,因为它只是告诉编译程序数组的 地址(起始地址)。例L5-0-4
数组作为函数的参数 1、数组元素作为参数:与一般变量相同, 属于“值传递”。例L5-0-3 2、数组名作为参数:属于地址传递方式, 即直接对地址操作,返回变化的结果。 形参中的一维数组,可以不指定元素的 个数,因为它只是告诉编译程序数组的 地址(起始地址)。例L5-0-4