C语言各章节练习题最新版.docx

上传人:b****4 文档编号:3487224 上传时间:2022-11-23 格式:DOCX 页数:56 大小:59.87KB
下载 相关 举报
C语言各章节练习题最新版.docx_第1页
第1页 / 共56页
C语言各章节练习题最新版.docx_第2页
第2页 / 共56页
C语言各章节练习题最新版.docx_第3页
第3页 / 共56页
C语言各章节练习题最新版.docx_第4页
第4页 / 共56页
C语言各章节练习题最新版.docx_第5页
第5页 / 共56页
点击查看更多>>
下载资源
资源描述

C语言各章节练习题最新版.docx

《C语言各章节练习题最新版.docx》由会员分享,可在线阅读,更多相关《C语言各章节练习题最新版.docx(56页珍藏版)》请在冰豆网上搜索。

C语言各章节练习题最新版.docx

C语言各章节练习题最新版

第一章C语言概述练习题

1.一个C程序的执行是从(   )

A.本程序的main函数开始,到main函数结束

B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C.本程序的main函数开始,到本程序文件的最后一个函数结束

D.本程序文件的第一个函数开始,到本程序main函数结束

2.以下叙述正确的是:

( )

A.在C程序中,main函数必须位于程序的最前面

B.程序的每行中只能写一条语句

C.C语言本身没有输入输出语句

D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误

3.以下叙述不正确的是:

( )

A.一个C源程序可由一个或多个函数组成

B.一个C源程序必须包含一个main函数

C.C程序的基本组成单位是函数

D.在C程序中,注释说明只能位于一条语句的后面

4.C语言规定:

在一个源程序中,main的位置( )

A.必须在最开始

B.必须在系统调用的库函数后面

C.可以任意

D.必须在最后

5.一个C语言程序是由( )

A.一个主程序和若干子程序组成

B.函数组成C.若干过程组成D.若干子程序组成

6.C源程序的基本单位是____________

7.一个C源程序中至少包括一个____________

8.在一个C源程序中,注释部分两侧的分界符分别为____________和____________

9.在C语言中,格式输入操作是由库函数____________完成的,格式输出操作是由库函数____________完成的

第二章运算符与表达式练习题

1.若x,i,j和k都是int型变量,则计算下面表达式后,x的值为(    )  x=(i=4,j=16,k=32)

A.4   B.16   C.32     D.52

2.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( )

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

3.下面四个选项中,均是不合法的用户标识符的选项的是:

( )

A.A   p_o   do  

B.float   lao    _A

C.b-a   goto       int

D._123  temp   iNT

4.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( )

A.必须为字母

B.必须为下划线

C.必须为字母或下划线

D.可以是字母、数字和下划线中的任意一种

5.下面四个选项中均是合法整型常量的选项是( )

A.160   -0xffff       011

B.-0xcdf   01a         0xe

C.-01      986,012    0668

D.-0x48a     2e5          0x

6.下面四个选项中均是不合法整型常量的选项是( )

A.-0f1     -0xffff      0011

B.-0xcdf    017         12,456

C.-018       999     5e2

D.-0x48eg     -068        03f

7.下面四个选项中,均是不合法的浮点数的选项是(  )

A.160      0.12       e3

B.123       2e4.2      e5

C.-18       123e4    0.0

D.-e3        234         1e3

8.下面四个选项中,均是合法的浮点数的选项是( )

A.+1e+1       5e-9.4       03e2

B.-.60          12e-4   -8e5     C.123e         1.2e-4      -8e5

D.-e3      8e-4   5.e-0    

9.下面四个选项中,均是合法转义字符的选项是( )

A.'\"’     ‘\\'       ‘\n'

B.‘\'       ‘\017'       ‘\"'

C.'\018'      ‘\f'       ‘\xab'  

D.'\\0'       ‘\101'      ‘\x1f'

10.下面四个选项中,均是合法的转义字符的选项是( )

A.'\"'      ‘\\'          ‘\xf'

B.'\1011'      ‘\'         ‘\a'

C.'\011'      ‘f'       ‘\}'

D.'\abc'    ‘\101'       ‘x1f'

11.下面正确的字符常量是( )

A.‘c"   B.'\\"     C.'w'       D."

12.下面四个选项中,均是正确的数值常量或字符常量的选项的是( )

A.0.0     0f       8.9e      ‘&'

B."a"    3.9E-2.5   1e1   ‘\"'

C.'3'   011       0xFF00   0a

