第四章 选择结构程序设计 1.1填空题 1.写出下面各逻辑表达是的值。设a=3,b=4,c=5 )a+b>c&b=c值是 (②)ab+c&b-c值是 (3)!(a>b)&!cl1值是 (4)!(x=a)&(y=b)&最0值是 (⑤!(a+b)+c-1&最b+c/2值是 2.在C语言中,表示逻辑”真值用 3.设y为it型变量,请写出描述“y是奇数”的表达式 4.C语言提供的三种逻辑运算符是_ 2.2单项选择题 1.下列运算符中优先级最高的是()答案:B A.=y&&ch<B'&&Iy)的值是() A.0 B.语法错误 C.1D.”假 4.为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总 是与()配对 A缩排位置相同的f B.其之前最近的f C其之后最近的if D.同一行上的if 3.3编程题
第四章 选择结构程序设计 1.1 填空题 1.写出下面各逻辑表达是的值。设 a=3,b=4,c=5。 ⑴ a+b>c && b==c 值是 。 ⑵ a||b+c && b-c 值是 。 ⑶ !(a>b) && !c||1 值是 。 ⑷ !(x==a) && (y=b) && 0 值是 。 ⑸ !(a+b)+c-1 && b+c/2 值是 。 2. 在 C 语言中,表示逻辑”真”值用 。 3.设 y 为 int 型变量,请写出描述“y 是奇数”的表达式 。 4.C 语言提供的三种逻辑运算符是 。 2.2 单项选择题 1.下列运算符中优先级最高的是( )答案:B A.= y && ch < ’B’ && ! y )的值是( ) A.0 B.语法错误 C.1 D.”假” 4.为了避免在嵌套的条件语句 if-else 中产生二义性,C 语言规定: else 子句总 是与( )配对. A.缩排位置相同的 if B.其之前最近的 if C.其之后最近的 if D.同一行上的 if 3.3 编程题
1.给一个不多于5位数的正整数,要求:①求出它是几位数:②分别打印出 每一位数字:③按逆序打印出各位数字,例如原数为321,应输出123。 2.输入4个整数,要求按由小到大的顺序输出。 4.4阅读程序,写出程序运行结果 程序一main0 inta.b.c; a=b=c=1; printf("(1)%d\n",++all ++&++c) printf("(2)%d\t%d\t%d\n"a.b.c). printf("(3)%d\n",++a&&++b+c); printf("(4)%dt%d\t%d\n".a.b.c). printf("(5)%d\n"-a ll-bll-c). printf("(6%dt%d\t%dn"ab.c). printf("(7)%dn",-a&&b&&-c). printf("(8)%dt%dlt%dn"a,b.c). printf ("(9)%d\n".-al-b-c): printf("%dt%dt%dn"a,b.c) 执行结果是」 程序二maim() if(2*2==5<2*2==4) printf("T方 else printf("F"方 执行结果是」
1.给一个不多于 5 位数的正整数,要求:①求出它是几位数;②分别打印出 每一位数字;③按逆序打印出各位数字,例如原数为 321,应输出 123。 2. 输入 4 个整数,要求按由小到大的顺序输出。 4.4 阅读程序,写出程序运行结果 程序一 main() { int a,b,c; a=b=c=1; printf("⑴%d\n",++a || ++b && ++c); printf("⑵%d\t%d\t%d\n",a,b,c); printf("⑶%d\n",++a && ++b|| ++c); printf("⑷%d\t%d\t%d\n",a,b,c); printf("⑸%d\n",-a || -b || -c); printf("⑹%d\t%d\t%d\n",a,b,c); printf("⑺%d\n",-a && -b && -c); printf("⑻%d\t%d\t%d\n",a,b,c); printf ("⑼%d\n",-a||-b && -c); printf("⑽%d\t%d\t%d\n",a,b,c); } 执行结果是 。 程序二 main( ) { if (2*2= =5<2*2 = = 4) printf(“T”); else printf(“F”); } 执行结果是
程序三main() int a.b.c: ints.w.t s-w-t-0; a=-1;b=3,c=3; if(c心0)s=a+b if(a0) if(c0)w=a-b: else t=c; printf(%d%d%d“s,w,t 执行结果是」 5.5上机实验实训 1.实验目的和要求: I)掌握用if语句,switeh语句实现分支的方法。 (2)学握f语句的潜逃使用及多分支程序的实现方法 2.实验内容: (I)输入三个整数ab,c,按从小到大的顺序进行输出。 编写程序如下: main() int a,b,c,t; scanf(“%d%d%d”,&a,&bh,&c); if(a b)
程序三 main ( ) { int a,b,c; int s,w,t; s=w=t=0; a=-1;b=3;c=3; if (c>0) s=a+b; if (a0) if (c0) w=a-b; else t=c; printf(“%d %d %d “,s,w,t); } 执行结果是 。 5.5 上机实验实训 1.实验目的和要求: ⑴掌握用 if 语句,switch 语句实现分支的方法。 ⑵掌握 if 语句的潜逃使用及多分支程序的实现方法。 2.实验内容: ⑴输入三个整数 a,b,c,按从小到大的顺序进行输出. 编写程序如下: main( ) { int a,b,c,t; scanf(“%d %d %d”, &a,&b,&c); if(a > b)
(a:a-b:b-t:) if(a>c) [t=a;a=c.c=t;) if(b>c) {t=b:b=c:c=t:} Printf(%d,%d,%dn”,a,b,c片 } 要求: ①运行一次程序并检查运行结果是否正确。 ②如果是输入四个整数,那么编写出程序并调试运行。 (2)给出一百分制成绩,要求输出成绩等级‘A'、B'、‘C'、D'、E'。 90分以上为‘A',80分为B',70~79分为C',60~69分为D', 60分以下为‘E'。 编写程序如下: Main() int number,md;char cl; scanf(“%d”,&number) md =number/10; switch(md) case 10: case 9: cl=’A': break: case 8: cl='B'; break; case 7: cl='c';
{a;a=b;b=t;} if (a > c) {t=a;a=c;c=t;} if ( b > c) {t=b;b=c;c=t;} Printf(“%d,%d,%d\n”,a,b,c); } 要求: ① 运行一次程序并检查运行结果是否正确。 ② 如果是输入四个整数,那么编写出程序并调试运行。 ⑵给出一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。 90 分以上为‘A’,80 分为‘B’,70~79 分为‘C’,60~69 分为‘D’, 60 分以下为‘E’。 编写程序如下: Main( ) { int number,md;char c1; scanf(“%d”,&number); md =number/10; switch(md) { case 10: case 9: c1=’A’; break; case 8: c1=’B’; break; case 7: c1=’c’;
break: case 6: cl='d'; break: case 5: case 4: case 3: case 2: case 1: case 0: cl='e'; break: Printf(“%d\n”,cl): 要求 ①运行程序并检查运行结果是否正确。 ②再运行一次程序,输入分数为负值,这显然是输入时出错,不 应该给出等级,。修改程序,使之能正确处理任何数据,添加程 序的容错处理。 ③改用f语句编写以上程序并调试运行
break; case 6: c1=’d’; break; case 5: case 4: case 3: case 2: case 1: case 0: c1=’e’; break; } Printf(“%d\n”,c1); } 要求: ① 运行程序并检查运行结果是否正确。 ② 再运行一次程序,输入分数为负值,这显然是输入时出错,不 应该给出等级,。修改程序,使之能正确处理任何数据,添加程 序的容错处理。 ③ 改用 if 语句编写以上程序并调试运行
5.上机题
5.上机题