程序(一)功能:验证逻辑运算符的结果。 参考程序: main inta=3,b=4,c=5; printf(%d\n", atb && b==c /*输出“逻辑与”运算的值 printf("%d\n",ab b-c) /*输出“逻辑或”运算的值 printf (%d\n",! a>b)) /*输出“逻辑非”运算的值 rinf("‰dn" RR,(a=1)
实验内容 程序(一) 功能:验证逻辑运算符的结果。 参考程序: 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)); }
程序(二)功能:编程实现任意三个数的升序排序。 参考程序: maino float a b.c. t scanf(%f, %f, %f", &a, &b, &c) (a>b) if(a>b) st=a; a=b: b=tl if(a>c) t=a a=c; c=t; if(b>C t=bb≡cc=t} printf(°%5.2千,%52f,%52n",a,b,C);
程序(二) 功能:编程实现任意三个数的升序排序。 参考程序: main() {float a,b,c,t; scanf("%f,%f,%f",&a,&b,&c); if (a>b) { t=a;a=b;b=t;} if(a>c) {t=a;a=c;c=t;} if(b>c) {t=b;b=c;c=t;} printf("%5.2f,%5.2f,%5.2f\n",a,b,c); }
程序(三)功能:编程实现求分段函数的值 1(x0 main( float x,y; scanf(“%F”,8x); y=X, f(x=0) f(x>0)y=1; else y=-1 printf(y=%d,y)
-1 (x0) 程序(三) 功能:编程实现求分段函数的值。 main() { float x,y; scanf(“%f”,&x); y=x; if(x!=0) if(x>0) y=1; else y=-1; printf(“y=%d”,y); }
问题 1、复合语句的作用是什么? 答:交换两个变量的值。 2、如果把程序一中的输出函数语句 printf( %d\n"!(a>b)) 中逻辑表达式!(a>b)的括号去掉,结果是否相同.为什么 答:不同,因为“!”的结合律比“>”结合律高 3、程序一运行完以后,变量a的值是多少?为什么? 答:a的值是1,因为在语句pnte%dn,a=cb&&(a=1) 给赋新值1。 4、把程序土补充完整。 5、当将上述程序中的某个复合语句的{删去后, 程序运行时会发生什变化?答:出错 6、独立完成程序三的编程
问题 1、复合语句的作用是什么? 答:交换两个变量的值。 2、如果把程序一中的输出函数语句 printf("%d\n",!(a>b)); 中逻辑表达式!(a>b)的括号去掉,结果是否相同.为什么 答:不同,因为 “!”的结合律比“ >” 结合律高。 3、程序一运行完以后,变量a的值是多少?为什么? 答:a 的值是1,因为在语句printf(“%d\n”, a!=c || !b && (a=1)); 给a赋新值1。 4、把程序二补充完整。 5、当将上述程序中的某个复合语句的{}删去后, 程序运行时会发生什变化? 答:出错 6、独立完成程序三的编程