《C语言程序设计》试题库
一、选择题(共250个,每题2分)
1、一个c语言程序的执行是从( ) A、本程序的main函数开始,到main函数结束
B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 2、一个c语言程序是由( )
A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子函数组成 3、以下选项中是正确的整型常量是( )
A、12. B、 -20 C、 1,000 D、 4 5 6 4、以下选项中正确的实型常量是( )
A、0 B、 3. 1415 C、 0.329*10^2 D、.871 5、以下选项中不合法的实型常量是( )
A、 2.607E-1 B、0.8103*12 C、-77.77 D、456e-2 6、以下选项中不合法的字符串是( )
A、’abc’ B、”12’12” C、 “0” D、” ” 7、下面正确的字符常量是( )
A、”c” B、 ‘\\\\’’ C、 ‘w’ D、 ‘’ 8、以下选项中不合法的用户标识符是( )
A、 abc.c B、file C、Main D、PRINTF
9、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( )
A、必须为字母 B、 必须为下划线 C、必须为字母或下划线 D、可以是字母、数字和下划线中任意一种字符 10、以下选项中不合法的用户标识符是 ( )
A、_123 B、 printf C、 A$ D、 Dim 11、c语言中运算对象必须是整型的运算符是( )
A、% B、 / C、 ! D、 **
12、可在C程序中用作用户标识符的一组标识符是( )
A、nt B、 as-b3 C、 Fir D、 2c define -123 _bc DO WORD if name SIG
13、若变量已正确定义并赋值,符合C语言语法的表达式是( )
A、 a=a+7; B、a=7+b+c,a++ C、 int(12.3%4) D、 a=a+7=c+b 14、若a,b,c,d都是int类型变量且初值为0,以下选项中不正确的赋值语句是( )
A、a=b=c=100; B、d++; C、c+b; D、d=(c=22)-(b++); 15、若x、i、j和k都是int变量,则计算下面表达式后,x的值是( )
x=(i=4,j=16,k=32)
A、4 B、16 C、32 D、 52
16、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( )
A、7 B、8 C、 6 D、 2
17、若有代数表达式a.b,则正确的c语言表达式是( )
A、a^*b^ B、pow(a,2).pow(b,2) C、a*a.b*b D、(a*a)*(b*b) 18、若有代数表达式
22
3ae,则不正确的c语言表达式是( ) bcA、a/b/c*e*3 B、3*a*e /b/c C、3*a*e /b*c D、a*e/c /b *3 19、 若有定义:int a=8,b=5,c;执行语句c=a/b+0.4;后,c的值为( )。
A、1.4 B、1 C、2.0 D、2 20、char型数据在内存中的存储形式是( )
A、补码 B、反码 C、原码 D、ASCII码
21、设变量a是整型,f是实型,i是双精度,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定
22、 若有定义:int a=7;flaot x=2.5,y=4.7;;则表达式x+a%3*(int)(x+y)%2/4的值是( )。
A、2.500000 B、2.750000 C、3.500000 D、0.000000
23、 若变量a是int类型,并执行了语句:a=’A’+1.6;则正确的叙述是( )。
A、a的值是字符C B、a的值是浮点型
C、不允许字符型和浮点型相加 D、a的值是字符’A’的ASCII值加上1 24.、以下选项中合法的字符常量是( )。
A、“B” B、’\\ 010’ C、68 D、D 25、以下选项中不是C语句的是( )
A、{int i;i++;printf(“%d\\n”,i);} B、; C、 a=5,c=10 D、 {;} 26、以下合法的C语言赋值语句是( )
A、a=b=58 B、 k=int(a+b) C、 a=58, b=58 D、 --i; 27、以下程序的输出结果是( )
A、0 B、1 C、3 D、不确定的值 main () {int x=10,y=3;
printf(“%d\\n”,y=x/y); }
28、设c语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为( ) A、0~255 B、0~32767 C、0~65535 D、0~2147483647
29、若变量已正确定义为int类型,要给a、b、c输入数据,以下正确的输入语句是( )
A、read(a,b,c);
B、scanf(“%d%d%d”a,b,c); C、 scanf(“%D%D%D”,&a,&b,&c); D、scanf(“%d%d%d”,&a,&b,&c);
30、若变量已正确定义为float类型,要通过赋值语句scanf(“%f%f%f”,&a,&b,&c)给A赋值10,B赋
予22,C,赋予33,以下不正确的输入形式是( )
A、 10 B、10.0,22.0,33.0 C、10.0 D、10 22
22 22.0 33.0 33
33
31、设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为( ) A、float B、 char C、int D、 double
32、若变量已正确定义,要将a和b中的数进行交换,下面选项中不正确的是( )
A、a=a+b,b=a-b,a=a-b; B、t=a,a=b,b=t; C、a=t;t=b;b=a; D、t=b;b=a;a=t; 33、若变量已正确定义,以下程序段的输出结果是( )
A、输出格式说明与输出项不匹配,输出无定值 B、5.170000 C、5.168000 D、5.169000 x=5.16894;
printf(“%f\\n”,(int)(x*1000+0.5)/(float)1000); 34、若有以下程序段,c3的值是( )
A、0 B、1/2 C、0.5 D、1 int c1=1,c2=2,c3; c3=c1/c2;
35、若有以下程序段,其输出结果是( )
A、 0,0,-10 B、0,0,5 C、-10,3,-10 D、3,3,-10 int a=0,b=0,c=0; c=(a-=a-5),(a=b,b+3); printf(“%d,%d,%d\\n”,a,b,c);
36、若已知变量的类型说明如下:int k,a,b; unsinged long w=5; double x=1.42;则以下不符合c语言
的表达式是( )
A、x%(-3) B、w+=-2 C、k=(a=2,b=3,a+b) D、a+=a-=(b=4)*(a=3) 37、以下程序的输出结果是( )
A、a=%2, b=%f B、a=2,b=5 C、a=%%d,b=%%d D、a=%d,b=%d main()
{ int a=2,b=3;
printf(“a=%%d,b=%%d\\n”,a,b); }
38、 若int 类型占两个字节,则以下程序段的输出是( )
A、 –1,-1 B、 –1,32767 C、 –1,32768 D、 –1,65535 int a=-1;
printf(“%d,%u\\n”,a,a);
39、下列运算符中优先级最高的运算符是( )
A、! B、% C、-= D、&&
40、下列运算符中优先级最低运算符是( )
A、|| B、!= C、〈= D、+
41、为表示关系 x≥y≥z, 应使用的C语言表达式是( )
A、 (x>=y)&&(y>=z) B、(x>=y)AND(y>=z) C、 (x>=y>=z) D、(x>=y)&(y>=z)
42、若有以下定义,则能使值为3的表达式是( ) int k=7,x=12;
A、x%=k-k%5) B、x%=(k%=5) C、 x%=(k-k%5) D、(x%=k)-(k%=5)
43、 设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)
运算后,n的值为( )。
A、0 B、1 C、2 D、3 44、 假定w、x、y、z、m均为int型变量,有如下程序段: w=1; x=2; y=3; z=4; m=(w