C语言15章复习题及参考答案.docx

上传人:b****2 文档编号:18379395 上传时间:2023-04-24 格式:DOCX 页数:22 大小:20.80KB
下载 相关 举报
C语言15章复习题及参考答案.docx_第1页
第1页 / 共22页
C语言15章复习题及参考答案.docx_第2页
第2页 / 共22页
C语言15章复习题及参考答案.docx_第3页
第3页 / 共22页
C语言15章复习题及参考答案.docx_第4页
第4页 / 共22页
C语言15章复习题及参考答案.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

C语言15章复习题及参考答案.docx

《C语言15章复习题及参考答案.docx》由会员分享,可在线阅读,更多相关《C语言15章复习题及参考答案.docx(22页珍藏版)》请在冰豆网上搜索。

C语言15章复习题及参考答案.docx

C语言15章复习题及参考答案

 

一.选择题

1、若

 

a为

 

int

 

类型,且其值为

 

3,则执行完表达式

 

a+=a-=a*a

 

后,a的值是(

 

)。

A.-3

 

B.9

 

C.-12

 

D.6

2、若有定义:

 

inta=8,b=5,c;

 

执行语句

 

c=a/b+0.4;

 

后,c的值为(

 

)。

A.1.4

 

B.1

 

C.2.0

 

D.2

3、有如下程序:

voidmain()

{

inti,sum;

for(i=1;i<=3;sum++)

sum+=i;

printf("%d\n",sum);

}

该程序的执行结果是()。

A.6B.3C.死循环

 

D.0

4、下列关于表达式的描述中,错误的是()。

A.常量和变量都是表达式。

B.运算符类型对应表达式的类型。

C.每一个表达式都有自己的值。

D.表达式必须以分号结尾。

5、C语言中,合法的长整型常数是()。

A.'\t'B.”A”C.65D.a

6、若已定义x和y为double类型,则表达式

 

x=1;y=(x+3)/2

 

的值是()。

A.1

 

B.2

 

C.2.00000

 

D.2.50000

7、表达式:

 

10!

=9

 

的值是(

 

)。

A.trueB.非零值C.0D.1

8、以下程序的输出结果是()。

#include

voidmain()

{

printf("%d\n",NULL);

}

A.

 

不确定的

 

B.0

 

C.-1

 

D.1

9、请选出合法的C语言赋值语句。

()

A.a=b=58B.i++;C.a=58,b=58D.k=int(a+b);

10、假设intb=2;表达式(b>>2)/(b>>1)的值是(

 

)。

A.0

 

B.2

 

C.4

 

D.8

11、关于语句

 

printf(

 

“hello

 

n”,);下列描述中错误的是()。

A.printf()是格式化输出函数,用于输出信息。

B.printf()括号中的内容为函数的参数。

C.printf()括号中的内容会全部输出到控制台上。

D.\n表示换行操作。

12、下列选项中,哪一项不是C语言中的位运算符()。

A.&B.||C.~D.^

13、以下程序的输出结果是()。

voidmain()

 

{

charc='z';

printf("%c",c-25);

}

A.a

 

B.Z

 

C.z-25

 

D.y

14、若要求在

 

if

 

后一对圆括号中表示

 

a不等于

 

0的关系,则能正确表示这一关系的表达式为

()。

A.a<>0

 

B.!

a

 

C.a=0

 

D.a

15、以下循环体的执行次数是()。

voidmain()

{

inti,j;

for(i=0,j=1;i<=j+1;i+=2,j--)

printf("%d\n",i);

}

A.3

 

B.2

 

C.1

 

D.0

16、下列运算符中优先级最高的是(

 

)。

A.||

 

B.&&

 

C.+

 

D.=

17、若有以下定义和语句:

 

charc1='b',c2='e';printf("%d,%c\n",c2-c1,c2-'a'+'A');

 

那么输出结果

是()。

A.2,MB.3,EC.2,E

18、若有以下程序段:

 

D.输出项与对应的格式控制不一致,输出结果不确定

intc1=1,c2=2,c3;c3=1.0/c2*c1;那么执行后,c3中的值是(

 

)。

A.0

 

B.0.5

 

C.1

 

D.2

19、若变量a是int

A.a的值是字符

 

类型,并执行了语句:

’C'B.a的值是浮点型

 

