第一章C语言基础知识.docx

上传人:b****5 文档编号:7181600 上传时间:2023-01-21 格式:DOCX 页数:36 大小:43.10KB
下载 相关 举报
第一章C语言基础知识.docx_第1页
第1页 / 共36页
第一章C语言基础知识.docx_第2页
第2页 / 共36页
第一章C语言基础知识.docx_第3页
第3页 / 共36页
第一章C语言基础知识.docx_第4页
第4页 / 共36页
第一章C语言基础知识.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

第一章C语言基础知识.docx

《第一章C语言基础知识.docx》由会员分享,可在线阅读,更多相关《第一章C语言基础知识.docx(36页珍藏版)》请在冰豆网上搜索。

第一章C语言基础知识.docx

第一章C语言基础知识

第一章C语言基础知识

一、选择题

1.计算机能直接执行的程序是()

A.源程序B.目标程序C.汇编程序D.可执行程序

2.用户自定义标识符正确的是()

A.3abB.intC.fa2_aD.sin(x)

3.可用于C语言用户标识符的是()

A.void,defineB.2c,DOC.For,-abcD.as_b3,_123

4.下列为C语言保留字的是()

A.realB.longC.pointerD.integer

5.下列不属于保留字的是()

A.defaultB.printfC.structD.unsigned

6.下列用户自定义标识符正确的是()

A.4aB.b_1C.-&D.*p

7.以下正确的C语言自定义标识符是(  )

A._laB.2a_C.doD.a.12

8.合法的用户标识符是()

A.defaultB.#defineC.a+bD.book

9.自定义标识符正确的是()

A.5d_mB.constC.x4yD.book-1

10.以下属于C语言保留字的是(  )

A.fopenB.includeC.getD.unsigned

11.以下选项中,能用作用户标识符的是()

A.voidB.8_8C._0_D.unsigned

12.可以作为自定义标识符的是(  )

A.2B.breakC.m-nD.m_n

13.以下选项中合法的标识符是()

A.1_1B.1―1C._11D.1__

14.以下C语言用户标识符中,不合法的是()

A._1B.AaBcC.a_bD.a--b

15.可以用作C程序标识符的一组是(  )

A.printB.i\amC.PxqD.Cpp

oodbone-halfline#pow

aBc3paiHis.agewhile

16.下列不属于C语言保留字的是()

A.charB.whileC.forD.look

17.C语言的保留字是()

A.defineB.scanfC.doD.include

18.错误的实型常数是()

A..0B.0.E0C.0.0D.0E+0.0

19.以下选项中不能作为C语言合法常量的是()

A.‘cd'B.0.1e+6C."\a"D.‘\011'

20.正确的C语言字符常量是()

A.‘\\’B.‘65’C.“A”D.‘/n’

21.下列不能作为常量的是()

A.0582B.0xa5C.‘\n’D.2.5e-2

22.不属于字符型常量的是()

A.″s″B.‘8’C.‘A’D.‘\n’

23.在C语言中,错误的int类型的常数是(  )

A.1E5B.0C.037D.0xaf

24.在C语言中,错误的常数表示是( )

A.0LB.-0x6aC.′6′D.1.234E3.5

25.以下选项中,能用作数据常量的是()

A.o115B.0118C.1.5e1.5D.115L

26.在C语言中,′a′和″a″存储所占用的字节数分别是(  )

A.1,1B.1,2C.2,1D.2,2

27.正确的变量定义是(  )

A.longd=1000L;B.floatm1=m2=10.0;

C.charc1=‘A’,c2=A;D.doublefor=0.618;

28.表达式的值为0的是(   )

A.5/5%5B.5>2C.!

4D.0x7&&7

29.主函数头中的“main”是()

A.常量名B.函数名C.变量名D.类型名

30.下列运算符中优先级最高的是()

A.?

B.&&C.

D.!

31.下列运算符的操作数必须是整型的是()

A./B.!

C.%D.=

32.下列转义字符中,错误的是()

