NEWS
选择题
1、有如下程序
#include<stdio.h>
void main( )
{ int i,sum=0;
for(i=1;i<=3;sum++) sum+=i;
printf("%d\n",sum);
}
该程序的执行结果是__________.
A) 6 B) 3
C) 死循环 D) 0
2、以下循环体的执行次数是_______
#include<stdio.h>
void main( )
{ int i,j;
for(i=0,j=1; i<=j+1; i+=2, j--)
printf("%d \n",i);
}
A) 3 B) 2
C) 1 D) 0
3、在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为________.
#include <stdio.h>
void main( )
{ char ch;
while ((ch=getchar( ))!='\n')
{ if (ch>='A' && ch<='Z') ch=ch+32;
else if (ch>='a' && ch<'z') ch=ch-32;
printf("%c",ch);
}
printf("\n");
}
A) ABCdef B) abcDEF
C) abc D) DEF
4、下面程序的输出结果是_________.
main( )
{
int i,k=0, a=0, b=0;
for(i=1;i<=4;i++)
{
k++;
if (k%2==0) {a=a+k; continue;}
b=b+k;
a=a+k;
}
printf("k=%d a=%d b=%d\n",k,a,b);
}
A) k=5 a=10 b=4 B) k=3 a=6 b=4
C) k=4 a=10 b=3 D) k=4 a=10 b=4
5、执行下面程序段后,k的值是_________.
int i,j,k;
for(i=0,j=10;i<j;i++,j--)
k=i+j;
A) 9 B) 11
C) 8 D) 10
6、下面程序是计算n个数的平均值,请填空.______
#include<stdio.h>
void main( )
{ int i,n;
float x,avg=0.0;
scanf("%d",&n);
for(i=0;i<n;i++)
{ scanf("%f",&x);
avg=avg+______; }
avg=________;
printf("avg=%f\n",avg);
}
A) i B) x C) x D) i
avg/i avg/n avg/x avg/n
7、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。________
#include<stdio.h>
void main( )
{ float x,amax,amin;
scanf("%f",&x);
amax=x;
amin=x;
while (________ )
{ if (x>amax) amax=x;
if (______) amin=x;
scanf("%f",&x);
}
printf("\namax=%f\namin=%f\n",amax,amin);
}
A) x<=0 B) x>0
x>amin x<=amin
C) x>0 D) x>=0
x>amin x<amin
8、阅读以下程序,程序运行后的输出结果是______.
#include<stdio.h>
void main( )
{ int x;
for(x=5;x>0;x--)
if (x--<5) printf("%d,",x);
else printf("%d,",x++); }
A) 4,3,2 B) 4,3,1,
C) 5,4,2 D) 5,3,1,
9、以下程序段的输出结果是________.
int k,n,m;
n=10;m=1;k=1;
while (k<=n) {m*=2;k+=4;}
printf("%d\n",m);
A) 4 B) 16
C) 8 D) 32
10、下面程序的输出结果是_________.
#include<stdio.h>
void main( )
{int y=9;
for(;y>0;y--)
{if(y%3==0)
{printf("%d",--y);
continue;}
}
}
A) 741 B) 852
C) 963 D) 875421
11、合法的数组定义是________.
A) int a[6]={"string"};
B) int a[5]={0,1,2,3,4,5};
C) char a={"string"};
D) char a[]={0,1,2,3,4,5};
12、要求下面的程序运行后,显示如下结果:
2 10 4 6
1 5 2 3
2 4 7 8
5 1 3 2
则程序中的划线处应填入________.
#include <stdio.h>
void main( )
{ int a[4][4]={ ________ };
int i,j;
for(i=0;i<4;i++)
{for(j=0;j<4;j++) printf("%4d",a[i][j]);
printf("\n"); }
}
A) {1,5,2,3},{2,4,7,8},{5,1,3,2}
B) {2,10,4,6},{1,5,2,3},{2,4,7,8},{5,1,3,2}
C) {5,1,3,2},{2,4,7,8},{1,5,2,3}
D) {2,1,2,5},{10,5,4,1},{4,2,7,3},{6,3,8,2}
13、给出以下定义:
char x[ ]="abcdefg";
char y[ ]={'a','b','c','d','e','f','g'};
则正确的叙述为 ________.
A) 数组x和数组y等价
B) 数组x和数组y的长度相同
C) 数组x的长度大于数组y的长度
D) 数组x的长度小于数组y的长度
14、定义如下变量和数组:
int i;
int x[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
则下面语句的输出结果是_______.
for(i=0;i<4;i++) printf("%3d",x[i][3-i]);
A) 1 5 9 13 B) 1 6 11 16
C) 4 7 10 13 D) 4 8 12 16
15、下面程序输出的结果是________.
#include <stdio.h>
void main( )
{ int i,j,x=0;
static int a[6]={1,2,3,4,5,6};
for(i=0,j=1;i<5;++i,j++) x+=a[i]*a[j];
printf("%d\n",x);
}
A) 数组a中首尾的对应元素的乘积
B) 数组a中首尾的对应元素的乘积之和
C) 数组a中相邻各元素的乘积
D) 数组a中相邻各元素的乘积之和
16、若希望下面的程序运行后输出45,程序空白处的正确选择是________.
#include <stdio.h>
void main( )
{ int i,j=10,a[ ]={1,3,5,7,9,11,13,15};
for( ____________ )
j+=a[i];
printf("%d\n",j);
}
A) i=5;i>1;i-- B) i=0;i<7;++i
C) i=5;i>=1;--i D) i=2;i<6;++i
17、若有以下说明:
char s1[ ]={"tree"},s2[]={"flower"}; ,
则以下对数组元素或数组的输出语句中,正确的是_____.
A) printf("%s%s",s1[5],s2[7]);
B) printf("%c%c",s1,s2);
C) puts(s1);puts(s2);
D) puts(s1,s2);
18、下列一维数组初始化语句中,正确且与语句float a[ ]={0,3,8,0,9};等价的是________.
A) float a[6]={0,3,8,0,9};
B) float a[4]={0,3,8,0,9};
C) float a[7]={0,3,8,0,9};
D) float a[5]={0,3,8,0,9};
19、运行下面程序段的输出结果是________.
char s1[10]={'S','e','t','\0','u','p','\0'};
printf("%s",s1);
A) Set B) Setup
C) Set up D) 'S''e''t'
20、以下程序段的输出结果是________.
char s[ ]="an apple";
printf("%d\n",strlen(s));
A) 7 B) 8
C) 9 D) 10
21、若有说明:char c[10]={'E','a','s','t','\0'};,则下述说法中正确的是__________.
A) c[7]不可引用
B) c[6]可引用,但值不确定
C) c[4]不可引用
D) c[4]可引用,其值为空字符
22、下列初始化语句中,正确且与语句
char c[ ]="string";等价的是________.
A) char c[ ]={'s','t','r','i','n','g'};
B) char c[ ]='string';
C) char c[7]={'s','t','r','i','n','g','\0'};
D) char c[7]={'string'};
23、若有说明char c[7]={'s','t','r','i','n','g'};则对元素的非法引用是________.
A) c[0] B) c[9-6]
C) c[4*2] D) c[2*3]
24、如有说明:char s1[5],s2[7]; ,要给数组s1和s2整体赋值,下列语句中正确的是________.
A) s1=getchar(); s2=getchar();
B) scanf("%s%s",s1,s2);
C) scanf("%c%c",s1,s2);
D) gets(s1,s2);
25、下列一组初始化语句中,正确的是________.
A) int a[8]={ };
B) int a[9]={0,7,0,4,8};
C) int a[5]={9,5,7,4,0,2};
D) int a[7]=7*6;
26、以下程序输出的结果是_________.
#include <stdio.h>
void main( )
{ char str[ ]="1a2b3c"; int i;
for(i=0;str[i]!='\0';i++)
if(str[i]>='0'&&str[i]<='9') printf("%c",str[i]);
printf("\n");
}
A) 123456789
B) 1a2b3c
C) abc
D) 123
27、以下程序输出的结果是_______.
#include <stdio.h>
void main( )
{ int a[ ]={5,4,3,2,1},i,j;
long s=0;
for(i=0;i<5;i++) s=s*10+a[i];
printf("s=%ld\n",s);
}
A) s=12345 B) s=5 4 3 2 1
C) s=54321 D) 以上都不对
28、以下程序输出的结果是_______.
#include <stdio.h>
void main( )
{ int a[ ]={1,2,3,4,5},i,j,s=0;
for(i=0;i<5;i++) s=s*10+a[i];
printf("s=%d\n",s);
}
A) s=12345 B) s=1 2 3 4 5
C) s=54321 D) s=5 4 3 2 1
29、在定义int a[5][6];后,数组a中的第10个元素是.________(设a[0][0]为第一个元素)
A) a[2][5] B) a[2][4]
C) a[1][3] D) a[1][5]
30、当接受用户输入的含有空格的字符串时,应使用________函数.
A) gets( ) B) getchar( )
C) scanf( ) D) printf( )
31、以下程序执行时输入Language Programming<回车>,输出结果是________.
#include <stdio.h>
void main( )
{ char str[30];
gets(str);
printf("str=%s\n",str);
}
A) Language Programming
B) Language
C) str=Language
D) str=Language Programming
32、以下一维数组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];
33、以下对二维数组a进行正确初始化的是_______.
A) int a[2][3]={ {1,2},{3,4},{5,6} };
B) int a[ ][3]={1,2,3,4,5,6 };
C) int a[2][ ]={1,2,3,4,5,6};
D) int a[2][ ]={ { 1,2},{3,4}};
34、以下关于数组的描述正确的是__________.
A) 数组的大小是固定的,但可以有不同类型的数组元素。
B) 数组的大小是可变的,但所有数组元素的类型必须相同。
C) 数组的大小是固定的,所有数组元素的类型必须相同。
D) 数组的大小是可变的,可以有不同类型的数组元素。
35、以下程序的输出结果是________.
#include<stdio.h>
void main()
{ int a[4][4]={{1,3,5,},{2,4,6},{3,5,7}};
printf("%d%d%d%d\n",a[0][0],a[1][1],a[2][2],a[3][3]);
}
A) 0650 B) 1470
C) 5430 D) 输出值不定
36、以下程序的输出结果是________.
#include <stdio.h>
void main()
{ int a[4][4]={{1,3,5,},{2,4,6},{3,5,7}};
printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);
}
A) 0650 B) 1470
C) 5430 D) 输出值不定
37、已知short int类型变量占用两个字节,若有定义:short int x[10]={0,2,4}; ,则数组x在内存中所占字节数是________.
A) 3 B) 6
C) 10 D) 20
38、在定义int a[5][4]; 之后,对a的引用正确的是._______
A) a[2][4] B) a[1,3]
C) a[4][3] D) a[5][0]
39、以下数组定义中不正确的是_______.
A) int a[2][3];
B) int b[][3]={0,1,2,3};
C) int c[100][100]={0};
D) int a[3][]={{1,2},{1,2,3},{1,2,3,4}};
40、在执行语句: int a[ ][3]={1,2,3,4,5,6}; 后,a[1][0]的值是________.
A) 4 B) 1
C) 2 D) 5
参考答案
1~5 CCBDD
6~10 BDBCB
11~15 DBCCD
16~20 CCDAB
21~25 DCCCB
26~30 DCACA
31~35 DDBCB
36~40 ADCDA