D.+001   0xabcd    2e2     50

13.下面不正确的字符串常量是( )

A.'abc'  B."12'12"   C."0"     D." “

14.若有代数式3ae/bc,则不正确的C语言表达式是( )

A.a/b/c*e*3

B.3*a*e/b/c

C.3*a*e/b*c

D.a*e/c/b*3

15.已知各变量的类型说明如下:

intk,a,b;   unsignedlongw=5;doublex=1.42;则以下不符合C语言语法的表达式是( )

A.x%(-3)       B.w+=-2

C.k=(a=2,b=3,a+b)D.a+=a-=(b=4)*(a=3)

16.已知各变量的类型说明如下:

inti=8,k,a,b; unsignedlongw=5;doublex=1.42,y=5.2;则以下符合C语言语法的表达式是( )

A.a+=a-=(b=4)*(a=3)B.a=a*3=2

C.x%(-3)D.y=float(i)

17.以下不正确的叙述是( )

A.在C程序中,逗号运算符的优先级最低

B.在C程序中,APH和aph是两个不同的变量

C.若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变

D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值

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

A.在C程序中,每行中只能写一条语句

B.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数

C.在C语程序中,无论是整数还是实数,都能被准确无误地表示

D.在C程序中,%是只能用于整数运算的运算符

19.以下符合C语言语法的赋值表达式是( )

A.d=9+e+f=d+9B.d=9+e,f=d+9

C.d=(9+e,e++,d+9)D.d=9+e++=d+7

20.已知字母A的ASCii码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,c2中的值为( )

A.D   B.68   C.不确定的值    D.C 

21.在C语言中,要求运算数必须是整型的运算符是( ) 

A./     B.++   C.!

=       D.%

22.若以下变量均是整型,且num=sum=7;则计算表达式sum=num++,sum++,++num后sum值为( )   

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

23.若有说明语句:

charc='\72';则变量c( ) 

A.包含1个字符

B.包含2个字符

C.包含3个字符

D.说明不合法,c的值不确定

24.若有定义:

inta=7;floatx=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

25.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为( )

A.int  B.float    C.double   D.不确定

26.在C语言中,char型数据在内存中存储形式是() 

A.补码  B.反码   C.原码   D.ASCii码

27.表达式18/4*sqrt(4.0)/8值的数据类型为()

A.float   Bchar     C.double  D.不确定

28.设有说明:

charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为()

A.float    Bchar      C.int     D.double

29.若有以下定义,则能使值为3的表达式是()  int     k=7,x=12;

A.x%=(k%=5) B.x%=(k-k%5)C.x%=k-k%5D.(x%=k)-(k%=5)

30.设以下变量均为int类型,则值不等于7的表达式是()

A.(x=y=6,x+y,x+1)       B.(x=y=6,x+y,y+1) 

C.(x=6,x+1,y=6,x+y)    D.(y=6,y+1,x=y,x+1)

31.在c语言中(以16位pc机为例),一个char型数据在内存中所占的字节数为(),一个int型数据在内存中所占的字节数为(),一个float型数据在内存中所占的字节数为(),一个double型数据在内存中所占的字节数为().

32.有以下定义,则计算表达式y+=y-=m*=y后的y值是()。

intm=5,y=2;

33.若s是int型变量,s=6;则下面表达式的值为()

s%2+(s+1)%2

34.若a是int型变量,则下面表达式的值为()

(a=4*5,a*2),a+6

35。

若x和a均是int型变量,则计算式

(1)后的x的值为(),计算表达式

(2)后的x的值为()。

(1)x=(a=4,6*2)    

(2)x=a=4,6*2

36.若a.b和c均是int型变量,则计算表达式后,a值为(),b值为(),c值为().a=(b=4)+(c=2)

37.若a是int型变量,且a的初值为6,则计算表达式后a的值为()。

a+=a-=a*a

38.若a是int型变量,则计算表达式后a的值为()。

a=25/3%3

39.若x和n均是int型变量,且x和n的初值均为5,则计算表达式后x的值为(),n值为()。

x+=n++

40.若有定义:

intb=7;floata=2.5,c=4.7;则下面表达式的值为()。

a+(int)(b/3*(int)(a+c)/2)%4

41.若定义:

inta=2,b=3;floatx=3.5,y=2.5;则下面表达式的值()。

(float)(a+b)/2+(int)x%(int)y

42.若有定义:

charc='\010';则变量c中包含的字符个数为().

43.若有定义:

