C语言第一二三章习题.docx

上传人:b****8 文档编号:9328509 上传时间:2023-02-04 格式:DOCX 页数:18 大小:25.46KB
下载 相关 举报
C语言第一二三章习题.docx_第1页
第1页 / 共18页
C语言第一二三章习题.docx_第2页
第2页 / 共18页
C语言第一二三章习题.docx_第3页
第3页 / 共18页
C语言第一二三章习题.docx_第4页
第4页 / 共18页
C语言第一二三章习题.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

C语言第一二三章习题.docx

《C语言第一二三章习题.docx》由会员分享,可在线阅读,更多相关《C语言第一二三章习题.docx(18页珍藏版)》请在冰豆网上搜索。

C语言第一二三章习题.docx

C语言第一二三章习题

(一)判断题(用A表示正确,B表示错误)

说明:

在以下提供的若干陈述中,逐一判断其正确与否,选A表示正确,选B表示错误。

1、函数是C程序的基本单位,每个C程序中允许有多个main函数。

()

2、在C程序中允许1行有多个语句,一个语句分多行写。

()

3、C语言是一门低级语言。

()

4、C程序中,注释说明语句只能位于一条语句的后面,不可以单独一行。

()

5、在C程序中123.345E-4是一个正确的实型数据()

6、任何一个C语言源程序都能直接在计算机中运行。

()

7、C语言中表示逻辑“真”值是用1来表示的。

()

8、在C语言中,逗号运算符的优先级最低。

()

9、0XAG、0XCF是十六进制整型常量。

()

10、在一个C源程序中,每个语句都是以;结束的。

11、3+4x、a*(10%3)都是正确的C语言的表达式。

()

12、C语言是一门结构化程序设计语言。

()

13、有以下定义“intb;”则说明了b是整型变量,并且分配一个存储单元,该存储单元的内容为b。

()

14、字符型变量在输出时可以是字符型数据和整型数据。

()

15、语言的运算符优先级是指不同的运算符计算的先后顺序,比如,双目运算符比单目运算符优先。

()

16、C语言中的关键字不能当作变量名使用。

()

17、C语言中没有单独的输入输出语句,输入输出功能由函数来完成。

()

18、在C语言中名字为NUM和num的标识符表示的是同一个变量。

()

19、在C程序的一行上可以出现多个有效的预处理命令行。

()

20、一个C语言源程序经过编译后就能直接生成扩展名为.exe的文件。

()

21、在C语言中,所有外部设备都可以作为文件来对待,这样的文件称为设备文件。

()

22、若a和b类型相同,在执行了赋值表达式a=b后b中的值将放入a中而b中的值不变。

( )

23、在C程序中,%运算符要求运算数必须是整型的运算符。

( )

24、scanf函数的输入项可以为一实型常量,如scanf(“%f”,3.5);是正确的语句。

( )

25、已知ch是字符型变量,则赋值语句ch=‘a’+3是错误的。

( )

26、一个C程序的执行是从本程序文件的第一个函数开始,到本程序main函数结束。

()

27、若x是单精度实型变量,表达式(x=10/4)的值是2.5。

()

28、表达式x/=5+6等价于x=x/5+6。

()

29、运算符“=”和“&=”的优先级相同。

()

30、'%f'是不正确的字符常量。

()

31、运算符“+”不能作为单目运算符。

()

32、如果运算符“*”和“/”都是右结合的,则表达式10*6/5的值是10。

()

33、s(s-a)(s-b)(s-c)是合法的C语言表达式。

()

34、表达式!

!

6的值是6。

()

35、表达式~(~2<<1)的值是5。

()

36、不同类型的变量在内存中占用存储空间的大小都是一样的。

()

37、程序调试就是找出并改正C源程序中的语法错误。

()

38、表示数学式3

()

39、程序设计语言必须具备数据表达和流程控制的功能。

()

40、‘\n’不是一个字符常量。

()

