实验六选择结构(If语句) 预习内容 1.逻辑运算符、if语句格式和功能 2.复合语句的作用和注意事项 实验目的 1.掌握利用if语句实现选择结构程序设计的方法 2.掌握逻辑运算符的使用方法 三、实验内容 程序(一)功能:验证逻辑运算符的结果。 参考程序 malI inta=3,b=4,c=5; printf("%dn",a+b&b==c);/*输出“逻辑与”运算的值*/ printf ("d\", a>b b-c) /*输出“逻辑或”运算的值*/ printf(%d\n",!( a>b)) /*输出“逻辑非”运算的值*/ printf(%d\n, al=c!b &&(a=1)) 程序(二)功能:编程实现任意三个数的升序排序 参考程序 maino Float a, b,c, t scanf(%f, %f, %f, &a, &b, &c) if(a>c) printf("‰5.2f,%5.2f,%5.2f\n",a,b,c); 程序(三)功能:编程实现求分段函数的值 0(x=0)
16 实验六 选择结构(If 语句) 一、预习内容 1.逻辑运算符、if 语句格式和功能 2.复合语句的作用和注意事项。 二、实验目的 1.掌握利用 if 语句实现选择结构程序设计的方法 2.掌握逻辑运算符的使用方法。 三、实验内容 程序(一) 功能:验证逻辑运算符的结果。 参考程序: main() {int a=3,b=4,c=5; printf("%d\n", a+b && b==c ); /* 输出“逻辑与”运算的值*/ printf("%d\n", a>b || b-c); /* 输出“逻辑或”运算的值*/ printf("%d\n",!( a>b)); /* 输出“逻辑非”运算的值*/ printf("%d\n", a!=c || !b && (a=1)); } 程序(二) 功能:编程实现任意三个数的升序排序。 参考程序: main() {float a,b,c,t; scanf("%f,%f,%f",&a,&b,&c); if (a>b) _________________ if(a>c) __________________ if(____) __________________ printf("%5.2f,%5.2f,%5.2f\n",a,b,c); } 程序(三) 功能:编程实现求分段函数的值。 -1 (x<0) y= 0 (x=0) 1 (x>0)
四、问题 1.复合语句的作用是什么? 2.如果把程序一中的输出函数语句 printf("%dn",!(a>b);中逻辑表 达式!(a>b)的括号去掉,结果是否相同。为什么? 3.程序一运行完以后,变量a的值是多少?为什么? 4.把程序二补充完整。 5.当将上述程序中的某个复合语句的{删去后,程序运行时会发生什变 化 6.独立完成程序三的编程
17 四、问题 1. 复合语句的作用是什么? 2. 如果把程序一中的输出函数语句 printf("%d\n",!(a>b));中逻辑表 达式!(a>b)的括号去掉,结果是否相同。为什么? 3. 程序一运行完以后,变量 a 的值是多少?为什么? 4. 把程序二补充完整。 5. 当将上述程序中的某个复合语句的{}删去后,程序运行时会发生什变 化? 6. 独立完成程序三的编程
实验七选择结构( Switch语句) 预习内容 预习 switch语句的定义格式及执行过程。 二、实验目的 掌握 switch语句中条件与程序流程关系。 实验内容 程序(一)功能:用户键入任意两个操作数和“+、-、*、/”中一个运算 符,由计算机输出运行结果。 参考程序: #include<stdio. h> malI float result, x,y printf( \input x, y: scanf (%f, %f, &x, &y) printf( \input operator(+,,,/): " scanf("%",&ch) result=o switch(ch) result=xty: break case result=x-y: break result=x*y: break case ' if(y!=0. 0) result=x/y else printf("divide overflow") default printf( sorry you have make mistakes please do it again") printf(%6. 2f%c%6. 2f=, x, ch, y) printf(%6. 2f\n", result
18 实验七 选择结构(Switch 语句) 一、预习内容 预习 switch 语句的定义格式及执行过程。 二、实验目的 掌握 switch 语句中条件与程序流程关系。 三、实验内容 程序(一) 功能:用户键入任意两个操作数和“+、-、*、/”中一个运算 符,由计算机输出运行结果。 参考程序: #include<stdio.h> main() { float result,x,y; char ch; printf("\ninput x,y:"); scanf("%f,%f",&x,&y); printf("\ninput operator(+,-,*,/):"); scanf(" %c",&ch); result=0; switch(ch) {case '+': result=x+y; break; case '-': result=x-y; break; case '*': result=x*y; break; case '/': if(y!=0.0) result=x/y; else printf("divide overflow"); default: printf("sorry you have make mistakes please do it again"); } printf("%6.2f%c%6.2f=",x,ch,y); printf("%6.2f\n",result);