C语言选择结构作业(含解答)

2020-04-18 06:22

选择结构作业解答(3)

一、选择题:

1. 判断char型变量ch是否位数字的表达式的是:

a) ?0? < = ch <= ?9? b) (ch > ?0?)&&( ch = ?0?)&&( ch <= ?9?) d) (ch >= ?0?)||( ch <= ?9?)

答案:b)

2. 能正确表示a和b不同时为0的逻辑表达式的是:

a) a*b==0 b) (a==0)||( b==0) c) (a==0&&b!=0)&&( b==0&&a!=0) d)(a! = 0)||( b != 0)

答案:d) 解答:

3. 能表示a不能被2整除且a、b不相等,但a、b的和等于0的C语言逻辑表达式是:

a) a==-b && a%2==0 b) a!=b && a+b==0 && a%2 c) !(a%2)&&a==-b d) a%2==0 a+b==0

答案:d) 解答:

4. 有以下程序:

#include

void main { int x=2,y=3,z;

char ch=‘a’; z=(x||!y)&&(ch>?A?); }

程序运行后z的值是 a)true b)false c)0 d)1

5. 关于if后面一对圆括号中的表达式,叙述正确的是

a) 只能用关系表达式 b) 只能用逻辑表达式

c) 只能用关系表达式或逻辑表达式 d) 可以使用任意合法的表达式 6. 对switch后面一对圆括号中的表达式,叙述正确的是

a) 只能用数字 b) 可以是浮点数 c) 只能用整型数据或字符型数据 d)以上叙述都不对 7. 以下不正确的if语句是

a) if (a

c) if (a=b) printf(“equal”); c)if (a>b)&&(b>c) printf(“max=%d”, a); 8. 有以下程序:

#include void main()

{ int m=-2;

if(m=0) printf(“@@@”); else printf(“%%%”); } 程序运行后的输出结果是:

a)@@@ b)%%% c)%% d)@@@%%%

9. 有以下程序:

#include

void main()

{ int a=12,b=20,t=18;

if(a>b) t=a;a=b;b=t;

printf(“a=%d,b=%d,t=%d”,a,b,t); } 程序运行后的输出结果是:

a)a=12,b=20,t=18 b)a=20,b=18,t=18 c) a=20,b=12,t=12 d)a=20,b=18,t=12

10. 有以下程序:

#include void main()

{ int t=65;

if(t>45) printf(“%d”,t); else printf(“%d”,t); if(t>35) printf(“%d”,t);

else printf(“%d”,t); if(t>25) printf(“%d”,t); } 程序运行后的输出结果是:

a)65 b)6565 c) 656565 d)不确定的值

11. 有以下程序:

#include void main()

{ int t=8;

if(t-->=8) printf(“%d\\n”,t--); else printf(“%d\\n”,t++); } 程序运行后的输出结果是:

a)9 b)8 c) 7 d)6

12. 有以下程序:

#include void main()

if(a%3>b) if(c>d)

if(b

{ int a=2,b=5,c=3,d=2,x;

a)6 b)3 c) 2 d)7

13. 与?y=(x>0?x:x<0?-x:0)?的功能相同的if语句是

a) if (x) b)if (x)

if(x>0) y=x; if(x>0) y=x;

else if(x<0) y=-x; else if(x<0) y=-x;

else y=0; else y=0;

d) y=0; c) y=-x;

if (x) if (x>=0) b) if (x>0) y=x; if(x>0) y=x; if(x>0) y=x; else if(x<0) y=-x;

else y=-x; else if(x==0) y=0; else y=0;

else y=-x;

else y=0;

14. 若a、b、c1、c2均是整型变量,x,y是浮点型变量,则以下正确的switch语句是 a) switch (c1+c2){

case 1:y=a+b;break; case 2:y=a-b;break; case 1:y=b-a;break;

}

c) switch (c1+c2);

{

case c1:y=a-b;break; case c2:x=a*b;break; default:x=a+b;

}