41、表达式(1.23<<2)符合C语言语法。

()

42、与float型数据相比,double型数据的精度高,取值范围大。

()

43、在C语言中,表达式(010+2)的值是10。

44、结构化程序语言的三种基本控制结构是顺序、选择和循环。

()

45、C语言程序的三种基本结构是顺序、选择和嵌套。

()

46、C语言是一门面向对象的程序设计语言。

()

47、C语言可以有一个以上的主函数MAIN。

()

48、C语言的注释部分用“//”表示。

()

49、经过编译后生成的目标程序是可以直接运行的。

()

50、表达式(3.6%2)符合C语言语法。

()

51、在C程序中,用整数0表示逻辑值“假”。

()

52、08是正确的整型常量。

()

53、若变量已正确定义,表达式x=y=1符合C语言语法。

()

54、表达式!

(x>0||y>0)等价于!

(x>0)&&!

(y>0)。

()

55、用#definepi3.1415926定义的符号常量pi的值在程序中是不能被改变的。

()

56、C语言的注释部分用“/**/”表示。

()

57、不同类型的变量在内存中占用存储空间的大小是不一样的。

()

58、表示数学式11&&X<10。

()

(二)单项选择题

1、下列定义中,定义的变量可以存放-123.4。

A、longa;B、unsignedb;

C、intd;D、floatc;

2、若x是double型变量,n是int型变量,执行,并输入31.25后,x=1.25,n=3。

A、scanf("%d%lf",&n,&x);B、scanf("%lf%d",&x,&n);

C、scanf("%lf%d",&n,&x);D、scanf("%d%,lf",&n,&x);

3、若变量已经被正确定义,为表示“变量x和y都能被3整除”,应使用的C表达式是。

A、(x%3!

=0)||(y%3!

=0)B、(x%3!

=0)&&(y%3!

=0)

C、(x%3==0)||(y%3==0)D、(x%3==0)&&(y%3==0)

4、以下所列的C语言常量中,错误的是。

A、0xFFB、1.2e0.5C)、202LD、'\72'

5、下面程序的输出是。

A、0B、1C、3D、不确定的值

main()

{intx=10,y=3;

printf(“%d\n”,y=x/y);}

6、不是C语言的运算符。

A、&&B、&C、*D、$

7、字节数最多的类型是。

A、intB、charC、doubleD)、long

8、在下列选项中,不是赋值语句。

A、t=1,t=2;B、n1=(n2=(n3=0));C、k=i==j;D、a=bc=1;

9、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:

scanf(“%d%f”,&i,&f);为了把100和76.12分别赋给i和f,则正确的输入为。

A、10076.12B、i=100,f=76.12C、100,76.12D、i=100f=76.12

10、能正确表示a和b同时为正或同时为负的逻辑表达式是。

A、(a>=0||b>=0)&&(a<0||b<0)

B、(a>=0&&b=0)&&(a<0&&b<0)

C、(ab>0)&&(ab<=0)

D、a*b>0

11、为表示“a和b都不等于0”,应使用的C语言表达式是。

A、(a!

=0)||(b!

=0)B、a||b

C、!

(a=0)&&(b!

=0)D、a&&b

12、若x是单精度实型变量,k是基本整型变量,以下正确的输入语句是。

A、scanf("%f%d",&x,&k);B、scanf("%f%d",x,k);

C、scanf("%d%f",&x,&k);D、scanf("%d%f",x,k);

13、下列运算符中优先级最低的是。

A、*B、%

C、=D、->

14、已知字符‘c’的ASCII码为99,语句printf("%d,%c",’c’,’c’+1);的输出为。

A、99,cB、99,100

C、99,dD、语句不合法

15、以下选项中规范的指数形式。

A、5E2.0B、E-3C、.2E0D、1.3E+005

16、下列表达式的值为1的是。

A、3﹪5B、3/5.0C、3/5D、3<5

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

A、必须为字母B、必须为下划线

