第七章 数 组
一、单选题
1. 以下对整型数组a的正确说明是
A) int a(10); B) int n = 10, a[n]; C) int n; D) #define SIZE 10
scanf(“%d”,&n); int a[SIZE]; int a[n];
2. 以下对数组初始化错误的是
A) int a[2][3]={1,2,3,4}; B) int [2][]={1,2,3,4,5,6}; C) int a[2][3]={{1,2,3},{4,5}}D) int a[][3]={1,2,3,4,5,6}; 3. 若想将一个字符数组a的内容存入另一个字符数组b中,下列正确的是 A) b=a; B) strcpy(b,a); C) strcpy(b,a); D) strcat(b,a); 4. 若有以下说明
int a[12] = {1,2,3,4,5,6,7,8,9,10,11,12}; char c=’a’,d,g; 则数值为4的数组元素是
A) a[g-c] B) a[4] C) a[‘d’-‘c’] D) a[‘d’-c]
5. 若有定义语句:char c[5]={‘a’,’b’,’\\0’,’c’,’\\0’};,则执行语句pritnf(“%s”, c);的结果是
A) ‘a’’b’ B) ab C)ab c D) ab\\0c 6. 对两个数组a和b进行如下初始化: char a[] = “ABCDEF”;
char b[] = {‘A’,‘B’,‘C’,‘D’,‘E’,‘F’}; 则以下叙述正确的是
A) a与b完全相同 B) a与b长度相同 C) a与b中都存放字符串 D) a数组比b数组长度长 7. 以下程序段给数组所有元素输入数据,应在下划线处填入的是
main()
{ int a[10], i = 0; while(i < 10)
scanf(“%d”, ); ? }
A)a+(i++) B)&a[i+1] C)a+i D)&a[++i] 8.以下程序的输出结果是 main()
{ int i, x[3][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
for(i = 0; i < 3; i++) printf(“%d,”, x[i][2-i]);
}
A)1,5,9, B)1,4,7, C)3,5,7, D)3,6,9,
9. 当运行以下程序时输入三行,每行都是在第一列上开始,
a
main()
{ char c[N]; int i = 0; for(i = 0; i < N; i++)
c[i] = getchar();
for(i = 0; i < N; i++)
putchar(c[i]);
}
A)abcdef B)a C)a D)a
b b b c cd cdef d e f
10. 以下程序段的输出结果是
pritnf(“%d\\n”, strlen(“ATS\\n012\\1\\\\”));
A) 11 B) 10 C) 9 D)8 11. 下面程序的运行结果是
A) 12ba56 B) 6521 C) 6 D) 62 main()
{ char ch[7] = “65ab21”; int i, s = 0;
for(i=0;ch[i]>=’0’&&ch[i]<=’9’; i += 2) s = s*10+ch[i]-‘0’; printf(“%d\\n”, s);