资源描述
第7章选择题(数组)
1. 以下关于数组的描述正确的是:C
A、数组的大小是固定的,但可以有不同类型的数组元素
B、数组的大小是可变的,但所有数组元素的类型必须相同
C、数组的大小是固定的,所有数组元素的类型必须相同
D、数组的大小是可变的,可以有不同类型的数组元素
2. 下述关于字符数组的描述中错误的是:B
A、字符数组可以存放字符串
B、字符数组中的字符串可以整体输入和输出
C、定义字符数组后,可用赋值运算符“=”对字符数组整体赋值
D、不可以用关系运算符对字符数组中的字符串整体进行比较
3. 不能把字符串”Hello!”赋给数组b的语句是:
A、char b[10]={‘H’,’e’,’l’,’l’,’o’,’!’};
B、char b[10];b=”Hello!”;
C、char b[10];strcpy(b,”Hello!”);
D、char b[10]=”Hello!”;
4. 若有以下定义,则数值为4的表达式是:D
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};
char c=’a’,d,g;
A、a[g-c] B、a[4] C、a[‘D’-‘C’] D、a[‘d’-c]
5. 以下合法的数组定义是:
A、int a[]=”string”; B、int a[5]={0,1,2,3,4,5};
C、char a=”string”; D、char a[]={0,1,2,3,4,5};
6. 以下错误的字符串赋值或赋初值方式是:C
A、char *str,str=”string”;
B、char str[7]={‘s’,’t’,’r’,’i’,’n’,’g’};
C、char str[10];str=”string”;
D、char str1[]=”string”,str2[]=”12345678”;stcpy(str2,str1);
7. 若有以下定义和语句,则输出结果是:
char a[12]=”a book!”;
printf(“%d”,strlen(a));
A、12 B、8 C、7 D、6
8. 以下的一维数组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];
9. 以下对一维数组a正确初始化的是:
A、int a[10]=(0,0,0,0,); B、int a[10]={};
C、int a[]={0}; D、int a[10]={10*2};
10. 在执行static int a[][3]={{1,2},{3,4}};语句后,a[1][2]的值是:C
A、3 B、4 C、0 D、2
11. 在定义int a[3][6];后,第10个元素是:
A、a[2][3] B、a[1][3] C、a[3][1] D、a[1][4]
12. 以下程序运行后的结果是:
#include <stdio.h>
Void main()
{ char str[]=”SSSWLIA”,c; int k;
for (k=2;(c=str[k])!=’\0’;k++)
{ switch(c){
case ‘I’:++k;break;
case ‘L’:continue;
default:putchar(c);continue;}
putchar(‘*’);
}
}
A 、SSW* B、SW* C、SW*A D、SW
13.以下程序结果是:
#include <stdio.h>
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
14.调用strlen(“abcde\0df\0g”)的返回值为:
A、4 B、5 C、8 D、9
CBBDD,CCDCC,BBCB
展开阅读全文