C、必须为字母或下划线D、可以是字母、数字和下划线中任一种字符

18、下列运算符中优先级最高的是。

A、

=

19、阅读以下程序:

若x、i、j和k都是int型变量,则执行下面表达式后x的值为    。

x=(i=4,j=16,k=32)

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

20、若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是。

A、A%2==1B、!

(A%2==0)C、!

(A%2)D、A%2

21、对于inti,j;charc;当输入序列为1dc234时,执行语句

scanf(“%dd%c%*d%*d%d”,&i,&c,&j);后i,j,c的值分别为。

A、12‘d’B、12‘c’C、14‘d’D、14‘c’

22、若x是单精度实型变量,k是基本整型变量,以下正确的输入语句是。

A、scanf("%f%d",&x,&k);B、scanf("%f%d",x,k);

C、scanf("%d%f",&x,&k);D、scanf("%d%f",x,k);

23.下面程序的输出结果是。

main()

{intx=10;

printf(“%d\n”,(x=5*6,x*4,x+5));}

(A)30   (B)125  (C)35  (D)120

24、已知i、j、k为int型变量,若从键盘输入:

1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中相对应的正确输入语句是。

A、scanf("%2d%2d%2d",&i,&j,&k);

B、scanf(""%d%d%d",&i,&j,&k);

C、scanf("%d,%d,%d",&i,&j,&k);

D、scanf("i=%d,j=%d,k=%d",&i,&j,&k);

25、设c是一个字符变量,求解表达式后,c的值不是1就是0。

A、c=getchar()!

='\n'B、(c=getchar())!

='\n'

C、c='1'D、c=EOF

26、下列叙述中错误的是。

A、一个C语言程序只能实现一个算法。

B、C程序可以有多个程序文件组成。

C、C程序可以有一个或多个函数组成。

D、一个C函数可以单独作为一个C程序文件存在。

27、下列叙述中正确的是。

A、每个C程序文件中都必须要有一个main()函数。

B、在C程序中mani()函数的位置是固定的。

C、C程序中所有函数之间都可以互相调用,与函数所在位置无关。

D、C程序只能有一个main()函数组成。

28、下列定义变量的语句中错误的是。

A、int_int;B、doubleint_ ;C、charFor;D、floatUS$;

29、若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是。

A、++x,y=x--;B、x+1=y;C、x=x+10=x+y;D、double(x)/10;

30、以下关于逻辑运算符两侧运算对象的叙述中正确的是。

A、只能是整数0或1;B、只能是整数0或非0整数;

C、可以是结构体类型的数据;D、可以是任意合法的表达式;

31、若有定义intx,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?

(x++):

(y++)中的(x-y)等价的是。

A、(x-y>0)B、(x-y<0)C、(x-y<0||x-y>0)D、(x-y==0)

32、有以下程序

main()

{intx,y,z;

x=y=1;

z=x++,y++,++y;

printf(“%d,%d,%d”,x,y,z);}

程序运行后的输出结果是。

A、2,3,3B、2,3,2C、2,3,1D、2,2,1

33、设有定义inta;floatb;执行scanf(“%2d%f”,&a,&b);语句时,若从键盘输入876543.0<回车>,a和b的值分别是。

A、876和543.000000B、87和6.000000

C、87和543.000000D、76和543.000000

34、有以下程序段

main()

{inta=0,b=0;

a=10;

printf(“a+b=%d\n”,a+b);}

程序运行后的结果是。

A、a+b=10B、a+b=30C、30D、出错

35、以下选项中,值为1的表达式是。

A、1-‘0’B、1-‘\0’C、’1’-0D、’\0’-‘0’

36、C语言源程序名的后缀是。

A、.exeB、.CC、.objD、.cp

37、以下叙述正确的是。

A、C语言程序将从源程序中第一个函数开始执行

B、可以在程序中由用户指定任意一个函数作为主函数,程序将从此执行

C、C语言规定必须用main()作为主函数名,程序将从此执行,在此结束

D、main可作为用户标识符,用以命名任意一个函数作为主函数

38、以下叙述错误的是。

A、计算机不能直接执行用C语言编的源程序

B、C程序经C编译程序编译后,生成后缀为.obj的文件是个二进制文件

C、后缀为.obj的文件,经连接程序生成后缀为.exe的文件是二进制文件

D、后缀为.obj和.exe的文件都可以直接执行

39、按照C语言规定的用户标识符命名规则,不能出现在标识符中的是。

A、大写字母B、连接符C、数字字符D、下划线

40、以下叙述错误的是。

A、C语言是一种结构化程序设计语言

B、结构化程序有顺序、分支、循环三种基本结构组成

C、使用三种基本结构构成的程序只能解决简单问题

D、结构化程序设计倡导模块化的设计方法

41、设有定义:

intk=0;以下选项的四个表达式中与其他三个表达式的值不一致的是。

A、k++B、k+=1C、++kD、k+1

42、有以下程序,其中%u表示按无符号整数输出

main()

{unsignedintx=0xFFFF;//x的初值为十六进制数

printf(“%u\n”,x);}

程序运行后的输出结果为。

A、-1B、65535C、32767D、0xFFFF

43、以下选项中,当x为大于1的奇数时,值为0的表达式是。

A、x%2==1B、x/2C、x%2!

=0D、x%2==0

44、以下合法的字符常量是。

A、‘\x13’B、’\081’C、’\65’D、”\n”

45、以下选项中可作为C语言合法常量的是______。

A、-80.B、-080C、-8e1.0D-80.0e

46、以下叙述中正确的是______。

A)用C程序实现的算法必须要有输入和输出操作

