C语言习题集(4)

2020-03-26 23:20

case 1 : b++ ; break ; }

case 2:a++; b++; break; case 3:a++; b++; }

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

A)a=1,b=0 B)a=2,b=1 C)a=1,b=1 D)a=2,b=2

15.下述程序的输出结果是 。 main ( ) { int a,b,c;

int x=5,y=10;

a=(--y=x++) ? –y : ++x ; b=y++ ; c=x ;

printf(“%d,%d,%d”,a,b,c); }

A)6,9,7 B)6,9,6 C)7,9,6 D )7,9,7

16.当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是 。 if (a

if (c

if (a

if (b

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

17.在下面的条件语句中(其中S1和S2表示C语言语句),只有 一个在功能上与其他三个语句不等价。

A)if (a) S1; else S2; B)if (a==0) S2; else S1; C)if (a!=0) S1; else S2; D)if (a==0) S1; else S2;

18.若int i=0;执行下列程序后,变量i的正确结果是 。 switch (i) { case 9: i+=1 ;

case 10: i+=1 ; case 11: i+=1 ; default : i+=1 ; }

A)10 B)11 C)12 D)13

19.若有说明语句int i=5,j=4,k=6;float f;则执行f=(i

A)4.0 B)5.0 C)6.0 D)7.0

20.若有定义:int a=3,b=2,c=1;并有表达式:①a%b,②a>b>c,③b&&c+1,④c+=1,则表达式值相等的是 。

A)①和② B)②和③ C)①和③ D)③和④

二.填空题

1.C语言提供6种关系运算符,按优先级高低它们分别是 , , , , , 等。

2.C语言提供三种逻辑运算符,按优先级高低它们分别是 , , 。

3.设a=3,b=4,c=5,写出下面各逻辑表达式的值。 表达式 表达式运算后的值 a+b>c && b==c !(a>b) && !c || 1

!(a+b) + c –1 && b + c/2

4.写出数学式子 的C语言表达式 。

5.将条件“y能被4整除但不能被100整除,或y能被400整除”写成逻辑表达式 。

6.设x,y,z均为int型变量;写出描述“x,y和z中有两个为负数”的C语言表达式: 。

7.已知A=7.5,B=2,C=3.6,表达式A>B && C>A || AB的值

是 。

8.有int x=3,y=-4,z=5;则表达式(x&&y)==(x||z)的值为 。

9.若有x=1,y=2,z=3,则表达式(x

10.执行以下程序段后,a= ,b= ,c= 。 int x=10,y=9 ; int a,b,c ;

a = (x--=y++) ? x-- : y++ ; b = x++ ; c = y ;

三.判断题

1.if语句中的表达式不限于逻辑表达式,可以是任意的数值类型。【 】 2.switch语句可以用if语句完全代替。【 】 3.switch语句的case表达式必须是常量表达式。【 】

4.if语句,switch语句可以嵌套,而且嵌套的层数没有限制。【 】 5.条件表达式可以取代if语句,或者用if语句取代条件表达式。【 】 6.switch语句的各个case和default的出现次序不影响执行结果。【 】 7.多个case可以执行相同的程序段。【 】

8.内层break语句可以终止嵌套的switch,使最外层的switch结束。【 】 9.switch语句的case分支可以使用{ }复合语句,多个语句序列。【 】 10.switch语句的表达式与case表达式的类型必须一致。【 】

四.简答题

1.C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?

2.请将以下语句改成switch语句。 if ((s>0) && (s<=10))

if ((s>=3) && (s<=6)) x=2; else if ((s>1) && (s>8)) x=3; else x=1;

else x=0;

五.程序阅读题

1.若运行时输入100↙,写出以下程序的运行结果。 main ( ) { int a ;

scanf(“%d”,&a);

printf(“%s”,(a%2!=0)?”No”:”Yes”); }

2.写出以下程序的运行结果。 main ( )

{ int a=2,b=7,c=5; switch (a>0) {

case 1: switch (b<0) {

case 1: printf(“@”); break ; case 2: printf(“!”); break ; }

case 0: switch (c==5) {

case 1: pritnf(“*”) ; break ; case 2: printf(“#”) ; break ; default : printf(“#”) ; break ; }

default : printf(“&”); }

printf(“\\n”); }

六.程序判断题

1.下面程序将输入的大写字母改写成小写字母输出,其他字符不变;请判断下面程序的正误,如果错误请改正过来。 main ( ) { char c;

c = getchar ( ) ;

c = (c>=?A? | | c<=?Z?) ? c-32 : c+32 ; printf(“%c”,c); }

2.下面程序输入两个运算数x,y和一个运算符号op,然后输出该运算结果的值,例如输入3+5↙得到结果8;请判断下面程序的正误,如果错误请改正过来。 main ( ) {

float x,y,r; char op ;

scanf(“%f%c%f”,&x,&op,&y); switch (op) {

case ?+? : r=x+y ; case ?-? : r=x+y ; case ?*? : r=x+y ; case ?/? : r=x+y ; }

printf(“%f”,r); }

七.程序填空题

1.根据以下函数关系,对输入的每个x值,计算出相应的y值,请填(3)空使程序完整。 main ( ) {

int x,c,m; float y;

scanf(“%d”,&x); if (【1 】) c=-1; else c=【2 】 ; switch (c) {

case –1 : y=0 ; break ; case 0 : y=x ; break ;


C语言习题集(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: