C语言 第七章 数组期末测试习题与答案

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言第七章数组期末测试习题与答案
1、以下对一维整型数组a的正确说明是 ( )。

A.#define SIZE 10
int a[SIZE];
B.int a(10);
C.int n=10,a[n];
D.int n; scanf(“%d”,&n); int a[n];
参考答案:A
2、以下能对一维数组a进行正确初始化的语句是 ( )。

A.int a[10]={ };
B.int a[10]={10*1};
C.int a[10]=(0,0,0,0,0);
D.int a[ ]={0};
参考答案:B
3、不是给数组的第一个元素赋值的语句是 ( )。

A.a[1]=1;
B.int a[2]={1,0};
C.int a[2];scanf (“%d”,&a[0]);
D.int a[2]={1};
参考答案:A
4、下面程序的运行结果是 ( )。

main()
{int a[6],i;
for(i=1;i<6;i++)
{ a[i]=6*(i-2+4*(i>3))%5;
printf("%2d",a[i]);
}
}
A.-1 0 4 0 3
B.-1 0 1 4 3
C.-1 0 1 4 2
D.-1 0 1 1 2
参考答案:D
5、下列定义正确的是 ( )。

A.int b[3]={2,5}
B.int 4e[4]
C. static int a[2]={1,2,3,4,5}
D.int a(10)
参考答案:A
6、设有char str[10],下列语句正确的是 ( )。

A.printf("%s",str);
B.scanf("%s",&str);
C.printf("%c",str);
D.printf("%s",str[0]);
参考答案:B
7、下列说法正确的是 ( )。

A.在C语言中,定义了一个数组后,就确定了它所容纳的具有相同数据类型元素的个数
B.在C语言中,数组元素的数据类型可以不一致
C.在C语言中,数组元素的个数可以不确定,允许随机变动
D.在C语言中,可以使用动态内存分配技术定义元素个数可变的数组
参考答案:D
8、假设array是一个有10个元素的整型数组,则下列写法中正确的是
A.array[-1]=0;
B.array[0]='a';
C.array[10]=0;
D.array[0]=0;
参考答案:D
9、有一数组如下定义:int a[6]={1,2,3,4,5};
执行for (i=0; i<6;i++) printf ("%d ",a[i]);后输出的结果是_____( )。

A.1 2 3 4 5 随机值
B.1 2 3 4 5 5
C.1 2 3 4 5 6
D.1 2 3 4 5 0
参考答案:D
10、有一数组int a[][4]={1,12,13,14,15,16,17,9,8,7,6,5},执行语句scanf("%d", &a[2][3])后,数组中的值应为:_______(键盘输入10)
A.1,12,13,14,15,16, 17,9,8,7,6,5
B.1,12,13,14,0,0,0,0,0,0,0,0
C.1,12,13,14,15,16, 17,0,8,7,6,5
D.1,12,13,14,15,16, 17,9,8,7,6,10
参考答案:C
11、下列程序的输出结果是__( )。

main()
{ int k=3, a[2];
a[0]=k ; k=a[1]*10;
printf("%d\n",k);
}
A.10
B.33
C.不定值
D.30
参考答案:C
12、若有以下说明和语句,则输出结果是____( )。

char s[12 ]="a book! ";
printf ("%.4s", s );
A.a bo
B.因格式描述不正确,没有确定的输出
C.a book!□□□(□代表空格)
D.a book!
参考答案:A
13、若有声明语句“char C[10]={'c','x','e'},N[3][10]={"see","good","369852"};”,则以下的操作中,可能出现越界访问的是_____( )。

A.printf("%s", N[0]);
B.printf("%c", N[10]);
C.printf("%s", N);
D.printf("%s", C);
参考答案:B
14、若有以下说明和语句,则输出结果是____( )。

