C语言常见复习题选择填空及参考答案文档格式.doc
《C语言常见复习题选择填空及参考答案文档格式.doc》由会员分享,可在线阅读,更多相关《C语言常见复习题选择填空及参考答案文档格式.doc(17页珍藏版)》请在冰点文库上搜索。
x=6;
x+=x-=x*x
A.36B.-60C.60D.-24
10.在C语言中,char型数据在内存中是以()形式存储的。
A.原码B.补码C.ASCII码D.反码
11.以下运算符中优先级最低的算符为(),优先级最高的为()。
A.&
&
B.&
C.|=D.||E.?
:
F.!
=
12.若有运算符>
、*=、<
<
、%、sizeof,则它们按优先级(由低至高)的正确排列顺序为
A.*=<
>
%sizeof
B.<
*=>
C.*=>
<
sizeof%
D.*=>
13.若有以下类型说明语句
charw;
intx;
floaty;
doublez;
则表达式w*x+z-y的结果是()类型。
A.floatB.charC.intD.double
14.若w,x,y,z均为int型变量,则执行下面的语句后,
w=
(1),x=
(2),y=(3),z=(4)。
w=5;
x=4;
y=w++*w++*w++;
z=--x*=--x*--x;
(1)A.8B.7C.6D.24
A.4B.3C.2D.1
A.150B.125C.210D.336
A.64B.1C.6D.24
15.C语言的程序一行写不下时,可以
A.用逗号换行B.用分号换行
C.在任意一空格处换行D.用回车符换行
16.下述标识符中,()是合法的用户标识符。
A.A#CB.getch
C.voidD.ab*
17.在C语言中,字符型数据在内存中是以()形式存放。
A.原码B.BCD
C.反码D.AS
18.()是非法的C语言转义字符。
A.'
\b'
B.'
\0xf'
C.'
\037'
D.'
\'
'
19.语句chars='
\092'
的作用是
A.s包含1个字符B.说明不合法,s的值不定。
C.使s包含4个字符D.使s包含3个字符
20.在C语言中,int,char,和short三种类型数据所占用的内存
A.均为2个字节B.由用户自己定义
C.由所用机器的机器字长决定D.是任意的
21.高性能int类型的数据长度为2个字节,则unsignedint类型数据的取值范围是
A.0~255B.0~65535
C.-32768~32767D.-256~255
22.以下()是不正确的转义字符。
\\'
B.'
081'
D.'
\0'
23.一个C语言的程序是由()组成
A.主程序B.子程序
C.函数 D.过程
24.一个C语言的程序总是从()开始的。
A.主过程B.主函数
C.子程序D.主程序
25.一个C语言的程序是由
A.一个主程序和若干个子程序组成B.函数组成
C.若干过程组成 D.若干子程序组成
26.以下述叙不正确的是
A.一个C源程序可以由一个或多个函数组成
B.一个C源程序必须包含一个main函数
C.C程序的基本组成单位是函数
D.在C程序中注释说明只能位于一条语句的后面
27.C语言中规定:
在一个源程序中main函数的位置
A.必须在最开始B.必须在系统调用的库函数的后面
C.可以任意 D.必须在最后
28.一个C程序的执行是从
A.本程序的main函数开始,到main函数结束
B.本程序文件的第一个函数开始,到本程序的最后一个函数结束
C.本程序的main函数开始,到本程序的最后一个函数结束
D.本程序文件的第一个函数开始,到本程序main函数结束
29.以下述叙正确的是
A.在C程序中,main函数必须位于程序的最前面
B.C程序的每行中只能写一条语句
C.C语言本身没有输入输出语句
D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误
二、填空题
1.将下列给出的常量分别归类到:
整型常量、浮点常量和字符型常量
(1)0x7a
(2)078(3)6a(4)57L
(5)'
m'
(6)"
ab6"
(7)-32(8)3.4,256
(9)0e0 (10).e0(11)-3.1e-5(12)2e0
(13)0.012e003(14)'
\"
(15)'
xy'
(16)"
"
(17)"
\nab\t"
(18)'
(19)'
\07'
2.指出下列标识符中哪些是非法的
(1)a_Char
(2)b22c (3)286pc(4)-am
(5)_7b(6)ab#(7)Max_1(8)__Star
(9)*itm(10)To-2(11)for(12)"
tt"
3.C源程序的基本单位是____。
4.一个C源程序中至少应包含一个_____。
5.在一个C源程序中,注释部分二侧的分界符分别为___和___。
6.在C语言中,输入操作是由库函数____完成的,输出操作是由库函数____完成的。
反馈测试题参考答案:
一、选择题
1、B2.D3.A4.C5.A
6.
(1)A,
(2)C(3)D7.C8.(10C
(2)D(3)A
9.B10.C11.C,F12.D
13.D14.
(1)A,
(2)D,(3)B,(4)B
15.C16.B17.D18.B
19.B20.C21.B22.C
23.C24.B25.B26.D
27.C28.A29.C
1、整型常量有
(1)(4)
浮点型常量有:
(9)(12)(13)(14)
字符型常量有:
(5)(6)(16)(17)(18)(19)(20)
2、非法标识符有:
3)(4)(6)(9)(10)(12)
3、函数
4、主函数
5、
(1)/*
(2)*/
6、
(1)scanf
(2)printf
第二部分C语言基本语法知识
一、选择题
(1)以下叙述中错误的是
A)用户所定义的标识符允许使用关键字
B)用户所定义的标识符应尽量做到“见名知意”
C)用户所定义的标识符必须以字母或下划线开头
D)用户定义的标识符中,大、小写字母代表不同标识
(2)以下叙述中错误的是
A)C语句必须以分号结束
B)复合语句在语法上被看作一条语句
C)空语句出现在任何位置都不会影响程序运行
D)赋值表达式末尾加分号就构成赋值语句
(3)以下不能正确计算代数式值的C语言表达式是
A)1/3*sin(1/2)*sin(1/2)
B)sin(0.5)*sin(0.5)/3
C)pow(sin(0.5),2)/3
D)1/3.0*pow(sin(1.0/2),2)
(4)以下能正确定义且赋初值的语句是
A)intn1=n2=10;
B)charc=32;
C)floatf=f+1.1;
D)doublex=12.3E2.5;
(5)设有定义:
intk=1,m=2;
floatf=7;
,则以下选项中错误的表达式是
A)k=k>
=k B)-k++ C)k%int(f) D)k>
=f>
=m
(6)有以下程序段
intk=0,a=1,b=2,c=3;
k=ac?
c:
k;
执行该程序段后,k的值是
A)3 B)2 C)1 D)0
(7)以下选项中可作为C语言合法常量的是
A)-80.
B)-080
C)-8e1.0
D)-80.0e
(8).以下不能定义为用户标识符的是
A)Main
B)_0
C)_int
D)sizeof
(9)以下选项中,不能作为合法常量的是
A)1.234e04
B)1.234e0.4
C)1.234e+4
D)1.234e0
(10)有以下程序
main()
{intm=12,n=34;
printf("
%d%d"
m++,++n);
%d%d\n"
n++,++m);
}
程序运行后的输出结果是
A)12353514
B)12353513
C)12343514
D)12343513
(11)若整型变量a、b、c、d中的值依次为:
1、4、3、2。
则条件表达式a A)1 B)2 C)3 D)4
(12)下列选项中,不能用作标识符的是
A)_1234_
B)_1_2
C)int_2_
D)2_int_
(13)有以下程序
{intm=3,n=4,x;
x=-m++;
x=x+8/++n;
printf("
%d\n"
x);
程序运行后的输出结果是
A)3 B)5 C)-1 D)-2
(14)以下符合C语言语法的实型常量是
A)1.2E0.5
B)3.14.159E
C).5E-3
D)E15
(15)以下4组用户定义标识符中,全部合法的一组是
A)_main B)If C)txt D)int
enclude-maxREAL k_2
sin turbo3COM_001
(16)若以下选项中的变量已正确定义,则正确的赋值语句是
A)x1=26.8%3
B)1+2=x2
C)x3=0x12
D)x4=1+2=3;
(17)设有以下定义
inta=0;
doubleb=1.25;
charc=’A’;
#defined2
则下面语句中错误的是
A)a++;
B)b++ C)c++;
D)d++;
(18)设有定义:
floata=2,b=4,h=3;
以下C语言表达式与代数式计算结果不相符的是
A)(a+B)*h/2
B)(1/2)*(a+B)*h
C)(a+B)*h*1/2
D)h/2*(a+B)
(19)以下叙述中正确的是
A)C程序中注释部分可以出现在程序中任意合适的地方
B)花括号“{”和“}”只能作为函数体的定界符
C)构成C程序的基本单位是函数,所有函数名都可以由用户命名
D)分号是C语句之间的分隔符,不是语句的一部分
(20)以下选项中可作为C语言合法整数的是
A)10110B B)0386 C)0Xffa D)x2a2
(21)以下不能定义为用户标识符的是
A)scanf B)Void C)_3com_ D)int
(22)设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是
A)x=x*100+0.5/100.0;
B)x=(x*100+0.5)/100.0;
C)x=(int)(x*100+0.5)/100.0;
D)x=(x/100+0.5)*100.0;
(23)下列关于C语言用户标识符的叙述中正确的是
A)用户标识符中可以出现在下划线和中划线(减号)
B)用户标识符中不可以出现中划线,但可以出现下划线
C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头
D)用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头
(24)下列关于单目运算符++、--的叙述中正确的是
A)它们的运算对象可以是任何变量和常量
B)它们的运算对象可以是char型变量和int型变量,但不能是float型变量
C)它们的运算对象可以是int型变量,但不能是double型变量和float型变量
D)它们的运算对象可以是char型变量、int型变量和float型变量
(25)以下选项中合法的实型常数是
A)5E2.0 B)E-3 C).2E0 D)1.3E
(26)以下选项中合法的用户标识符是
A)long B)_2Test C)3Dmax D)A.dat
(27)以下非法的赋值语句是
A)n=(i=2,++i);
B)j++;
C)++(i+1);
D)x=j>
0;
(28)设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是
A)6.500000
B)6
C)5.500000
D)6.000000
(29)与数学式子对应的C语言表达式是
A)3*x^n(2*x-1)
B)3*x**n(2*x-1)
C)3*pow(x,n)*(1/(2*x-1))
D)3*pow(n,x)/(2*x-1)
(30)若有以下程序:
{intk=2,i=2,m;
m=(k+=i*=k);
printf(“%d,%d\n”,m,i);
执行后的输出结果是
A)8,6
B)8,3
C)6,4
D)7,4
(31)以下选项中,与k=n++完全等价的表达式是
A)k=n,n=n+1
B)n=n+1,k=n
C)k=++n
D)k+=n+1
(32)若有定义:
inta=8,b=5,C;
,执行语句C=a/b+0.4;
后,c的值为
A)1.4B)1C)2.0D)2
(33)以下选项中不属于C语言的类型的是
A)signedshortimt
B)unsignedlongint
C)unsignedint
D)longshort
(34)以下叙述正确的是
A)可以把define和if定义为用户标识符
B)可以把define定义为用户标识符,但不能把if定义为用户标识符
C)可以把if定义为用户标识符,但不能把define定义为用户标识符
D)define和if都不能定义为用户标识符
(35)在C语言中,合法的长整型常数是
A)OL
B)4962710
C)324562&
D)216D
(36)以下有4组用户标识符,其中合法的一组是
A)ForB)4dC)f2_G3D)WORD
-subDOIFvoid
CaseSizeabcdefine
(37)假定x和y为double型,则表达式x=2,y=x+3/2的值是
A)3.500000
B)3
C)2.000000
D)3.000000
(38)以下合法的赋值语句是
A)x=y=100
B)d--;
C)x+y;
D)c=int(a+b);
(39)设正x、y均为整型变量,且x=10y=3,则以下语句的输出结果是
pprintf(”%d,%d\n”,x--,--y);
A)10,3
B)9.3
C)9.2
D)10.2
(40)以下程序的输出结果是
{inta=3;
printf(“%d\n”,(a+a-=a*a));
A)–6
B)12
C)0
D)-12
(41)以下所列的C语言常量中,错误的是
A)0xFF
B)1.2e0.5
C)2L
D)‘\72’
(42)下列选项中,合法的C语言关键字是
A)VAR
B)cher
C)integer
D)default
(43)以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是
A)x/y*z
B)x*(1/(y*z))