A.′\n′B.′\\′C.′\108′D.′\xbb′

33.在C语言中,整型常量的书写形式不包括()

A.二进制B.八进制C.十进制D.十六进制

34.以下选项中正确的定义语句是()

A.doublea;b;B.doublea=b=7;

C.doublea=7,b=7;D.double,a,b;

35.设有定义:

intx=2;,以下表达式中,值不为6的是()

A.x*=x+1B.x++,2*xC.x*=(1+x)D.2*x,x+=2

36.以下关于C语言数据类型使用的叙述中错误的是()

A.若要准确无误差的表示自然数,应使用整数类型

B.若要保存带有多位小数的数据,应使用双精度类型

C.若要处理如"人员信息"等含有不同类型的相关数据,应自定义结构体类型

D.若只处理"真"和"假"两种逻辑值,应使用逻辑类型

37.若a是数值类型,则逻辑表达式(a==1)||(a!

=1)的值是()

A.1B.0C.2D.不知道a的值,不能确定

38.若有定义语句:

intx=10;,则表达式x-=x+x的值为()

A.-20B.-10C.0D.10

39.表达式0&&3||4和2&&1的值分别是()

A.4和0B.4和1C.1和0D.1和1

40.设charc=’A’;inti=l,j;,执行j=!

c&&i++;后,i和j的值分别是()

A.1和0B.1和1C.2和0D.2和l

41.设inta;,执行表达式(a=1,2,3),a+1后,a和表达式的值分别是()

A.1和2B.2和3C.3和4D.4和5

42.设inta=0,b=1;,下列语句错误的是()

A.a=b=10;B.a++;C.b+=a;D.(a+b)++;

43.能正确表达数学关系式0≤x<20的C语言表达式是()

A.0<=x<20B.x>=0||x<20C.x>=0&&x<20D.!

(x<=0)&&x<20

44.设doublex=5.168;,执行printf(“%5.3f\n”,(int)(x*10+0.5)/10.0);后的输出结果是()

A.5.218B.5.210C.5.200D.5.168

45.设charch=‘a’;,执行printf(“%d,%c\n”,ch,ch+2);后的输出结果是()

A.97,cB.97,99C.a,cD.a,a+2

46.设inti=8,a,b;doublex=1.42,y=5.2;,正确的表达式是()

A.a+=(b=4)*(a=3)B.a=a*3=2C.x%(-3)+y**3D.y=float(i)

47.表达式:

(int)((double)9/2)-(9)%2的值是()

A、0B、3C、4D、5

48.设chark=’a’;floatj=2.0;,执行k+=5/j;printf(“%c”,k);后,输出结果是()

A.aB.bC.cD.d

49.设charc=′A′;inti=1,j;,执行语句j=!

c&&i++;后,i和j的值分别是()

A.0和1B.1和0C.1和65D.2和66

50.设intx=6;,执行语句x+=x-=x*x;后,x的值是()

A.-60B.0C.6D.36

51.设inti=3,j=3;,表达式i+++j的值是()

A.6B.7C.8D.9

52.设inta=2,b=6,c=8;,表达式(a,b),(c,10)的值是()

A.2B.6C.8D.10

53.下列表达式值为0的是()

A.6%2B.2&&5C.!

2||5D.2||5

54.设inta,b;,则表达式(b=2,a=5,b++,a+b)的值是()

A.2B.5C.7D.8

55.以下关于C语言的叙述中正确的是()

A.C语言中的注释可以夹在变量名或关键字的中间

B.C语言中的变量必须在使用之前进行定义

C.在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致

D.C语言的数值常量中夹带空格不影响常量值的正确表示

56.设函数中有整型变量n,为保证在未赋初值的情况下初值为0,应选择的存储类别是

A.autoB.registerC.staticD.auto或register

57.执行以下程序段后,w的值为()

intw='A',x=14,y=15;

w=((x||y)&&(w<'a'));

A.-1B.NULLC.1D.0

58.若有表达式(w)?

(--x):

(++y),则其中与w等价的表达式是()

