发布时间 : 星期日 文章C语言题库及答案(选择题)更新完毕开始阅读3550cd2faaea998fcc220e9c
A.i=2,j=1,k=3 B.i=1,j=1,k=2 C.i=4,j=2,k=4 D.i=1,j=1,k=3 52.a,b为整型变量,二者均不为0,以下关系表达式中恒成立的是()。
A.a*b/a*b==1 B.a/b*b/a==1 C.a/b*b+a%b==a D.a/b*b==a 53.为了提高程序的运行速度,在函数中对于整型或指针可以使用()型的变量。 A.auto B.register C.static D.extern 54.以下程序的输出结果为()。 main()
{int i=010,j=10;
printf(\}
A.11,10 B.9,10 C.010,9 D.10,9 55.C 语言中以下几种运算符的优先次序()的排列是正确的。 A.由高到低为:!,&&,||,算术运算符,赋值运算符
B.由高到低为:!,算术运算符,关系运算符,&&,||,赋值运算符 C.由高到低为:算术运算符,关系运算符,赋值运算符,!,&&,|| D.由高到低为:算术运算符,关系运算符,!,&&,||,赋值运算符
56.设a为整型变量,初值为12,执行完语句a+=a-=a*a后,a的值是()。 A.552 B.144 C.264 D.-264
57.在TC运行环境中经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在微机上的值分别为()。 char x=65; float y=7.3; int a=100; double b=4.5;
A.2,2,2,4 B.1,2,2,4 C.1,4,2,8 D.2,4,2,8 58.用下列语句定义a,b,c,然后执行b=a、c='b'+b,则b,c的值是()。 long a=0xffffff; int b; char c;
A.0ffffff 和0x61 B.-1和98 C.-1和97 D.指向同一地址 59.执行下列语句后,a和b的值分别为()。 int a,b; a=1+'a';
b=2+7%-4-'A';
A.-63,-64 B.98,-60 C.1,-60 D.79,78 60.C语言中要求对变量作强制定义的主要理由是()。
A.便于移植 B.便于写文件
C.便于编辑预处理程序的处理 D.便于确定类型和分配空间 61.以下程序的输出结果是()。 main()
{float x=3.6; int i; i=(int)x;
printf(\}
- 5 -
A.x=3.600000,i=4 B.x=3,i=3 C.x=3.600000,i=3 D.x=3 i=3.600000 62.经过以下语句定义后,表达式z+=x>y?++x:++y的值为()。 int x=1,y=2,z=3;
A.2 B.3 C.6 D.5 63.以下程序的运行结果是()。 main() {
int i=1,sum=0;
while(i<10) sum=sum+1;i++; printf(\}
A.i=10,sum=9 B.i=9,sum=9 C.i=2,sum=1 D.运行出现错误 64.以下程序的运行结果是()。 main() { int n;
for(n=1;n<=10;n++) {
if(n%3==0) continue; printf(\ } }
A.12457810 B.369 C.12 D.1234567890
65.在C语言中,if语句后的一对原括号中,用以决定分支的流程的表达式()。 A.只能用逻辑表达式 B.只能用关系表达式
C.只能用逻辑表达式或关系表达式 D.可用任意表达式
66.在以下给出的表达式中,与 do--while(E)语句中的(E)不等价的表达式是()。 A.(!E==0) B.(E>0||E<0) C.(E==0) D.(E!=0) 67.假定所有变量均已正确定义,下列程序段运行后x的值是()。 k1=1; k2=2; k3=3; x=15;
if(!k1) x--;
else if(k2) x=4; else x=3;
A.14 B.4 C.15 D.3 68.执行下列语句后的输出为()。 int j=-1;
if(j<=1) printf(\ else printf(\
A.**** B.%%%% C.%%%%c D.有错,执行不正确 69.下列程序的输出结果是()。
- 6 -
main()
{ int x=1,y=0,a=0,b=0; switch(x) {
case 1:switch(y) {
case 0:a++;break; case 1:b++;break; } case 2:a++;b++;break; case 3:a++;b++;break; }
printf(\}
A.a=1,b=0 B.a=2,b=1 C.a=1,b=1 D.a=2,b=2
70.在C语言中,为了结束由while语句构成的循环,while后一对圆括号中表达式的值应该为()。
A.0 B.1 C.TRUE D.非0 71.下列程序的输出为()。 main()
{ int y=10; while(y--);
printf(\ }
A.y=0 B.while构成无限循环 C.y=1 D.y=-1 72.C语言的if语句嵌套时,if与else的配对关系是()。 A.每个else总是与它上面的最近的if配对 B.每个else总是与最外层的if配对 C.每个else与if的配对是任意的 D.每个else总是与它上面的if配对
73.设j和k都是int类型,则for循环语句 for(j=0,k=-1;k=1;j++,k++) printf(\()。 A.循环结束的条件不合法 B.是无限循环
C.循环体一次也不执行 D.循环体只执行一次
74.下列数组说明中,正确的是()。
A.int array[][4]; B.int array[][]; C.int array[][][5]; D.int array[3][]; 75.下列数组说明中,正确的是()。 A.static char str[]=\B.static char str[]; str=\
C.static char str1[5],str2[]={\
D.static char str1[],str2[];str2={\76.下列定义数组的语句中正确的是()。
- 7 -
A.#define size 10 char str1[size],str2[size+2]; B.char str[]; C.int num['10'];
D.int n=5; int a[n][n+2];
77.下列定义数组的语句中不正确的是()。 A.static int a[2][3]={1,2,3,4,5,6}; B.static int a[2][3]={{1},{4,5}}; C.static int a[][3]={{1},{4}};
D.static int a[][]={{1,2,3},{4,5,6}}; 78.下列语句中,不正确的是()。 A.static char a[2]={1,2}; B.static int a[2]={'1','2'}; C.static char a[2]={'1','2','3'}; D.static char a[2]={'1'};
79.若输入ab,程序运行结果为()。 main()
{ static char a[3]; scanf(\
printf(\ }
A.a,b B.a, C.b, D.程序出错 80.下列说法不正确的是()。
A.主函数main中定义的变量在整个文件或程序中有效 B.不同函数中,可以使用相同名字的变量 C.形式参数是局部变量
D.在一个函数内部,可以在复合语句中定义变量,这些变量只在复合语句中有效 81.关于return语句,下列正确的说法是()。 A.不能在主函数中出现且在其他函数中均可出现 B.必须在每个函数中出现
C.可以在同一个函数中出现多次
D.只能在除主函数之外的函数中出现一次
82.在C语言的函数中,下列正确的说法是()。 A.必须有形参
B.形参必须是变量名 C.可以有也可以没有形参 D.数组名不能作形参 83.在C语言程序中()。
A.函数的定义可以嵌套,但函数的调用不可以嵌套 B.函数的定义不可以嵌套,但函数的调用可以嵌套 C.函数的定义和函数调用均可以嵌套 D.函数的定义和函数调用不可以嵌套 84.C语言执行程序的开始执行点是()。 A.程序中第一条可以执行语言 B.程序中第一个函数
- 8 -