intx=3,y=2;floata=2.5,b=3.5;则下面表达式的值()(x+y)%2+(int)a/(int)b

44.若x和n均为int型变量,且x的初值为12,n的初值为5,则计算表达式后x的值为()x%=(n%=2)

45.假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为()

46.C语言中的标识符只能由三种字符组成,它们是(),()和().

47.已知字母a的ASCii码为十进制数97,且设ch为字符型变量,则表达式ch='a'+'8'-'3'的值为().

48.若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式pow(y,fabs(x))的值为( )

49.若有定义:

inte=1,f=4,g=2;floatm=10.5,n=4.0,k;则计算赋值表达式k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是( )

50.表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为( )

51.表达式pow(2.8,sqrt(double)(x)))值的数据类型为( )

52.假设m是一个三位数,从左到右用a、b、c表示各位的数字,则从左到右各个数字是bac的三位数的表达式是( )

第三章顺序结构程序设计练习题

1.putchar函数可以向终端输出一个( )

A.整型变量表达式值

B.实型变量值

C.字符串

D.字符或字符变量值

2.以下程序的输出结果是( )(注:

□代表空格)

main()

{printf(“\n*s1=%15s*',“chinabeijing");

printf(“\n*s2=%-5s*",“chi");}

A.*s1=chinabeijing□□□*  

*s2=**chi*

B.*s1=chinabeijing□□□* 

 *s2=chi□□*

C.*s1=*□□chinabeijing*    

*s2=□□chi*

D.*s1=□□□chinabeijing*   

*s2=chi□□*

3.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列.如果字符串长度以大于5,则输出按方式( );如果字符串长度小于5,则输出按方式( )

A.从左起输出该字串,右补空格

B.按原字符长从左向右全部输出

C.右对齐输出该字串,左补空格

D.输出错误信息

4.x和y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是( )

A.scanf(“%d%d,%1e",&x,&y,&z);

B.scanf(“%2d*%d%f",&x,&y,&z);

C.scanf(“%x%d*%o",&x,&y);

D.scanf(“%x%o%6.2f",&x,&y,&z);

5.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是( )(注:

□表示空格,表示回车)inta1,a2;charc1;c2;scanf(“%d%c%d%c",&a,&c1,&a2,&c2);

A.10A□20BB.10□A□20□B

C.10□A20BD.10A20□B

6.已有定义intx;floaty;且执行scanf(“%3d%f",&x,&y);语句时,从第一列开始输入数据12345□678<回车>,则x的值为

(1)y的值为

(2)

(1)A.12345    B.123   C.45  D.345

(2)A不确定B.45.000000  C.678.000000   D.123.000000

7.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是( )(注:

□表示空格,表示回车)

inta1,a2; charc1,c2; scanf(“%d%d",&a1,&a2);scanf(“%c%c",&c1,&c2);

A.1020ABB.10□20AB

C.10□□20□□ABD.10□20AB

8.已有程序段和输入数据的形式,程序中输入语句的正确形式应当为( )

main()

{inta;floatf;printf(“\ninputnumber:

");输入语句printf(“\nf=%f,a=%d\n",f,a);}输入的数据为4.52

A.scanf(“%d,%f",&a,&f);

B.scanf(“%f,%d",&f,&a);

C.scanf(“%d%f,&a,&f);

D.scanf(“%f%d",&f,&a);

9.阅读以下程序,当输入数据形式为:

25,13,10,正确的输入结果为()

main()

{intx,y,z;

scanf(“%d%d%d",&x,&y,&z);printf(“x+y+z=%d\n",x+y+z);}

A.x+y+z=48  B.x+y+z=35

C.x+z=35D.不确定值

10.根据题目中已给出的数据的输入和输出形式,程序中输入输出的语句的正确内容是( )

main()

{intx;floaty;printf(“enterx,y:

");输入语句输出语句}输入为:

2□3.4输出为:

x+y=5.40

A.scanf(“%d,%f",&x,&y);printf(“\nx+y=%4.21",x+y);

B.scanf(“%d%f",&x,&y);printf(“\nx+y=%4.2f",x+y);

C.scanf(“%d%f",&x,&y);printf(“\nx+y=%6.1f",x+y);

Dscanf(“%d%3.1f",&x,&y);printf(“\nx+y=%4.2f",x+y);

11.以下说法正确的是()

A.输入项可以为一个实型常量,如scanf(“%f”,3.5);

B.只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);

C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f",&f);

D.当输入数据时,必须指明变量的地址,如scanf(“%f",&f);

12.有输入语句:

scanf(“a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应是( )

A.132   B.1,3,2     

C.a=1□b=3□c=2D.a=1,b=3,c=2

13.已知ch是字符变量,下面正确的赋值语句是()

A.ch='123'; B.ch='\xff'; C.ch='\08'; D.ch='\'

14.已知ch是字符变量,下面不正确的赋值语句是()

A.ch='a+b';      B.ch='\0';          C.ch='7'+'9';      D.ch=5+9;

15.若有以下定义,且各变量均有初值,则正确的赋值语句是()inta,b;  floatx;

A.a=1,b=2; B.b++;  C.a=b=5  D.b=int(x);

16.设x,y均为float型变量,则以下不合法的赋值语句是()

A.++a;  B.y=(x%2)/10;  C.x*=y+8;  D.x=y=0;

17.设x,y和z均为int型变量,则执行语句x=(y=(z=10)+5)-5;后x,y,z的值是:

()

A.x=10y=15z=10  B.x=10y=10z=10    

C.x=10y=15z=15D.x=10y=5 z=10   

18.以下程序的输出结果为()

main()

{shorta;      

  a=-4;         

printf("\na:

dec=%d,oct=%o,hex=%x,unsigned=%u\n",a,a,a,a);}

19.以下程序的输出结果为()

main()

{printf("*%f,%4.3f*\n",3.14,3.15);}

20.以下程序的输出结果为()

main()

{

charc='x';        

printf("c:

dec=%d,oct=%o,hex=%x,ASCii=%c\n",c,c,c,c);}

21.已有定义intd=-2;执行以下语句后的输出结果是()

printf("*d

(1)=%d*d

(2)=%3d*d(3)=%-3d*\n",d,d,d);

printf("*d(4)=%o*d(5)=%6o*d(6)=%-7o*\n",d,d,d);

22.以有定义intd=-2;执行以下语句后的输出结果是()

printf("*d

(1)=%d(20=%3d*d(3)=%-3d*\n",d,d,d);

printf("*d(4)=%6o*d(6)=%-7o*\n",d,d,d);

23.以有定义floatd1=3.5,d2=-3.5;执行以下语句后的输出结果是()

printf("*d

(1)=%e*d

(2)=%.4e*d(3)=%10.4e*\n,d1,d1,d1);

printf("*d(4)=%e*d(5)=%.6e*d(6)=%-12.5e*\n",d2,d2

d2);

24.以下程序输出结果为()

main()

{intx=1,y=2;

   printf("x=%dy=%d*sum*=%d\n",x,y,x+y);

    printf("10squaredis:

%d\n",10*10);}

25.以下程序的输出结果为()

main()

{intx=10;floatpi=3.1416;

   printf("

(1)%d\n",x);

   printf("

(2)%6d\n",x);  

printf("(3)%f\n",56.1);

 printf("(4)%14f\n",pi);

 printf("(5)%e\n",568.1);

printf("(6)%14.e\n",pi);

  printf("(7)%g\n",pi);

 printf("(8)%12g\n",pi);

26.假设变量a和b均为整型,以下语句可以不借助任何变量把a,b中的值进行交换,请填空.

a+=()      b=a-();    a-=();

27.设变量a,b,c均为整型,以下语句借助中间变量t把a,b,c中的值进行交换,即:

把b中的值给a,把c中的值给b,把a中的值给c.例如:

交换前a=10,b=20,c=30,交换后a=20,b=30,c=10,请填空.

(); a=b; b=c;  ();

28.设x,y,z均为int型变量,m为long型变量,则在16位机上执行下面赋值语句后,y=(),z=(),m=(). 

   y=(x=32767,x-1);  z=m=0xffff;

29.如有intx;则执行下面语句后x值是()

x=7;     x+=x-=x+x;

30.若有inta,b;则以下语句的功能是()

a+=b;  b=a-b;  a-=b;

31.在scanf函数调用语句中,可以在格式字符和%之间加一星号,它的作用是();

当输入以下数据:

10__20__30__40<承认>,下面语句的执行结果是()

inta1,a2,a3;  

 scanf("%d%d%*d%d",&a1,&a2,&a3);

32.若有以下定义和语句,为使变量c1得到字符'A',变量c2得到字符'B'正确的格式输入形式是()

charc1,c2;     scanf("%4c%4c",&c1,&c2);

33.执行以下程序时,若从第一列开始输入数据,为使变量a=3,b=7,x=8.5,y=71.82,c

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

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

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