A.w==1B.w==0C.w!

=1D.w!

=0

59.设inta=7;floatx=2.5,y=4.7;,则表达式x+3%(int)(x+y)/4的值是()

A.2.75B.3.5C.2.5D.0.0

60.设charcl;,则cl中为小写英文字母字符的正确表达式为()

A.‘a’<=c1=‘z’B.(cl>=‘a’)&&(cl<=‘z’)

C.(cl>=a)&&(c1<=z)D.(‘a’<=c1)||(‘z’>=c1)

61.设staticinta;,执行表达式(a==1)&&(a=-1)&&(a=2)后,a的值是()

A.-1B.0C.1D.2

62.若有定义:

doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是()

A.a=a++,i++;B.i=(a+k)<=(i+k);C.i=a%11;D.i=!

a;

63.main()

{intk=011;printf("%d\n",k++);}程序运行后的输出结果是()

A.12B.11C.10D.9

64.以下叙述中正确的是()

A.C程序的基本组成单位是语句B.C程序中的每一行只能写一条语句

C.简单C语句必须以分号结束D.C语句必须在一行内写完

65.以下不能正确表示代数式

的C语言表达式是()

A.2*a*b/c/dB.a*b/c/d*2C.a/c/d*b*2D.2*a*b/c*d

66.C源程序中不能表示的数制是()

A.二进制B.八进制C.十进制D.十六进制

67.设inta,b;,与a+=b++;等价的是()

A.a=b++;B.a=++b;C.a=a+b++;D.a=a+++b;

68.设inta=l,b=2,c=3;,执行表达式(a>b)&&(c=1)后c的值是()

A.0B.1C.2D.3

69.已知字符‘A’的ASCII码值是65,且charcl=‘A’,c2=‘D’;

则执行语句printf(″%d,%d\n″,cl,c2-2);后的输出结果是()

A.A,DB.A,BC.65,68D.65,66

70.若有下列程序段:

intx=l,y=2;x=x+y;y=x-y;x=x-y;则执行后x和y的值分别为()

A.1和2B.2和2C.2和1D.1和1

71.设inta=3,b=4;,则printf(“%d,%d,”(a,b),(b,a));的输出结果是()

A.3,4B.4,3C.3,4,4,3D.4,3,3,4

72.设intx=2,y=4;,值为非0的表达式是()

A.1/x*yB.1/(x*y)C.1.0/x/yD.1/x/(double)y

73.设inta=2,b=5;,结果为0的表达式是()

A.a%bB.a&&bC.a=bD.a==b

74.设inta=0;错误的语句是()

A.++a;B.a++;C.a=-a;D.(-a)++;

75.设inta=1,b=2,c=3,d=4,f;,执行语句f=(a!

=b)?

c++:

d++;后f的值是()

A.2B.3C.4D.5

76.下列运算符优先级最高的是()

A.+=B.,C.!

D.?

:

77.设inta=1,b=2;,则执行a=b+2,a++,a+b;后a和b的值分别是(  )

A.1和2B.3和2C.4和7D.5和2

78.设inta=2,b=3,c=4;,则表达式a>b&&b

A.-1B.0C.1D.2

79.设inta,x=2;执行语句a=x>0?

3*x:

(x=10);后,变量x的值是(  )

A.1B.2C.6D.10

80.设有以下程序段:

intx=2,y=2,z=0,a;a=++x||++y&&z++;

printf(″%d,%d,%d\n″,x,y,z);执行后输出的结果是(  )

A.2,2,0B.3,3,1C.3,2,0D.3,2,1

81.逗号表达式a=2*6,a*3,a+5的值是(  )

A.12B.17C.36D.41

82.在C语言中,下列运算符中结合性属于自右向左的是(  )

A.&&B.--C.*D.()

83.设intx=10,a=0,b=25;,条件表达式x<1?

a+10︰b的值是(  )

A.0B.1C.10D.25

84.C语言中,下列运算符优先级最高的是(  )

A.!

B.%C.()D.==

