第一章 C语言基础知识
一、 选择题:
1.下列关于C语言用户标识符的叙述中正确的是( 
A)用户标识符中可以出现下划线和中划线(减号)
B)用户标识符中不可以出现中划线,但可以出现下划线
C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头
D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头
2.①下列选项中,不能用作标识符的是( 
A_1234_         B_1_2             Cint_2_         D2_int_
②以下选项中合法的用户标识符是( 
Along          B_2Test          C3Dmax          DA.dat
③以下不能定义为用户标识符的是( 
Ascanf            BVoid            C_3com_        Dint
3.可用作C语言用户标识符的一组标识符( 
Avoid  define  WORD      Ba3_b3  _123  IF      CFor  -abc  Case
D2a    DO    sigeof      Ef2_G3    IF    abc 
4.以下4组用户定义标识符中,全部合法的一组是( 
A_main            BIf            Ctxt            Dint
enclude          -max              REAL              k_2
sin              turbo              3COM              _001
5.以下叙述正确的是( 
A)可以把defineif定义为用户标识符
B)可以把define定义为用户标识符,但不能把if定义为用户标识符
C)可以把if定义为用户标识符,但不能把define定义为用户标识符
Ddefineif都不能定义为用户标识符
6.如果下面的变量都是int类型,则输出结果是( 
main(){ int sum=pad=5pAd=sum++pAd++++pAdprintf(%d\n”,pad)}
A7              B6              C5              D4
7C语言中最简单的数据类型包括( 
A)整型、实型、逻辑型              B)整型、实型、字符型 
C)整型、字符型、逻辑型            D)整型、实型、逻辑型、字符型
8.以下选项中属于C语言的数据类型的是( 
A)复数型          B)逻辑型          C)双精度型      D)集合型
9.下列叙述中正确的是( 
AC语言中既有逻辑类型也有集合类型      BC语言中没有逻辑类型但有集合类型
CC语言中有逻辑类型但没有集合类型      DC语言中既没有逻辑类型也没有集合类型
10.C语言提供的合法的数据类型关键字是(  )(  )( 
ADouble      Bshort          Cinteger          DChar
Aswicth      Bcher          CCase          Ddefault
AVAR          Bcher          Cinteger          Ddefault
11.以下选项中不属于C语言类型的是( 
Asigned short int  Bunsigned long int  Cunsigned int  Dlong short
12.若有以下定义:char aint bfloat cdouble d;则表达式a*b+d-c值的类型为( 
Afloat          Bint              Cchar          Ddouble
13.sizeof(double)是( 
A)一种函数调用 B)一个双精度型表达式 C)一个整型表达式 D)一个不合法的表达式
14.
①在C语言中,不合法的整型常数是( 
A32768          B0              C037              D0xAF
②以下选项中可作为C语言合法整数的是( 
A10110B        B0386            C0Xffa            Dx2a2
15.C语言中,合法的长整型常数是( 
A0L      B4962710  C0.054838743    D2.1869e10    E324562&    F216D
16.C语言中,合法的实型常数是(  )( 
A5E2.0          BE-3              C.2E0          D1.3E
A1.2E0.5        B3.14159E        C.5E-3            DE15
17.16C编译系统中,若定义long a;能给a40000的正确语句( 
Aa=20000+20000 Ba=4000*10 Ca=30000+10000 Da=4000L*10L
18.下列变量定义中合法的是( 
Ashort _a=1-.1e-1              Bdouble b=1+5e2.5 
Clong do=0xfdal                Dfloat 2_and=1-e-3
19.C语言中,运算对象必须是整型数的运算符是(  )(  )( 
A%              B/              C<              D!
A%              B\              C%\          D**
A%=          B/              C=              D<=
20.ab均为double型变量,a=5.5,b=2.5,则表达式(int)a+b/b
的值是( 
A6.500000      B6              C5.500000      D6.000000
21.下列关于单目运算符++--的叙述中正确的是( 
A)它们的运算对象可以是任何变量和常量
B)它们的运算对象可以是char型变量和int型变量,但不能是float型变量
C)它们的运算对象可以是int型变量,但不能是double型变量和float型变量
D)它们的运算对象可以是char型变量、int型变量和float型变量
22.以下程序的输出结果是(  )(  )(  )(  )( 
1 main(){ int i=10,j=1printf(%d,%d\n,i--++j)}
2 main(){ int x=10,y=10printf(%d %d\n,x----y)}
3 main(){ int a=12,b=12printf(%d%d\n,--a++b)}
4 main(){ int i=010j=10printf(%d%d\n”,++ij--)}
5 main(){ int x=023printf(%d\n,--x)}
A9,2          B10,2          C9,1              D10,1
A10 10          B9 9              C9 10          D10 9
A10 10          B12 12          C11 10          D11 13
A1110      B9c语言培训班推荐,10          C0109          D109
A17            B18              C23              D24
23.设有int x=11;则表达式(x++*1/3)的值是( 
A3              B4              C11              D12
24.设有以下定义,则下面语句中错误的是( 
int a=0double b=1.25char c=A’;
#define d  2
Aa++            Bb++            Cc++            Dd++
25.有以下程序,程序运行后的输出结果是( 
main()
{int m=3,n=4,x
x=-m++x=x+8/++nprintf(%d\n,x)}
A3             B5             C-1             D-2
26.以下选项中,k=n++完全等价的表达式是( 
Ak=n,n=n+1      Bn=n+1,k=n      Ck=++n          Dk+=n+1
27.以下程序的输出结果是( 
main(){ int x=10,y=3printf(%d\n,y=x/y)}
A0              B1              C3              D)不确定的值
28.若有以下程序段,执行后c3中的值是( 
int c1=1,c2=2,c3c3=1.0/c2*c1
A0              B0.5              C1              D2
29.若有定义:int a=8,b=5,c;执行语句c=a/b+0.4;后,c的值为( 
A1.4              B1              C2.0              D2
30.若已定义xydouble类型,则表达式x=1,y=x+3/2的值是(  ,则表达式x=2,y=x+3/2的值是( 
A1    B2            C2.0        D2.5        E3.5        F3            G3.0
31.以下程序的输出结果是( 
main()
{double d=3.2int x,y
x=1.2y=(x+3.8)/5.0printf(%d\n,d*y)}
A3              B3.2              C0              D3.07
32.
①设有语句:int a=3;则执行了语句a+=a-=a*a;后,变量a的值是( 
②设有语句:int a=12;则执行了语句a+=a-=a*a;后,变量a的值是( 
③设有语句:int x=10;则执行了语句x+=x-=x-x;后,变量x的值是( 
④设有语句:int a=5;则执行了语句a*=a/=a++;后,变量a的值是( 
A3              B0              C9              D-12
A552          B264              C144              D-264
A10          B20              C40              D30 
A2            B1                C40            D3
33.以下程序的输出结果是( 
main()
{int k=2,i=2,m
m=(k+=i*=k)printf(%d,%d\n,m,i)
A8,6              B8,3              C6,4              D7,4
34.假定有以下变量定义:int k=7,x=12;则能使值为3的表达式是( 
Ax%=(k%=5)      Bx%=(k-k%5)      Cx%=k-k%5      D(x%=k)-(k%=5)
35.xy均为int,则以下语句:x+=yy=x-yx-=y;的功能( 
A)把xy按从大到小排列          B)把xy按从小到大排列 
C)无确定结果                    D)交换xy中的值
36.设有如下程序段, 则以下叙述中正确的是( 
main(){ int x=2002,y=2003printf(%d\n,(x,y))}
A) 输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B) 运行时产生出错信息
C) 输出值为2002
D) 输出值为2003
37.x,y,zk都是int型变量,则执行表达式:x=(y=4,z=16,k=32),x的值为( 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。