char str[ ]="\"c:\\abc.dat\"";
printf("%s",str);
A.符串中有非法字符
B."c:\\abc.dat
C.\"c:\\abc.dat\"
D.\"c:\\abc.dat\"
参考答案:D
15、以下数组定义中不正确的是_____( )。

A. int b[][3]={0,1,2,3};
B.int d[1][]={{1,2},{1,2,3},{1,2,3,4}};
C.int a[2][3];
D. int b[][3]={0,1,2,3};
参考答案:B
16、以下对一维数组a的正确说明是: ( )。

A.char a(10);
B.char a[3]={‘a’,’b’,’c’};
C.char a(10);
D.int k=5,a[k];
参考答案:B
17、以下能对一维数组a进行初始化的语句是 ( )。

A.int a(5)={}
B.int a[3]={0,1,2}
C.int a[5]=(0,1,2,3,4,)
D. int a{5}={10*1}
参考答案:B
18、已知:int a[10]; 则对a数组元素的正确引用是 ( )。

A.a(5)
B.a[3.5]
C.a[0]
D.a[10]
参考答案:C
19、执行下面的程序段后,变量k中的值为 ( )。

int k=3, s[2];
s[0]=k; k=s[0]*10;
A.10
B.不定值
C.30
D.33
参考答案:C
20、若有以下数组说明,则数值最大的和最小的元素下标分别是 ( )。

int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};
A.1,12
B.0,12
C.0,11
D.1,11
参考答案:C
21、若有以下数组说明,则i=10;a[a[i]]元素数值是 ( )。

int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A.9
B.10
C.6
D.5
参考答案:C
22、若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为( )。

A.3
B.2
C.无确定值
D.4
参考答案:A
23、下面程序段的输出结果是 ( )。

int i;
int 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.3 5 7
B.1 5 9
C.3 6 9
D.1 4 7
参考答案:A
24、对二维数组的正确定义是 ( )。

A.int a[2,3]={1,2,3,4,5,6};
B.int a[ ] [ ]={1,2,3,4,5,6};
C.int a[ ] [ ]={1,2,3,4,5,6};
D.int a[ ] [3]={1,2,3,4,5,6};
参考答案:D
25、已知int a[3][4];则对数组元素引用正确的是 ( )。

A.a[2][0]
B.a[1,3]
C.a[2][4]
D.a(2)(1)
参考答案:A
26、下列字符串赋值语句中,不能正确把字符串C program赋给数组的语句是:( )。

A.char a[10]={ “C program”};
B.char a[]={‘C’,‘’,‘p’,‘r’,‘o’,‘g’,‘r’,‘a’,‘m’ ,‘\0’};
C.char a[]={‘C’,‘’,‘p’,‘r’,‘o’,‘g’,‘r’,‘a’,‘m’ ,‘\0’};
D.char a[10]; a= “C program”;
参考答案:D
27、若有如下定义和语句:
char s[12]= “a□book!”;
printf(“%d”,strlen(s) );
则输出结果是: ( )。

A.12
B.10
C.6
D.7
参考答案:D
28、若有说明:int a[3][4] = {0};则下面正确的叙述是: ( )。

A.数组a中每个元素均可得到初值0
B.数组a每个元素均可得到初值,但值不一定为0
C.只有元素a[0][0]可以得到初值0
D.此说明语句不正确
参考答案:A
29、执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是main()
{ char s[100]; int c, i;
scanf("%c",&c);
scanf("%d",&i);
scanf("%s",s);
printf("%c,%d,%s \n",c,i,s);}
A. 123,456,789
B. 123,456,789
C.1,23,456
D.1,23,456,789
参考答案:C
30、若有如下定义:
int a[3][3]={1,2,3,4,5,6,7,8,9},i ;
则下列语句的输出结果是: ( )。

for (i=0;i<=2;i++) printf(“%d”,a[i][2-i]);
A.3 5 7
B.3 6 9
C.1 5 9
D.1 4 7
参考答案:A。

相关文档
最新文档