C语言预赛练习之-数组选择题
1、执行下面的程序段后,变量k中的值为__________。 int k=3,s[2];
s[0]=k; k=s[1]*10;
A) 不定值 B) 33 C) 30 D) 10 A
2、下列程序执行后的输出结果是__________。 main() {int a,b[5]; a=0; b[0]=3;
printf(\ } A) 3,0 B) 3 0 C) 0,3 D) 3,不定值 D
3、设有数组定义:char array[]=\则strlen(array)
的值为________ 。
A) 4 B) 5 C) 6 D) 7 B
4、设有数组定义:char array[10]= \则strlen(array)
的值为________ 。
A) 5 B) 6 C) 10 D) 11
5、下列程序执行后的输出结果是__________。 main()
{ int i,j,a[3][3]; for(i=0;i<3;i++)
for(j=0;j<=i;j++) a[i][j]=i*j; printf(\ }
A) 2,2 B) 不定值,2 C) 2 D) 2,0 B
6、下列程序执行后的输出结果是________。 main()
{ int i,j,a[3][3]; for(i=0;i<3;i++)
for(j=0;j<3;j++) a[i][j]=i*j+1; printf(\ }
A) 3,3 B) 3,不定值 C) 3 D) 3,1 A
7、下列程序执行后的输出结果是________。 main()
{ int i,j,a[3][3]; for(i=0;i<3;i++)
for(j=0;j<=i;j++) a[i][j]=i*j-1; printf(\ }
A) 2,0 B) 1,4 C) 2,1 D) 0,3 D
8、设有数组定义:char array[]=\则数组array所占
的存储空间为________。
A) 4个字节 B) 5个字节 C) 6个字节 D) 7个字节 C
9、设有数组定义:char array[10]= \则数组array所占
的存储空间为________。
A) 4个字节 B) 5个字节 C) 6个字节 D) 10个字节 D
10、已知数组a的赋值情况如下所示,则执行语句a[2]++;后a[1]和a[2]的值 分别是________。
a[0] a[1] a[2] a[3] a[4]
┌──┬──┬──┬──┬──┐ │ 10 │ 20 │ 30 │ 40 │ 50 │ └──┴──┴──┴──┴──┘ A) 20和30 B) 20和31 C) 21和30 D) 21和31 B
11、下列程序执行后的输出结果是________。 main()
{ char arr[2][4];
strcpy(arr[0],\ strcpy(arr[1],\ printf(\ }
A) you&me B) you C) me D) err B
12、下面程序的功能是:计算1到10之间的奇数之
和及偶数之和,划线处 应填________。 #include
{ int a,b,c,i; a=b=c=0;
for(i=0;i<=10;i+=2) { a+=i;
________; c+=b; }
printf(\偶数之和=%d\\n\
printf(\奇数之和=%d\\n\ }
A) c+=i B) b+=i C) b=i+1 D) i=i+1 C 13、下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,
其它元素不变。划线处应填________。 #include
{ char a[]=\ int i,j,k; k=strlen(a); for(i=0;i<=k-2;i+=2)
for(j=i+2;j
{t=a[i];a[i]=a[j];a[j]=t;} puts(a);
printf(\ }
A) k=k+1 B) k=k+2 C) j+=1 D) j+=2 D
14、下面程序的功能是________。 #include
{ char a[]=\ int i,j,k; k=strlen(a); for(i=0;i<=k-2;i+=2) for(j=i+2;j
{t=a[i];a[i]=a[j];a[j]=t;} puts(a);
printf(\ }
A) 将字符数组a中的元素从小到大排序 B) 将字符数组a中的元素从大到小排序
C) 将字符数组a中下标为偶数的元素从小到大排序
D) 将字符数组a中下标为奇数的元素从小到大排序 C
15、下面程序的功能是________。 #include
{ char a[]=\ int i,j,k; k=strlen(a); for(i=0;i<=k-1;i+=1) for(j=i+1;j
{t=a[i];a[i]=a[j];a[j]=t;} puts(a);
printf(\ }
A) 将字符数组a中的元素从小到大排序 B) 将字符数组a中的元素从大到小排序 C) 求字符数组a中的最大元素 D) 将字符数组a中的最小元素 A
16、下面程序的运行以后的结果是________。 main()
{ char a[]=\ int i,j,k; k=strlen(a); for(i=0;i<=k-1;j+=1) for(j=i+1;j
{t=a[i];a[i]=a[j];a[j]=t;} puts(a);
printf(\ }
A) clanguage B) alancuegg C) egauganlc D) cgalgnaue B 17、以下程序的功能是:将无符号八进制数字构成的字符串转换为十进制整数。
例如,输入的字符串为:556,则输出十进制整数366,划线处应填________。 #include
{ char s[6]; int n,j; gets(s);
if(s[0]!='\\0') n=s[0]-'0'; j=0;
while(_________!='\\0') n=n*8+s[j]-'0'; printf(\ }
A) s[0] B) s[j++] C) s[j] D) s[++j] D 18、以下程序的功能是:将无符号八进制数字构成的字符串转换为十进制整数。
例如,输入的字符串为:556,则输出十进制整数366,划线处应填________。 #include
{ char s[6]; int n,j; gets(s);
if(s[0]!='\\0') n=s[0]-'0'; j=0;
while(s[++j]!='\\0') __________; printf(\ }
A) n=n*8+s[j]-0 B) n=n*8+s[j] C) n=n*8+s[j]-'\\0' D) n=n*8+s[j]-'0' D 19、以下程序的功能是:将无符号八进制数字构成的字符串转换为十进制整数。
例如,输入的字符串为:556,则输出十进制整数366,划线处应填________。 #include
{ char s[6]; int n,j; gets(s);
if(s[0]!='\\0') n=s[0]-'0'; j=1;
while(s[j++]!='\\0') ____________; printf(\ }
A) n=n*8+s[j] B) n=n*8+s[j-1]-'0' C) n=n*8+s[j]-'\\0' D) n=n*8+s[j-1]-'\\0' B 20、以下程序的功能是:将无符号八进制数字构成的字符串转换为十进制整数。
要想使程序转换十进制数字构成的字符串为十进制整数,应修改程序中的
第________行(注:每行前面的数字为行号)。 1 #include
2 main()
3 { char s[6]; 4 int n,j; 5 gets(s);
6 if(s[0]!='\\0') n=s[0]-'0'; 7 j=0;
8 while(s[j++]!='\\0') n=n*8+s[j]-'0'; 9 printf(\ } A) 3 B) 6 C) 7 D) 8 D
21、设已定义:char st[]=\下列程序段中正确的是________。 A) chara[11]; strcpy(a,st); B) char a[12]; strcpy(a,st[10]); C) char a[12]; strcpy(a,st); D) char a[]; strcpy(a,st); C
22、以下程序输出a数组中的最小值及其下标,在划线处应填入的是________。 main( )
{ int i,p=0,a[10];
for(i=0;i<10;i++) scanf(\ for(i=1;i<10;i++)
if(a[i] A) i=p B) a[p]=a[i] C) p=j D) p=i D 23、以下程序的输出结果是________。 main( )
相关推荐: