C语言题库及答案(选择题).doc
- 文档编号:143220
- 上传时间:2023-04-28
- 格式:DOC
- 页数:43
- 大小:229.50KB
C语言题库及答案(选择题).doc
《C语言题库及答案(选择题).doc》由会员分享,可在线阅读,更多相关《C语言题库及答案(选择题).doc(43页珍藏版)》请在冰点文库上搜索。
C语言题库(选择题)
1.C语言源程序的基本单位是()。
A.过程B.函数C.子程序D.标识符
2.下列字符序列中,可用作C标识符的一组字符序列是()。
A.S.b,sum,average,_above
B.class,day,lotus_1,2day
C.#md,&12x,month,student_n!
D.D56,r_1_2,name,_st_1
3.以下标识符中,不能作为合法的C用户定义标识符的是()。
A.a3_b3B.voidC._123D.IF
4.以下数据中,不正确的数值或字符常量是()。
A.0B.5LC.o13D.9861
5.以下数值中,不正确的八进制数或十六进制数是()。
A.0x16B.16C.-16D.0xaaaa
6.以下的选择中,正确的赋值语句是()。
A.a=1,b=2B.j++C.a=b=5;D.y=int(x)
7.以下运算符中,优先级最高的运算符是()。
A.?
:
B.++C.&&D.,
8.在C语言中,能代表逻辑值“真”的是()。
A.TRUEB.大于0的数C.非0整数D.非0的数
9.下列变量说明语句中,正确的是()。
A.char:
abc;B.chara;b;c;C.intx;z;D.intx,z;
10.下列字符序列中,不可用作C语言标识符的是()。
A.b70B.#abC.symbolD.a_1
11.以下不正确的叙述是()。
A.在C程序中所用的变量必须先定义后使用。
B.程序中,APH和aph是两个不同的变量。
C.若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变。
D.当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值。
12.以下标识符中,不能作为合法的C用户定义标识符的是()。
A.ForB.PrintfC.WORDD.sizeof
13.以下标识符中,不能作为合法的C用户定义标识符的是()。
A.answerB.toC.signedD._if
14.以下标识符中,不能作为合法的C用户定义标识符的是()。
A.putcharB._doubleC._123D.INT
15.以下数据中,不正确的数值或字符常量是()。
A.8.9e1.2B.10C.0xff00D.82.5
16.以下数据中,不正确的数值或字符常量是()。
A.cB.66C.0xaaD.50
17.以下运算符中,优先级最高的运算符是()。
A.*=B.>=C.(类型)D.+
18.以下运算符中,优先级最高的运算符是()。
A.||B.%C.!
D.==
19.以下运算符中,优先级最高的运算符是()。
A.=B.!
=C.*(乘号)D.()
20.以下叙述中不正确的是()。
A.一个好的程序应该有详尽的注释
B.在C程序中,赋值运算符的优先级最低
C.在C程序中,j++;是一条赋值语句
D.C程序中的#include和#define均不是C语句
21.设C语言中,int类型数据占2个字节,则long类型数据占()。
A.1个字节B.2个字节C.4个字节D.8个字节
22.设C语言中,int类型数据占2个字节,则short类型数据占()。
A.1个字节B.2个字节C.4个字节D.8个字节
23.C语言中,double类型数据占()。
A.1个字节B.2个字节C.4个字节D.8个字节
24.C语言中,char类型数据占()。
A.1个字节B.2个字节C.4个字节D.8个字节
25.设C语言中,int类型数据占2个字节,则unsigned类型数据占()。
A.1个字节B.2个字节C.4个字节D.8个字节
26.下列程序的输出结果是()。
main()
{charc1=97,c2=98;
printf("%d%c",c1,c2);
}
A.9798B.97bC.a98D.ab
27.执行下列语句后变量x和y的值是()。
y=10;x=y++;
A.x=10,y=10B.x=11,y=11C.x=10,y=11D.x=11,y=10
28.下列数据中,为字符串常量的是()。
A.AB."house"C.Howdoyoudo.D.$abc
29.先用语句定义字符型变量c,然后要将字符a赋给c,则下列语句中正确的是
A.c='a';B.c="a";C.c="97";D.C='97'
30.下列语句的结果是()。
main()
{intj;
j=3;
printf("%d,",++j);
printf("%d",j++);
}
A.3,3B.3,4C.4,3D.4,4
31.设a=12,且a定义为整型变量。
执行语句a+=a-=a*=a;后a的值为()。
A.12B.144C.0D.132
32.已知year为整型变量,不能使表达式(year%4==0&&year%100!
=0)||year%400==0的值为“真”的数据是()。
A.1990B.1992C.1996D.2000
33.下列运算符中,不属于关系运算符的是()。
A.< B.> C.>=D.!
34.假设所有变量均为整型,表达式:
a=2,b=5,a>b?
a++:
b++,a+b的值是()。
A.7B.8C.9D.2
35.以下不符合C语言语法的赋值语句是()。
A.a=1,b=2B.++j;C.a=b=5;D.y=(a=3,6*5);
36.以下不符合C语言语法的语句是()。
A.j++;B.j=j=5;C.k=2*4,k*4;D.y=float(j);
37.执行下列程序后,其输出结果是()。
main()
{inta=9;
a+=a-=a+a;
printf("%d\n",a);
}
A.18B.9C.-18D.-9
38.下列语句的输出结果是()。
printf("%d\n",(int)(2.5+3.0)/3);
A.有语法错误不能通过编译B.2C.1D.0
39.下列程序的输出结果是()。
main()
{inta=7,b=5;
printf("%d\n",b=b/a);
}
A.0B.5C.1D.不确定值
40.下列程序的输出结果是()。
main()
{inta=011;
printf("%d\n",++a);
}
A.12B.11C.10D.9
41.下列程序的输出结果是()。
main()
{
printf("%d\n",null);
}
A.0B.变量无定义C.-1D.1
42.若int类型数据占两个字节,则下列语句的输出为()。
intk=-1;printf("%d,%u\n",k,k);
A.-1,-1B.-132,767C.-132,768D.-165,535
43.若k,g均为int型变量,则下列语句的输出为()。
k=017;g=111;printf("%d\t",++k);printf("%x\n",g++);
A.156fB.1670C.1571D.166f
44.若k为int型变量,则以下程序段的执行结果是()。
k=-8567;printf("|%06D|\n",k);
A.格式描述符不合法,输出无定值
B.输出为|%06D|
C.输出为|0-8567|
D.输出为|-8567|
45.若ch为char型变量,k为int型变量(已知字符a的ASCII十进制代码为97),
则以下程序段的执行结果是()。
ch='a';k=12;printf("%x,%o,",ch,ch,k);printf("k=%%d\n",k);
A.因变量类型与格式描述符的类型不匹配,输出无定值
B.输出项与格式描述符个数不符,输出为零值或不定值
C.61,141,k=%d
D.61,141,k=%12
46.若有以下定义:
chars='\092';则该语句()。
A.使s的值包含1个字符
B.定义不合法,s的值不确定
C.使s的值包含4个字符
D.使s的值包含3个字符
47.若a是float型变量,b是unsigned型变量,以下输入语句中合法的是()。
A.scanf("%6.2f%d",&a,&b);B.scanf("%f%n",&a,&b);
C.scanf("%f%3o",&a,&b);D.scanf("%f%f",&a,&b);
48.已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为()。
chara='a';a--;
printf("%d,%c\n",a+'2'-'0',a+'3'-'0');
A.b,cB.a--运算不合法,故有语法错
C.98,cD.格式描述和输出项不匹配,输出无定值
49.下列程序的输出结果为()。
main()
{intm=7,n=4;
floata=38.4,b=6.4,x;
x=m/2+n*a/b+1/2;
printf("%f\n",x);
}
A.27B.27.5C.28D.28.5
50.若给定条件表达式(M)?
(a++):
(a--),则其中表达式M()。
A.和(M==0)等价B.和(M==1)等价C.和(M!
=0)等价D.和(M!
=1)等价
51.以下程序的输出结果是()。
main()
{inti,j,k,a=3,b=2;
i=(--a==b++)?
--a:
++b;
j=a++;k=b;
printf("i=%d,j=%d,k=%d\n",i,j,k);
}
A.i=2,j=1,k=3B.i=1,j=1,k=2C.i=4,j=2,k=4D.i=1,j=1,k=3
52.a,b为整型变量,二者均不为0,以下关系表达式中恒成立的是()。
A.a*b/a*b==1B.a/b*b/a==1C.a/b*b+a%b==aD.a/b*b==a
53.为了提高程序的运行速度,在函数中对于整型或指针可以使用()型的变量。
A.autoB.registerC.staticD.extern
54.以下程序的输出结果为()。
main()
{inti=010,j=10;
printf("%d,%d\n",++i,j--);
}
A.11,10B.9,10C.010,9D.10,9
55.C语言中以下几种运算符的优先次序()的排列是正确的。
A.由高到低为:
!
&&,||,算术运算符,赋值运算符
B.由高到低为:
!
算术运算符,关系运算符,&&,||,赋值运算符
C.由高到低为:
算术运算符,关系运算符,赋值运算符,!
&&,||
D.由高到低为:
算术运算符,关系运算符,!
&&,||,赋值运算符
56.设a为整型变量,初值为12,执行完语句a+=a-=a*a后,a的值是()。
A.552B.144C.264D.-264
57.在TC运行环境中经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在微机上的值分别为()。
charx=65;
floaty=7.3;
inta=100;
doubleb=4.5;
A.2,2,2,4B.1,2,2,4C.1,4,2,8D.2,4,2,8
58.用下列语句定义a,b,c,然后执行b=a、c='b'+b,则b,c的值是()。
longa=0xffffff;
intb;charc;
A.0ffffff和0x61B.-1和98C.-1和97D.指向同一地址
59.执行下列语句后,a和b的值分别为()。
inta,b;
a=1+'a';
b=2+7%-4-'A';
A.-63,-64B.98,-60C.1,-60D.79,78
60.C语言中要求对变量作强制定义的主要理由是()。
A.便于移植B.便于写文件
C.便于编辑预处理程序的处理D.便于确定类型和分配空间
61.以下程序的输出结果是()。
main()
{floatx=3.6;
inti;
i=(int)x;
printf("x=%f,i=%d\n",x,i);
}
A.x=3.600000,i=4B.x=3,i=3C.x=3.600000,i=3D.x=3i=3.600000
62.经过以下语句定义后,表达式z+=x>y?
++x:
++y的值为()。
intx=1,y=2,z=3;
A.2B.3C.6D.5
63.以下程序的运行结果是()。
main()
{
inti=1,sum=0;
while(i<10)sum=sum+1;i++;
printf("i=%d,sum=%d",i,sum);
}
A.i=10,sum=9B.i=9,sum=9C.i=2,sum=1D.运行出现错误
64.以下程序的运行结果是()。
main()
{intn;
for(n=1;n<=10;n++)
{
if(n%3==0)continue;
printf("%d",n);
}
}
A.12457810B.369C.12D.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--;
elseif(k2)x=4;
elsex=3;
A.14B.4C.15D.3
68.执行下列语句后的输出为()。
intj=-1;
if(j<=1)printf("****\n");
elseprintf("%%%%\n");
A.****B.%%%%C.%%%%cD.有错,执行不正确
69.下列程序的输出结果是()。
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{
case1:
switch(y)
{
case0:
a++;break;
case1:
b++;break;
}
case2:
a++;b++;break;
case3:
a++;b++;break;
}
printf("a=%d,b=%d\n",a,b);
}
A.a=1,b=0B.a=2,b=1C.a=1,b=1D.a=2,b=2
70.在C语言中,为了结束由while语句构成的循环,while后一对圆括号中表达式的值应该为()。
A.0B.1C.TRUED.非0
71.下列程序的输出为()。
main()
{inty=10;
while(y--);
printf("y=%d\n",y);
}
A.y=0B.while构成无限循环C.y=1D.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("****\n");()。
A.循环结束的条件不合法
B.是无限循环
C.循环体一次也不执行
D.循环体只执行一次
74.下列数组说明中,正确的是()。
A.intarray[][4];B.intarray[][];C.intarray[][][5];D.intarray[3][];
75.下列数组说明中,正确的是()。
A.staticcharstr[]="China";
B.staticcharstr[];str="China";
C.staticcharstr1[5],str2[]={"China"};str1=str2;
D.staticcharstr1[],str2[];str2={"China"};strcpy(str1,str2);
76.下列定义数组的语句中正确的是()。
A.#definesize10charstr1[size],str2[size+2];
B.charstr[];
C.intnum['10'];
D.intn=5;inta[n][n+2];
77.下列定义数组的语句中不正确的是()。
A.staticinta[2][3]={1,2,3,4,5,6};
B.staticinta[2][3]={{1},{4,5}};
C.staticinta[][3]={{1},{4}};
D.staticinta[][]={{1,2,3},{4,5,6}};
78.下列语句中,不正确的是()。
A.staticchara[2]={1,2};
B.staticinta[2]={'1','2'};
C.staticchara[2]={'1','2','3'};
D.staticchara[2]={'1'};
79.若输入ab,程序运行结果为()。
main()
{staticchara[3];
scanf("%s",a);
printf("%c,%c",a[1],a[2]);
}
A.a,bB.a,C.b,D.程序出错
80.下列说法不正确的是()。
A.主函数main中定义的变量在整个文件或程序中有效
B.不同函数中,可以使用相同名字的变量
C.形式参数是局部变量
D.在一个函数内部,可以在复合语句中定义变量,这些变量只在复合语句中有效
8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 题库 答案 选择题