b) switch (x+y){ case 1:

case 2:printf(“%d”,a+b);break; }

d)switch (a-b){

default: y=a*b;break; case 10:

case 9: x=a+b;break; case 7:

case 5: y=b-a;break;

}

15. 以下关于switch和break语句的说法中正确的是

a) break语句只能用在switch语句中;

b) 在switch语句中,可以根据需要决定是否使用break语句; c) 在switch语句中必须使用break语句; d) 以上选项都不正确; 16. 有以下程序: #include void main()

{ int c;

c=getchar();

switch(c-?2?) { case 0: case 1: putchar(c+4); case 2: putchar(c+4);break;

case 3: putchar(c+3);

case 4: putchar(c+2);break;}

}

程序运行后,输入2<回车>,输出结果是:

a)66 b)6 c)6654 d)没有输出内容

二、填空题:

1. 关系运算符、逻辑运算符、算术运算符和赋值运算符的运算优先级顺序由高到低的排列顺序是 算术运算符、关系运算符、逻辑运算符、赋值运算符 。 2. 满足|y|<9的C语言表达式是 y>-9&&y<9 。

3. 设字符变量ch的值是大写英文字母,将它转换为相应的小写英文字母的C语言表

达式是 ch=ch+32 。

4. 判断字符变量ch的值是英文字母的C语言表达式是 ch>=?a?&&ch<=?z?|| ch>=?A?&&ch<=?Z? 。

5. 通过函数y=4+|x|计算函数值的if语句是 if(x>=0) y=4+x; else y=4-x; 。 6. 以下程序的功能是输入3个整型变量num1、num2、num3的值,然后对这3个变量

按从小到大的顺序排序。请填空。 #include

void main(){

int num1,num2,num3,temp;

printf(“please input three numbers:”); scanf(“%d%d%d”,&num1,&num2,&num3); if( ⑴ ){ temp=num1;num1= num2; num2=temp; } if( ⑵ ){ temp=num1;num1= num3; num3=temp; } if( ⑶ ){ temp=num2;num2= num3; num3=temp; }} 答案: (1)num1>num2 (2)num1>num3 (3)num2>num3

7. 以下程序的功能是输入3个整型变量num1、num2、num3的值,求它们中的最大值。

请填空。

#include

void main(){

int num1,num2,num3,temp;

printf(“please input three numbers:”); scanf(“%d%d%d”,&num1,&num2,&num3); if(num1>num2) max=num1; else ⑴ ; if( ⑵ ) max= num3;

printf(“The largest number is : %d.\\n”, max); }

答案: (1)max=num2 (2)num3>max

8. 以下程序的功能是从键盘输入一个年份year的值(4位十进制数),判断其是否闰

年。闰年的条件是:能被4整除,但不能被100整除;或者能被400整除。请填空。

#include

void main(){

int year,leap=0;

printf(“please input the year:”); scanf(“%d”,&year); if(year@0==0) leap=1; else if( ⑴ ) leap=1;

else ( ⑵ )

if( ⑶ ) printf(“ %d is a leap year.\\n”, year);

else printf(“ %d is not a leap year.\\n”, year); }

答案: (1)year%4==0&& year0!=0 (2)leap=0

(3)leap

9. 以下程序运行后,若从键盘输入5 5<回车>,则程序的输出结果是: #include

void main(){ int a,b;

scanf(“%d%d”, &a,&b); if(a>6) if(a<10) a++;

else a--; if(b>6)

{if(b<10) b++;}

else b--;

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

答案: a= 5,b=4

10. 以下程序运行后,若从键盘输入-123<回车>,则程序的输出结果是: #include

void main(){

int digit,in,s=0; scanf(“%d”, &in); if(in<0) in=-in;

digit =in;

s=s+ digit * digit ; digit =in/100; s=s+ digit * digit ;

printf(“ sum= %d \\n”, s); }

答案: sum= 10


C语言选择结构作业(含解答).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:面向对象程序设计-课程设计-实验报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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