B)用C程序实现的算法可以没有输出但必须要输入

C)用C程序实现的算法可以没有输入但必须要有输出

D)用C程序实现的算法可以既没有输入也没有输出

47、以下不能定义为用户标识符的是______。

A、MainB、_0C、_intD、sizeof

48、以下选项中不能作为合法常量的是______。

A、1.234e04B、1.234e0.4C、1.234e+4D、1.234e0

49、数字字符0的ASCII值为48,若有以下程序

main()

{chara='1',b='2';

 printf("%c,",b++);

 printf("%d\n",b-a);}

程序运行后的输出结果是______。

A、3,2B、50,2C、2,2D、2,50

50、有以下程序

main()

{intm=12,n=34;

 printf("%d%d",m++,++n);

 printf("%d%d\n",n++,++m);}

程序运行后的输出结果是______。

A、12353514B、12353513C、12343514D、12343513

51、有定义语句:

intb;charc[10];,则正确的输入语句是______。

A、scanf("%d%s",&b,&c);B、scanf("%d%s",&b,c);

C、scanf("%d%s",b,c);D、scanf("%d%s",b,&c);

52、有以下程序

 main()

{intm,n,p;

 scanf("m=%dn=%dp=%d",&m,&n,&p);

 printf("%d%d%d\n",m,n,p);}

若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是______。

A、m=123n=456p=789B、m=123n=456p=789

C、m=123,n=456,p=789D、123456789

53、有以下程序

 main()

{inta,b,d=25;

 a=d/10%9;

 b=a&&(-1);

 printf("%d,%d\n",a,b);}

程序运行后的输出结果是______。

 A、6,1B、2,1C、6,0D、2,0

54、有以下程序

 main()

{inti=1,j=2,k=3;

if(i++==1&&(++j==3||k++==3))

printf("%d%d%d\n",i,j,k);}

程序运行后的输出结果是______。

A、123B、234C、223D、233

55、以下不合法的用户标识符是_____。

A、j2_KEYB、DoubleC、4dD、_8_

56、以下不合法的数值常量是_____。

A、011B、1e1C、8.0E0.5D、0xABCD

