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

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

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

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

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

C语言第一二三章习题

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

说明:

在以下提供的若干陈述中,逐一判断其正确与否,选

A表示正确,选B表示错误。

1、

2、

3、

4、

5、

6、

7、

8、

9、

10、

11、

12、

13、

14、

15、

16、

17、

18、

19、

20、

21、

22、

23、

24、

25、

26、

27、

28、

29、

函数是C程序的基本单位,每个C程序中允许有多个在C程序中允许1行有多个语句,一个语句分多行写。

C语言是一门低级语言。

()

C程序中,注释说明语句只能位于一条语句的后面,在C程序中123.345E-4是一个正确的实型数据(任何一个C语言源程序都能直接在计算机中运行。

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

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

()OXAGOXCF是十六进制整型常量。

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

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

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

()有以下定义“intb;”则说明了b是整型变量,为bo()字符型变量在输出时可以是字符型数据和整型数据。

语言的运算符优先级是指不同的运算符计算的先后顺序,

()

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

()

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

()

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

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

()

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

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

若a和b类型相同,在执行了赋值表达式a=b后b中的值将放入在C程序中,%运算符要求运算数必须是整型的运算符。

()

scanf函数的输入项可以为一实型常量,如scanf(“%f”,3.5);已知ch是字符型变量,则赋值语句ch=‘a'+3是错误的。

(一个C程序的执行是从本程序文件的第一个函数开始,到本程序若X是单精度实型变量,表达式(x=10/4)的值是2.5o()表达式X/=5+6等价于X=X/5+6o()运算符“=”和“&二”的优先级相同。

()

main函数。

()

()

1=10

不可以单独一行。

()

并且分配一个存储单元,该存储单元的内容

比如,双目运算符比单目运算符优先。

a中而b中的值不变。

()

是正确的语句。

()

main函数结束。

()

30、

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

()

31、

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

()

32、

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

的值是10。

()

33、

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

()

表达式!

!

6的值是6。

()

35、

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

()

36、

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

37、

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

()

38、

表示数学式3VXV5的C表达式也是3VXV5。

()

 

40、

'\n'不是一个字符常量。

()

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

()

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

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

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

()

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

()

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

()47、C语言可以有一个以上的主函数MAN()

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、表示数学式1VXV10的C表达式是X>1&&XV10。

()

(二)单项选择题

1、

下列定义中,

定义的变量可以存放-123.4。

Alonga;

Cintd;

2、

若X是double型变量,n是int

型变量,执行

,并输入31.25后,x=1.25,n=3。

Aseanf("%d%lf",&n,&x);

Bseanf("%lf%d",&x,&n);

Cseanf("%lf%d",&n,&x);

Dseanf("%d%,lf",&n,&x);

3、

若变量已经被正确定义,为表示“变量

x和y都能被3整除”,应使用的C表达式是

A(x%3!

=0)II(y%3!

=0)

B、(x%3!

=0)&&(y%3!

=0)

C(x%3==0)II(y%3==0)

D(x%3==0)&&(y%3==0)

4、

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

B、unsignedb;

Dfloatc;

AOxFFB

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

5、下面程序的输出是

A0B、1C、3

D、不确定的值

main(){intx=10,y=3;

printf(“%dn”,y=x/y);}

6、

不是C语言的运算符。

&&B、&C

7、

字节数最多的类型是

intB、eharC、doubleD)、long

在下列选项中,

不是赋值语句。

9、

t=1,t=2;

设i是int

B、n1=(n2=(n3=0));C、k=i==j;D、a=be=1;

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

seanf(“%d%”

,&i,&f);为了把100和76.12分别赋给i和f,则正确的输入为

A10076.12

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

、i=100f=76.12

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

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

B、

(a>=0&&b=0)&&(av0&&b<0)

C、

(ab>0)&&(abv=0)

a*b>0

11、

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

A(a!

=0)II(b!

=0)

、aIIb

C、!

(a=0)&&(b!

=0)

、a&&b

12、若x是单精度实型变量,

k是基本整型变量,以下正确的输入语句是

Aseanf("%f%d",&x,&k);

、seanf("%f%d",x,k);

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

、seanf("%d%f",x,k);

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

C、

->

14、已知字符

e'的ASCII

码为99,语句printf("%d,%e",

e'+1);的输出

 

A99,e

、99,100

C、99,d

、语句不合法

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

A5E2.0B、E-3C、.2E0D

、1.3E+005

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

A3%5B、3/5.0C、3/5D、3<5

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

A、必须为字母

、必须为下划线

C、必须为字母或下划线D、可以是字母、数字和下划线中任一种字符18、下列运算符中优先级最高的是

C、&&

19、阅读以下程序:

若x、i、j和k都是

int

型变量,则执行下面表达式后x的值为

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

B、16

、32D、52

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

DA%2

AA%2==1B、!

(A%2==0)C、!

(A%2)

21、对于inti,j;charc;

当输入序列为1dc234时,执行语句

seanf(“%dd%c%*d%*d”d&i,&c,&j);

后i,j,c的值分别为

22、若x是单精度实型变量,

k是基本整型变量,以下正确的输入语句是

Ascanf("%f%d",&x,&k);

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

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

、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就是00

A、c=getchar()!

='\n'

B(c=getchar())!

='\n'

C、c='1'

D、c=EOF

26、下列叙述中错误的是

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

B、

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

C、

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

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

27、下列叙述中正确的是

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

B、

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

C、

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

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

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

Aint_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)

等价的是

、(x-y==0)

A(x-y>0)B、(x-y<0)C、(x-y<0||x-y>0)D32、有以下程序

main()

{intx,y,z;

x=y=1;

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

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

程序运行后的输出结果是

A2,3,3B、2,3,2C、2,3,1D、2,2,133、设有定义inta;floatb;执行scanf(“%2d%f,&a,&b);语句时,若从键盘输入876543.0<

回车>,a和b的值分别是

A876和543.000000

、87和6.000000

C、87和543.000000

、76和543.000000

34、有以下程序段main(){inta=0,b=0;

a=10;

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

程序运行后的结果是

A、a+b=10

B、a+b=30C

、30

D、出错

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

A1-‘0'B、1-‘\0'C、‘1'-0D、‘\0'-‘0'

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

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

37、以下叙述正确的是

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

B、

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

C、

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

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

38、以下叙述错误的是

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

B、

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

C、

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

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

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

A大写字母B、连接符

C、数字字符D、下划线

40、以下叙述错误的是

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

B、

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

C、

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

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

41、设有定义:

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

A、k++

、k+=1

、++k

、k+1

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

main()

{unsignedintx=0xFFFF;//x

的初值为十六进制数

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

程序运行后的输出结果为

A、-1B

、65535

、32767

、0xFFFF

43、以下选项中,

当x为大于1的奇数时,值为

0的表达式是

Ax%2==1B

、x/2

C、x%2!

=0

x%2==0

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

A、‘\x13'B

\081

'\65'

”1”

\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+4

、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、12353513

、12343514D、12343513

51、有定义语句:

intb;charc[10];,

则正确的输入语句是

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

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

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

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

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

若想从键盘上输入数据,使变量

A、m=123n=456p=789

、m=123n=456p=789

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

、123456789

52、有以下程序main(){intm,n,p;

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

m中的值为123,n中的值为456,p中的值为789,则正确的输入是

53、有以下程序

main(){inta,b,d=25;

a=d/10%9;

b=a&&(-1);

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

程序运行后的输出结果是

A、6,1B、2,1

C、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、123

、234

、223

、233

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

A、j2_KEYB、DoubleC、4d

8_

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

A、011B、1e1

C、8.0E0.5

、0xABCD

57、表达式3.6-5/2+1.2+5%2

的值是

A、4.3

、4.8

、3.3

、3.8

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

A可立即执行

B是一个源程序

C经过编译连接后方可执行

D经过编译解释才能执行

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

A可以完成任何复杂的任务

B、

只能完成部分复杂的任务

C只能完成符合结构化的任务

D、

只能完成一些简单的任务

 

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

A、_1234_

B、_1_2

C、int

_2

D、2_int_

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

A、a=a+b=b++

B、w%(int)a+b)

D、w=a==b;

C、(c+w)%(int)a

62、以下叙述中正确的是

A、

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

B、

C、

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

D、

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

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

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

A、1.2E0.5

、3.14.159E

、.5E-3

、E15

64、若以下选项中的变量已正确定义,

则正确的赋值语句是

A、x1=26.8%3

B、1+2=x2

、x3=0x12

D、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/2

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

67、有以下程序

main()

{intx=102

y=012;

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

执行后输出结果是

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

68、以下叙述中正确的是

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

B、

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

C、

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

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

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

A10110B

B、0386

、0xffa

、x2a2

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

Aseanf

、Void

3com_D、int

71、有以下程序main(){inta;chare=10;

floatf=100.0;doublex;

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

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

程序运行后的输出结果是

A16516.5

、1651.56.5

C、1651.06.5

、2651.56.5

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

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

、x+1=x+1

73、有以下程序

main()

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

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

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

程序运行后的输出结果是

A0,0B、0,1C、1,0D

74、有定义语句:

intx,y;,若值11,变量y得到数值12,下面四组输入要通过scanf("%d,%d",&x,&y);

语句使变量x得到数形式中,错误的是

A1112<回车>

B、11,12<回车>

C、11,12<回车>

D、11,<回车>

12<回车>

75、设有如下程序段:

intx=2002,y=2003;

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

则以下叙述中正确的是

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

B、

运行时产生出错信息

C、

输出值为2002

输出值为2003

76、设变量x为float型且已赋值,

,则以下语句中能将x的值第三位四舍五入后,使数值保留到小

数点后两位的是

Ax=x*100+0.5/100.0;

、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、

以下叙述正确的是

C语言比其他语言咼级

B)、

C语言可以不用编译就能被计算机识别执行

C、

C语言以接近英语国家的自然语言和数学语言作为语言的表达形式

D)、C语言出现的最晚、具有其他语言的一切优点

78、C语言中用于结构化程序设计的三种基本结构是

A)、

顺序结构、选择结构、循环结构

B)、

if、switch、break

C)、

for、while、do-while

D)、

if、for、continue

79、在一个C语言程序中

A、

main函数必须出现在所有函数之前

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

当前位置:首页 > 职业教育 > 其它

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

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