85.设有以下程序段:

inta=1,b=10,c=1,x;x=a&&b||++c;

printf(″%d,%d\n″,x,c);执行后输出的结果是(  )

A.0,0B.0,1C.1,0D.1,1

86.在C语言中,运算符″=″和″==″的功能分别是(  )

A.关系运算和赋值运算B.赋值运算和关系运算

C.都是关系运算D.都是赋值运算

87.若main()函数带参数,参数个数最多是(  )

A.0B.1C.2D.3

88.设chara='\70';则变量a中(  )

A.包含1个字符B.包含2个字符C.包含3个字符D.是非法表示

89.设inti=10;,表达式30-i<=i<=9的值是(  )

A.0B.1C.9D.20

90.以下不能看作一条C语句的是(  )

A.{;}B.a=5,b=5,c=5;

C.if(x>=0&&y=0);D.if(x==0)a=5;b=10;

91.下列关于C语言的叙述错误的是()

A.英文字母大小写不加以区分

B.不同类型的变量可以出现在同一个表达式中

C.在赋值表达式中赋值号两边的类型可以不同

D.某些运算符在不同的场合可以有不同的含义

92.下列转义字符中错误的是()

A.′\000′B.′\14′C.′\x111′D.′\2′

93.设floata=2,b=4,c=3;以下C语言表达式与代数式

(a+b)c计算结果不一致的是()

A.(a+b)*c/2B.(1/2)*(a+b)*cC.(a+b)*c*1/2D.c/2*(a+b)

94.设inta=10,b=20,c=30;条件表达式a

a=5∶c的值是()

A.5B.10C.20D.30

95.设inta=9,b=6,c;,执行语句c=a/b+0.8;后c的值是()

A.1B.1.8C.2D.2.3

96.设inta;,则逗号表达式a=2,4,a+1的值是()

A.1B.2C.3D.4

97.设inti;floatf;doubled;longinte;,则表达式10+′a′+i*f-d/e结果的类型是()

A.doubleB.longC.intD.float

98.设inta=0,b=0,m=0,n=0;,则执行(m=a==b)‖(n=b==a)后m和n的值分别是()

A.0,0B.0,1C.1,0D.1,1

二、填空题

1.表达式4&&5+3||1的值是。

2.设intj=5;,则执行语句j+=j-=j*j;后j的值是。

3.设inta,b=2,c=3;执行表达式a=(b>c)?

(b+1):

(c+2),后a的值是_。

4.在C语言中,++运算符的结合性是。

5.表达式(int)((double)(5/2)+2.5)的值是。

6.若有定义语句:

inta=5;,则表达式:

a++的值是_。

7.若有语句doublex=17;inty;,当执行y=(int)(x/5)%2;之后y的值为。

8.表达式3!

=6的值是。