57、表达式3.6-5/2+1.2+5%2的值是_____。

A、4.3B、4.8C、3.3D、3.8

58、用C语言编写的代码程序______。

A、可立即执行  B、是一个源程序

C、经过编译连接后方可执行  D、经过编译解释才能执行

59、结构化程序由三种基本结构组成,三种基本结构组成的算法______。

A、可以完成任何复杂的任务B、只能完成部分复杂的任务

C、只能完成符合结构化的任务  D、只能完成一些简单的任务

60、下列选项中,不能用作标识符的是______。

A、_1234_B、_1_2C、int_2_D、2_int_

61、有以下定义语句doublea,b;intw;longc;若各变量已正确赋值,则下列选项中正确的表达式是______。

A、a=a+b=b++B、w%(int)a+b)

C、(c+w)%(int)aD、w=a==b;

62、以下叙述中正确的是______。

A、C语言的源程序不必通过编译就可以直接运行

B、C语言中的每条可执行语句最终都将被转换成二进制的机器指令

C、C源程序经编译形成的二进制代码可以直接运行

D、C语言中的函数不可以单独进行编译

63、以下符合C语言语法的实型常量是______。

A、1.2E0.5B、3.14.159EC、.5E-3D、E15

64、若以下选项中的变量已正确定义,则正确的赋值语句是______。

A、x1=26.8%3B、1+2=x2C、x3=0x12D、x4=1+2=3;

65、设有以下定义

inta=0;

doubleb=1.25;

charc=’A’;

#defined2

则下面语句中错误的是______。

A、a++;B、b++;C、c++;D、d++;

66、设有定义:

floata=2,b=4,h=3;,以下C语言表达式与代数式计算结果不相符的是______。

A、(a+b)*h/2B、(1/2)*(a+b)*hC、(a+b)*h*1/2D、h/2*(a+b)

67、有以下程序

main()

{intx=102,y=012;

printf(“%2d,%2d\n”,x,y);}

执行后输出结果是______。

A、10,01B、002,12C、102,10D、02,10

68、以下叙述中正确的是______。

A、C程序中注释部分可以出现在程序中任意合适的地方

B、花括号"{"和"}"只能作为函数体的定界符

C、构成C程序的基本单位是函数,所有函数名都可以由用户命名

D、分号是C语句之间的分隔符,不是语句的一部分

69、以下选项中可作为C语言合法整数的是______。

A、10110BB、0386C、0xffaD、x2a2

70、以下不能定义为用户标识符的是______。

A、scanfB、VoidC、_3com_D、int

71、有以下程序

main()

{inta;charc=10;

floatf=100.0;doublex;

a=f/=c*=(x=6.5);

printf("%d%d%3.1f%3.1f\n",a,c,f,x);}

程序运行后的输出结果是______。

A、16516.5B、1651.56.5

C、1651.06.5D、2651.56.5

72、以下选项中非法的表达式是______。

A、0<=x<100B、i=j==0C、(char)(65+3)D、x+1=x+1

73、有以下程序

main()

{inta=1,b=2,m=0,n=0,k;

k=(n=b>a)||(m=a);

printf("%d,%d\n",k,m);}

程序运行后的输出结果是______。

A、0,0B、0,1C、1,0D、1,1

74、有定义语句:

intx,y;,若值11,变量y得到数值12,下面四组输入要通过scanf("%d,%d",&x,&y);语句使变量x得到数形式中,错误的是______。

A、1112<回车>B、11,12<回车>

C、11,12<回车>D、11,<回车>

12<回车>

75、设有如下程序段:

intx=2002,y=2003;

printf("%d\n",(x,y));

则以下叙述中正确的是______。

A、输出语句中格式说明符的个数少于输出项的个数,不能正确输出

B、运行时产生出错信息

C、输出值为2002

D、输出值为2003

76、设变量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;

77、以下叙述正确的是

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

当前位置:首页 > 解决方案 > 学习计划

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

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