a='A'+1.6;则下列描述中,正确的是(

 

)。

C.不允许字符型和浮点型相加

 

D.a的值是字符’A’的ASCII值加上

 

1

20、若有定义:

intx,i;则下列for

 

循环语句:

for(i=0,x=0;i<=9&&x!

=876;i++)

scanf(“%d”,&x);

下列选项中,描述正确的是(

 

A.最多执行10次B.最多执行9次C.是无限循环D.循环体一次也不执行

21、假定有以下变量定义:

intk=7,x=12;那么能使值为3的表达式是()。

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

 

D.(x%=k)-(k%=5)

22、两次运行下面的程序,如果从键盘上分别输入

 

6和

 

4,那么输出结果是(

 

)。

voidmain()

{

intx;

scanf("%d",&x);

if(x++>5)

printf("%d",x);

else

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

}

A.7和5

 

B.6和

 

3

 

C.7和

 

4

 

D.6和

 

4

 

23、若已定义

 

x和

 

y为

 

double

 

类型,则表达式:

 

x=1,y=x+3/2

 

的值是(

 

)。

A.1

 

B.2

 

C.2.0

 

D.2.5

24、执行下面程序片段的结果是(

intx=23;

do

{

printf("%2d",x--);

}while(!

x);

A.打印出321B.打印出23

 

)。

 

C.不打印任何内容

 

D.陷入死循环

25、以下选项中合法的字符常量是(

 

)。

A."B"

 

B.'\010'

 

C.68

 

D.D

26、将二进制数

 

00001011

 

进行>>位运算,将其结果转换为十进制是()

 

A.101

 

B.1

 

C.11D.5

27、下列说法中正确的是()。

A.在switch语句中一定要使用break语句

B.在switch语句中不一定要使用break语句

C.break语句是switch语句的一部分

D.break只能用于switch语句中

28、假设有如下的变量定义:

 

inti=8,k,a,b;unsignedlongw=5;doublex=1.42,y=5.2;

 

则以下符

合C语言语法的表达式是(

 

)。

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

 

B.x%(-3)

C.a=a*3=2

 

D.y=float(i)

29、若

 

a为int

 

型变量,则下列

 

C语言表达中,不能表达数学关系式

 

10

A.10

B.a==11||a==12||a==13||a==14

C.a>10&&a<15

D.!

(a<=10)&&!

(a>=15)

30、表示关系x<=y<=z的C语言表达式为()。

A.(X<=Y)&&(Y<=Z)

B.(X<=Y)AND(Y<=Z)

C.(X<=Y<=Z)

D.(X<=Y)&(Y<=Z)

二.判断题

1、C语言属于机器语言。

(×)

2、C语言中的逻辑值“真”是用1表示的,逻辑值“假”是用0表示的。

(√)

3、在C语言中转义字符有特殊的含义,它以反斜杠开头,后面接特定的字符。

(√)

4、机器语言是由二进制数0和1组成的一串指令。

(√)

5、continue只能用于循环语句。

(×)

6、C语言中的逻辑值“真”是用1表示的,逻辑值“假”是用0表示的。

(√)

7、将浮点型数据转换为整型数据时,小数点后的数会进行四舍五入。

(×)

8、字符常量用于表示一个字符,一个字符常量要用一对英文半角格式的双引号()引起

来。

(×)

9、通常将不可改变的数值称为常量。

(√)

10、变量虽有不同的数据类型,但它们所占内存的大小是一样的。

(×)

 

11、位运算符“<<就”是将操作数所有二进制位向左移动一位。

运算时,右边的空位补

0。

边移走的部分舍去。

(√)

12、十进制数10转换为二进制为

1010。

(√)

13、计算机使用特定的整数编码来表示对应的字符,

我们通常使用的英文字符编码是

ASCII。

(√)

14、逻辑运算符用于判断数据的真假,其结果为

“真”或“假”。

(√)

15、十进制转换成二进制可以采用除

2取余的方式。

16、变量的值保存在内存单元上,是可以被改变的。

17、十进制和二进制只是针对数字的不同表示方式,

无论采用哪种方式表示一个数,

它的值

都是一样的。

(√)

18、位运算符是针对二进制数的每一位进行运算的符号,

是专门针对数字

0和1进行操作的。

(√)

19、sizeof运算符的功能是获取某一数据或数据类型在内存中所占的字节数。

(√)

20、两个二进制数进行“|运”算,如果二进制位上只有一个值为

1,则该位的运行结果为0。

(×)

三.填空题

1、在C语言中根据运算符进行运算需根据变量的个数可以将运算符分为单目运算符、双目运算符和(三目)运算符。

2、定义变量intx=1.20,则%d格式输出x的结果为(

1

)。

3、运算符“||表”示或操作,当且仅当运算符两边的表达式结果都为假时,

其结果为(

)。

4、运算符“&&”表示与操作,当且仅当运算符两边的表达式结果都为真时,其结果才为

(真

),否则结果为假。

5、若有定义intx=7;则表达式x/=3;的值为(

2

)。

6、计算机语言可分为三大类,即机器语言、汇编语言和

高级语言

)。