9.设intx=10,y=3;,执行printf(“%d,%d\n",x--,++y);后的输出结果是。

10.设inta,b,c;,表达式a=2,b=5,b++,a+b的值是。

11.设inta=1,b=2,m=2,n=2;,执行表达式(m=a

12.设intx=4,y=2;,表达式x

y:

x++的值是_。

13.设intx=3;,执行语句printf((x%2)?

("**%d\n"):

("##%d\n"),x);后,输出结果是。

14.执行printf(“%d\n”,1+!

2+(3<=4)+5/6+7%8);后的输出结果是。

15.设intm=0;,执行表达式m||(m=2)||(m=3)||(m=4)后,m的值是。

16.设intn;,“n的值能同时被3和5整除”的逻辑表达式是_。

17.设inti;floatf=3.14;,执行i=(int)f;后,变量f的值是。

18.设doublex;,则表达式x=5,(x+5)/2的值是。

19.赋值运算符的结合性是。

20.设charch;,判断ch为数字字符的逻辑表达式是。

21.设intx=14;,则表达式x++%-5的值为。

22.设Charax;,则变量ax占用的内存字节数是。

23.设intx=5;,则表达式2/(float)(x)+3/x的结果是。

24.一个字符型变量所占内存的字节数是。

25.设intx=-9,y;,则执行y=x>=0?

x:

-x;后y的值是。

26.设x为int型变量,请写出一个关系表达式,用以判断x同时为3和7的倍数时,关系表达式的值为真。

27.设inta=10;,则执行语句a+=a-=a+a;后a的值是。

28.设intx=3,y=5;,则执行printf(″%d\n″,x||y);后输出。

29.设inta=2;,则执行a+=a*=15;后,变量a的值是。

30.C语言中,&&作为双目运算符表示的运算是。

31.inta;floatb;charc;longd;doublee;,则表达式a/c-b+d-e值的类型是。

32.设intx=5;x+=x-=x+x;则执行printf(″%d\n″,x);后输出的值是。

33.设inta=0,b=0,c;,则执行c=(a-=b-5),(a=b,b=3);后变量c的值是。

34.设inta=0,b=0,c=2,d=4;,则执行(c=a==b)||(d=b==a);后变量d的值是。

35.设intx;,则将x强制转换为双精度类型应写成。

36.设intx=2,y=1;则表达式x+++y的值是。

37.设inta=-3,b=7,c=-1;则执行(a==0)&&(a=a%b

38.设inta,b,c;则执行a=(b=3,c=5,b=10);后变量a的值是。

第二章输入输出函数

一、选择题

1.设floatx;由键盘输入12.45,能正确读入数据的输入语句是(   )

A.scanf(″%5f″,&x);B.scanf(″%5d″,&x);

C.scanf(″%f″,x);D.scanf(″%s″,&x)

2.设intx;则以下语句中错误的输入是(   )

A.scanf(″%d″,x);B.scanf(″%d″,&x);

C.scanf(″%o″,&x);D.scanf(″%x″,&x);

3.执行语句printf("|%9.4f|\n",12345.67);后的输出结果是(   )

A.|2345.6700|B.|12345.6700|C.|12345.670|D.|12345.67|

4.执行语句printf(″%x″,-1);后输出结果是()

A.-1B.–ffffC.1D.ffff

5.使用语句scanf(″a=%f,b=%f″,&a,&b);输入变量a、b的值,正确的是()

A.1.25,2.4B.1.25□2.4C.a=1.25,b=2.4D.a=1.25□b=2.4

6.设inta,b;为使变量a和b分别获得数据10和20,则下列正确的是()

A.scanf(″%d,%d″,&a,&b);输入数据:

10,20<回车>

B.scanf(″%d,%d″,&a,&b);输入数据:

1020<回车>

C.scanf(″%d,%d″,&a,&b);输入数据:

a=10,b=20<回车>

D.scanf(″%d,%d″,a,b);输入数据:

10,20<回车>

7.设宏定义#definePI3.1415926,用宏名PI替换的是(   )

A.算术表达式B.字符串C.单精度实型数D.双精度实型数

8.关于宏定义命令,叙述正确的是()

A.在程序编译前进行宏替换B.在程序编译时进行宏替换

C.在程序编译后进行宏替换D.在程序运行时进行宏替换

9.以下叙述正确的是(   )

A.宏名必须用大写的英文字母表示

B.宏定义不仅是符号替换,也可以赋值

C.宏替换是在程序编译时完成的,不占用程序运行时间

D.引用带参数的宏时,实际参数与宏定义中的形式参数类型应一致

10.设宏定义#defineP(x)x/x

则执行语句printf(″%d\n″,P(4+6));后的输出结果是()

A.1B.8.5C.11D.11.5

11.程序段intx=12;doubley=3.141593;printf("%d%8.6f",x,y);的输出结果是()

A.123.141593B.123.141593C.12,3.141593D.123.1415930

12.有以下程序运行后的输出结果是()

#include

#defineSUB(a)  (a)-(a)

main()

{inta=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d\n",d);}

A.0B.-12C.-20D.-5

13.有以下程序运

展开阅读全文
相关搜索

当前位置:首页 > 外语学习 > 英语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1