12.在执行int a[][3]={1,2,3,4,5,6};语句后, a[1][1]的值是( D )。 A.4
B. 1 C. 2
D. 5
13.以下程序运行后的输出结果是( 1 3 7 15 ) main()
{ int i,n[]={0,0,0,0,0}; for(i=1;i<=4;i++) { n[i]=n[i-1]*2+1; printf(\}
14.以下程序运行后 的输出结果是( 1 2 3
0 5 6 0 0 9 )
main()
{ int i,j,a[][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) for(j=i+1;j<3;j++) a [j][i]=0; for(i=0;i<3;i++) { for(j=0;j<3;j++) p rintf(\printf(\
25
}
15.有以下程序: #include
{char a[10]=”abcd”;
printf(“%d, %d\\n”,strlen(A),sizeof(A)); }
程序运行后的输出结果为:B
A)7,4 B)4,10 C)8,8D)10,10
16.有两个字符数组a、b,则以下正确的输入语句是( B ). (提示因为数组名代表数组的首地址,所以不需要取地址符号) A)gets(a,B);
B)scanf(\
C)scanf(\
D)gets(\
17.下面程序段的运行结果是( C ).
(提示,凾数strcpy(a,B);将字符串b拷贝到a,所以a的前面三个字符变成ABC第四个变成’\\0’,但e和f仍然存在)
char a[7]=\ char b[4]=\ strcpy(a,B); printf(\
思考:如果改成printf(\输出结果是???
26
A)空格 B)\\0 C)e D)f 18.有下面程序段,则( D )。 char a[3],b[ ]=\“%s”,a);
A)运行后将输出China B) 运行后将输出Ch C)运行后将输出Chi
D)编译出错
19. 若有说明: int a[ ][3]={1,2,3,4,5,6,7};则a 数组第一维的大小是( B )。(后面系统默认赋值为0,补两个0) A)2
B)3
C)4
D)无确定值
20.以下叙述中错误的是( C )。
A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出 B)数组名代表的是数组所占存储区的首地址,其值不可改变
C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
D)可以通过赋初值的方式确定数组元素的个数
21.下列函数inverse的功能是使一个字符串按逆序存放,请填空。 void inverse (char str[]) {
char m; int i,j;
for (i=0,j=strlen(str);i< strlen(str)/2 ;i++, j-- ) {
m=str[i];
27
}
}
str[i]= str[j-1] ; str[j-1]=m; ;
注意:22---24题可以不看
22.编写一个程序,从键盘输入10个学生的成绩,统计最高分、最低分和平均分。 解:使用一维数组A存储学生的成绩,然后用for循环进行判定求值。程序如下:
23.编写一个程序,将用户输入的十进制整数转换成任意进制的数。
解:采用辗转相除法进行进制之间的相互转换,将结果存储在一维数组num中,最后显示其值即可。
24.有一行文字,现要求从其中删去某个指定字符(如输入n,表示要从此行文字中删去所有是n的字符),要求该行文字和待删的字符均由终端输入。
第七章 函数
复习要点:
1. 库函数的正确调用。 2. 函数的定义方法。 3. 函数的类型和返回值。
4. 形式参数与实在参数,参数值的传递。 5. 函数的正确调用,嵌套调用,递归调用。
28
相关推荐: