第7章 数组 复习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第7章数组
1.下列数组声明中,正确的是()。
(a)int a[5]={0}; (b) int a[ ]={0 1 2};
(c) int a[5]=0; (d) int a[ ];
2.下列数组声明中,正确的是()。
(a)int a[10];
(b)int n = 10, a[n];
(c)int N =10; int a[N];
(d)int n; scanf(" %d ", &n); int a[n];
3.已知int a[10];则对a数组元素引用不正
确的是()。
(a)a[10] (b) a[3+5] (c) a[10-10]
(d) a[5]
4.以下数组定义中,正确的是()。
(a)int a[2][3] = {1, 2, 3, 4, 5, 6, 7};
(b)int a[ ][ ] = {{1, 2, 3},{4, 5, 6},{7, 8,
9}};
(c)int a[2][ ] = {1, 2, 3, 4, 5, 6};
(d)int a[ ][4] = {6};
5.若有定义: int a[3] = {0, 1, 2}; 则a[1]的
值为()。
(a)0 (b) 1 (c) 2 (d)
3
6.若有定义:int
a[3][4]={{1,2},{0},{1,2,3}};则a[1][1]的
值为()。
(a)0 (b) {1,2} (c) 1 (d)
3
7.有如下定义int a[ ][3] = {1,2,3,4,5,
6,7,8};则数组a 的行数是()。
(a) 2 (b) 3 (c) 4 (d) 无法确
定的
8.getchar( )函数的功能是从终端输入()。
(a)一个整型变量值
(b) 一个实型变量值
(c)多个字符
(d) 一个字符
9.设已定义char
s[ ]="\"Name\\Address\023\n";,则字符
串所占的字节数是()。
(a)19 (b) 15 (c) 18
(d)14
10.以下程序段运行后屏幕输出为()。
char a[ ]="abc\0mis";
printf("%d",strlen(a));
(a) 5 (b) 8 (c) 3
(d) 4
11.若有定义:char a[ ] = “abcdef”; char b[ ]
= “xyz”; 则以下程序段运行屏幕输出
为()。
strcpy(a,b);
printf(“%c”, a[2]);
(a) c (b) z (c) \0
(d) d
12.设有如下数组定义:char str[8]=
{"FuJian"};则分配给数组str的存储空
间是()个字节。
(a) 6 (b) 7 (c) 8 (d) 9
13.有如下定义:
char str[6]= { 'a','b','\0','d ','e','f'};
则语句:printf("%s" ,str ) ;
的输出结果是(D)。
(a)ab\ (b) abdef (c) ab\0
(d) ab
14.若有定义: int a[5] = { 1, 2, 3, 4, 5}; 则
语句a[1] = a[3] + a[2+2] - a[3-1]; 运行
后a[1]的值为(A)。
(a) 6 (b) 5 (c) 1
(d) 2
15.设有如下程序段:
int a [3][3]= {1 ,0, 2, 1,0 ,2 ,1, 0, 1}, i, j,
s = 0 ;
for (i=0 ; i<3; i++)
for (j=0 ; j
s = s+ a[i][j];
则执行该程序段后, s的值是(C)。
(a)0 (b) 1 (c) 2 (d) 3
16.若有定义:int i = 0, x = 0; int a[3][3]=
{ 1, 2, 3, 4, 5, 6, 7, 8, 9}; 则以下程序段
运行后x的值为(C)。
for ( ; i < 3; i ++) x += a[i][2- i] ;
(a)0 (b) 12 (c) 15
(d) 18
17.设已定义char
s[ ]="\"Name\\Address\023\n";,则字符
串所占的字节数是()。
(a)19 B. 16 C.
18 D. 14
18.数组元素下标的数据类型为()。
(a)整型常量、字符型常量或整型表
达式
(b)字符串常量
(c)实型常量或实型表达式
(d)任何类型的表达式
19.()是正确的数组定义。
(a)int n=10,x[n];
(b)int x[10];
(c)int N=10;int x[N];
(d)int n;
scanf("%d",&n);
int x[n];
20.若已定义int arr[10]; 则不能正确
引用arr数组元素的是()。
(a)arr[0] B. arr[1] C.
arr[10-1] D. arr[7+3]
21.若已定义int x[4]={2,1,3}; 则元素
x[1]的值为()。
(a)0 B. 2 C.
1 D. 3
22.以下程序段运行后,x[1]的值为()。
int x[5]={5,4,3,2,1};
x[1]=x[3]+x[2+2]-x[3-1];
(a) 6 B. 0 C.
1 D. 5
23.()是合法的数组定义。
(a)char str[ ]={48,49,50,51,52,53};
(b)int a[5]={0,1,2,3,4,5};
(c)int a[ ]="string";
(d)char str[ ]=…string‟;
24.若有以下程序:
void main( )
{char s[10]= "ajskdl",r[10];
r=s;
printf("%s\n",r);
}
则()。
(a)执行时输出:ajskdl
(b)执行时输出:a
(c)执行时输出:aj
(d)编译不通过
25.下面程序段的运行结果是()。
int m[]={5,8,7,6,9,2},i=1;
do{
m[i]+=2;
}while(m[++i]>5);
for(i=0;i<6;i++)
printf("%d ",m[i]);
(a)7 10 9 8 11 4
(b)7 10 9 8 11 2
(c) 5 10 9 8 11 2
(d) 5 10 9 8 11 4
26.下面程序段的运行结果是()。
int m[]={5,8,7,6,9,2},i=1;
for(i=0;i<6;i++)
{if(i % 2 !=0)
m[i]+=10;
}
for(i=0;i<6;i++)
printf("%d ",m[i]);
(a) 5 18 7 16 9 12
(b)15 18 17 16 19 12
(c)15 8 17 6 19 2
(d) 5 8 7 6 9 2
27.下面关于数组的叙述中,正确的是
()。
(a)定义数组后,数组的大小是固定
的,且数组元素的数据类型都相同
(b)定义数组时,可不加类型说明符
(c)定义数组后,可通过赋值运算符
"="对该数组名直接赋值
(d)在数据类型中,数组属基本类型
28.以下程序段的运行结果是()。
int a[]={1,2,3,4},i,j;
j=1;
for(i=3;i>=0;i--)
{a[i]=a[i]*j;
j=j*3;
}
for(i=0;i<4;i++)
printf("%d ",a[i]);
(a) 3 6 9 12
(b)18 12 9 4
(c)27 18 9 4
(d)54 18 9 4
29.下面关于字符数组的叙述中,错误的