同步训练6-1答案
一、单项选择题
1.已定义:float a[5];则数组a可引用的元素有( D )。
A.a[1]~a[5] B.a[0]~a[5] C.a[1]~a[4] D.a[0]~a[4]
2.已定义:int a[15];则数组a占用的内存单元数是( C )。
A.15 B.30 C.60 D.120
3.若有以下定义:double w[10];则数组w 的元素下标范围是( B )。
A.[0,10] B.[0,9] C.[1,10] D.[1,9]
4.设有程序,则在程序中的两个括号中应填入( C )。
#include<stdio.h>
int main()
{
int i,a[5]; printf{"Please input number:\n"};
for (i=0;i<=4;i++) scanf("%d",());
… …
printf("输出数组:\n");
for (i=0;i<4;i++) printf("%d",());
return 0;
}
A.a[i]和&a[i] B.&a[i]和&a[i]
C.&a[i]和a[i] D.a[i]和a[i]
5.阅读程序,以下程序的输出结果是( D )。
f(int b[],int n)
{
int i,r=1;
for (i=0;i<=n;i++) r=r*b[i];
return r;
}
int main()
{
int x,a[]={2,3,4,5,6,7,8,9};
x=f(a,3);
printf("%d\n",x);
return 0;
}
A.720 B.6 C.24 D.120
6.已知int类型变量在内存中占用4个字节,定义数组int b[8]={2,3,4};则数组b在内存中所占字节数为( D )。
A.5 B.12 C.16 D.32
7.以下程序段给数组所有元素输入数据,应在圆括号中填入的是( D )。
#include<stdio.h>
int 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.若有以下说明:int a[10]={1,2,3,4,5,6,7,8,9,10};char c='a';则数值为4的表达式是( D )。
A.a['f'-c] B.a[4] C.a['d'-'c'] D.a['d'-c]
9.以下定义语句中,错误的是( B )。
A.int a[]={6,7,8}; B.int n=5,a[n];
C.char a[]="string"; D.char a[5]={ '0','1' ,'2' ,'3' ,'4'};
10.以下描述中正确的是( D )。
A.数组名后面的常量表达式用一对圆括弧括起来
B.数组下标从1开始
C.数组下标的数据类型可以是整型或实型
D.数组名的规定与变量名相同
11.用数组名作为函数调用时的实参,实际上传送给形参的是( A )。
A.数组首地址 B.数组的第一个元素值
C.数组中全部元素的值 D.数组元素的个数
12.若定义数组并初始化char a[10]= { '0','1' ,'2' ,'3' ,'4' ,'5' ,'6' ,'7' ,'8','9'};
以下正确语句是( C )。
A.scanf("%c",a[0]); B.scanf("%s",&a);
C.printf("%c",a[3]); D.printf("%s",a);
13.若定义数组int a[10],其数组元素的下标下限为( B )。
A.1 B.0 C.9 D.10
14.若定义数组int a[10],其最后一个数组元素为( C )。
A.a[0] B.a[1] C.a[9] D.a[10]
15.若定义数组并初始化int a[10]={1,2,3,4},以下语句不成立的是( B )。
A.a[8]的值为0 B.a[1]的值为1 C.a[3]的值为4 D.a[9]的值为0
16.若定义数组并初始化int a[10]={1,2,3,4},以下叙述成立的是( A )。
A.若引用a[10],编译时警告 B.若引用a[10],连接时报错
C.若引用a[10],运行时出错 D.若引用a[10],系统报错
17.指出以下错误语句( A )。
A.int n=10,a[n]; B.int n,a[10];
C.int a[10]={1,2,3}; D.int a[10]={1,2,3,4,5,6,7,8,9,10};
18.若定义数组并初始化int a [10]={1,2,3,4},以下叙述不成立的是( A )。
A.a[10]是a数组的最后一个元素的引用
B.a数组中有10个元素
C.a数组中每个元素都为整数
D.a数组是整型数组
19.执行下面的程序段后,变量k中的值为( A )。
int k=3,s[2];s[0]=k;k=s[1]*10;
A.不定值 B.33 C.30 D.10
20.若有以下的定义和语句:int str[12]= {1,2,3,4,5,6,7,8,9,10,11,12}; char c= 'e',则数值为2的表达式是数组全部赋值为1( C )。
A.str[ 'g'-c] B.str[2] C.str[ 'd'-'c'] D.str['d'-c]
21.设已定义:int x[2][4]={1,2,3,4,5,6,7,8};则元素x[1][1]的正确初值是( A )。
A.6 B.5 C.7 D.1
22.设有int x[2][4]={1,2,3,4,5,6,7,8}; printf("%d",x[2][4]);则输出结果是( C )。
A.8 B.1 C.随机数 D.语法检查出错
23.设有: int a[4][5]; 则数组a占用的内存字节数是( D )。
A.9 B.20 C.40 D.80
24.以下程序的输出结果是( C )。
#include<stdio.h>
int main()
{
int i,a[3][3]={1,2,3,4,5,6,7,8,9};
for (i=0;i<3;i++)
printf("%d,",a[i][2-i]);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论