实验内容
程序 (一 ) 功能,验证逻辑运算符的结果。
参考程序,
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)
{ 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 (x<0)
y= 0 (x=0)
1 (x>0)
程序 (三 ) 功能,编程实现求分段函数的值。
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,因为在语句 printf(“%d\n”,a!=c || !b && (a=1));
给 a赋新值1。
4、把程序二补充完整。
5、当将上述程序中的某个复合语句的 {}删去后,
程序运行时会发生什变化? 答:出错
6、独立完成程序三的编程。
程序 (一 ) 功能,验证逻辑运算符的结果。
参考程序,
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)
{ 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 (x<0)
y= 0 (x=0)
1 (x>0)
程序 (三 ) 功能,编程实现求分段函数的值。
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,因为在语句 printf(“%d\n”,a!=c || !b && (a=1));
给 a赋新值1。
4、把程序二补充完整。
5、当将上述程序中的某个复合语句的 {}删去后,
程序运行时会发生什变化? 答:出错
6、独立完成程序三的编程。