D.*=><<%sizeof
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.以下()是不正确的转义字符。
A.'\\' B.'\'
C.'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);
printf("%d%d\n",n++,++m);
}
程序运行后的输出结果是
A)
B)
C)
D)
(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)有以下程序
main()
{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)
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)若有以下程序:
main()
{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)以下程序的输出结果是
main()
{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))
C)x/y*1/z
D)x/y/z
(44)若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是
A)-3
B)9
C)-12
D)6
(45)若变量已正确定义并赋值,下面符合C语言语法的表达式是
A)a:
=b+1
B)a=b=c+2
C)int18.5%3
D)a=a+7=c+b
(46)C语言中运算对象必须是整型的运算符是
A)%=
B)/
C)=
D)〈=
(47)若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是
A)1B)2C)2.0D)2.5
(48)若变量a、iI已正确定义,且i已正确赋值,合法的语句是
A)a==1B)++i;C)a=a++=5;D)a=int(i);
(49)若有以下程序段,
intc1=1,c2=2,c3;
c3=1.0/c2*c1;
则执行后,c3中的值是
A)0B)0.5C)1D)2
(50)设有intx=11;则表达式(x++*1/3)的值是
A)3 B)4C)11D)12
(51)下列程序的输出结果是
A)3 B)3.2C)0D)3.07
main()
{doubled=3.2;intx,y;
x=1.2;y=(x+3.8)/5.0;
printf("%d\n",d*y);
}
(52)下列变量定义中合法的是
A)short_a=1-.le-1;
B)doubleb=1+5e2.5;
C)longdo=0xfdaL;
D)float2_and=1-e-3;
(53)以下选项中属于C语言的数据类型是
A)复数型
B)逻辑型
C)双精度型
D)集合型
(54)在C语言中,不正确的int类型的常数是
A)32768
B)0
C)037
D)0xAF
(55)设x、y、z和k都是int型变量,则执行表达式:
x=(y=4,z=16,k=32)后,x的值为
A)4B)16C)32D)52
(56)设有如下的变量定义:
inti=8,k,a,b;
unsignedlongw=5;
doublex=1,42,y=5.2;
则以下符合C语言语法的表达式是
A)a+=a-=(b=4)*(a=3)
B)x%(-3);
C)a=a*3=2
D)y=float(i)
(57)假定有以下变量定义:
intk=7,x=12;
则能使值为3的表达式是
A)x%=(k%=5)B)x%=(k-k%5)C)x%=k-k%5D)(x%=k)-(k%=5)
(58)设x和y均为int型变量,则以下语句:
x+=y,y=x-y;x-=y;的功能是
A)把x和y按从大到小排列
B)把x和y按从小到大排列
C)无确定结果
D)交换x和y中的值
(59)以下程序的输出结果是
A)1010 B)1212 C)1110 D)1113
main()
{inta=12,b=12;
printf("%d,%d\n",--a,++b);
}
(60)在C语言提供的合法的关键字是
A)swicth B)cher C)CaseD)default
(61)若已定义x和y为double类型,则表达式:
x=1,y=x+3/2的值是
A)1 B)2 C)2.0 D)2.5
(62)C语言提供的合法的数据类型关键字是
A)Double B)short C)integerD)Char
(63)在C语言中,合法的长整型常数是
A)0L
B)4962710
C)0.0
D)2.1869e10
(64)若有说明和语句:
inta=5;
a++;
此处表达式a++的值是
A)7B)6C)5D)4
(65)C语言中最简单的数据类型包括
A)整型、实型、逻辑型
B)整型、实型、字符