程序(一)功能:验证逻辑运算符的结果。 参考程序: main fint 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 & a=D)
实验内容 程序(一) 功能:验证逻辑运算符的结果。 参考程序: 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: scan("%6,%f,%f",&a,&b,&C); if (a>b) st=aa=b: b=t: L if(a>c) t= aa=cc= if(b>c) t=b: b=CC=t:] printf("9%5.2千,%52f,%52fn",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) maino Float x,y scanf(%F”,8x); y-x, f(x!=0) f(X>0)y=1; else y= 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,因为在语句prmt%dm”,a=c‖lb&&(a=1) 给a赋新值↓。 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、独立完成程序三的编程