7、在进行取模运算时,运算结果的正负取决(

被模数

)的符号,与模数的符号无关。

8、在进行除法运算时,当除数和被除数都为整数时,得到的结果也是一个(

整数

)。

9、C语言中的数据类型可分为

4种,分别是(

基本类型

)、构造类型、指针类型、空类

型。

10、注释有两种类型,分为(

单行注释

)和多行注释。

11、整型变量是用来存储整型数据,(

实型

)变量用来存储小数类型。

12、实型常量也称为浮点数常量,可以分为单精度浮点数和(

双精度

)两种类型。

13、sizeof运算符用于获取某一数据或(

数据类型

)在内存中所占的字节数。

14、在C语言中,如果除法运算有浮点数参与运算,得到一个(

浮点

)型结果。

15、C语言的比较运算中,“真”用数字“(

1

)”来表示,“假”用数字“(

0)”来表示。

16、在C语言中,常量包括(

整型常量

)、浮点数常量、字符常量等。

17、在C语言中,运算符都有一定的结合性,则赋值运算符的结合性为(

左结合

)。

18、赋值运算符的作用就是将常量、变量或(

表达式

)的值赋给某一个变量。

19、已知a=10,b=20,则表达式!

a

1

)。

20、在C语言中,(sizeof

)运算符可以求算出数据字节数。

21、关系运算符中表示不等于的运算符是

“(

!

=

)”。

22、关系运算符的结果用逻辑值(

)和(

假)来表示。

23、在C语言的运算符中,(

关系

)运算符和逻辑运算符是用

“真”和“假”来表达结果。

24、C语言中的基本数据类型分别是整型变量、实型变量、

字符型

)、枚举型变量。

四.阅读程序,填空。

 

1、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:

通过输入成绩,为成绩评等级,90~100为A,80~89为B,70~79为C,60~69为D,60以下为E。

#include

voidmain()

{

intscore;

printf("Pleaseinputyourscore:

");

scanf("%d",&score);

switch(score/10)

{

case10:

case9:

printf("YourlevelisA.\n");

break;

case8:

printf("YourlevelisB.\n");

break;

case7:

printf("YourlevelisC.\n");

break;

case6:

printf("YourlevelisD.\n");

break;

(default)

printf("YourlevelisE.\n");

}

}

2、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:

从键盘上输入一行字

符(不多于40个,以回车换行符作为输入结束标记),将其中的大写字母改为小写字母,其它字符不变,然后逆向输出。

voidmain()

{

chara[40];

intn=0;

do

{

scanf("%c",&a[n]);

if(a[n]>=’A’&&a[n]<=’Z)

a[n]+=32;

n++;

}while(__a[n-1]_!

='\n');

n=n-2;

while(n>=0)

printf("%c",a[n--]);

 

}

3、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:

求s=3+5+7+⋯+29之

和。

voidmain()

{

inti,sum=0;

for(i=3;i<=29;_i=i+2__)

sum=sum+i___;

printf("sum=%d\n",sum);

}

4、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:

从键盘输入一个年份

数据,判断此年份是否为闰年。

(注:

满足下面两个条件中的一个即为闰年:

一、400的倍数;二、4的倍数但不是100的倍数)。

voidmain()

{

intx,i;

scanf("%d",&x);

if(x%400==0)

i=1;

elseif(_x%100!

=0&&x%4==0__)

i=1;

else

__i=0__;

if(i==1)

printf("该年为闰年\n");

if(i==0)

printf("该年为平年\n");

}

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

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

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

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