课后习题
1.什么是算术运算?什么是关系运算?什么是逻辑运算?
key:
2.C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?
3.写出下列各逻辑表达式的值。设a=3,b=4,c=5;
(1)a+b>c&&b==c
key:
4
5
6
7
8
9
10
11
12
正文
4.1选择结构和条件判断
例4.1
#include <stdio.h>
#include <math.h>
int main()
{
double a,b,c,disc,x1,x2,q,p;
scanf("%lf%lf%lf",&a,&b,&c);
disc=b*b-4*a*c;
if(disc<0)
printf("This equation hasn't real roots\n");
else
{
p=-b/(2.0*b);
q=sqrt(disc)/(2.0*a);
x1=q+p;
x2=p-q;
printf("real roots:\nx1=%7.2f\nx2=%7.2f\n",x1,x2);
}
return 0;
}
运行结果如下:
6 3 1
This equation hasn't real roots
Press any key to continue
2 4 1
real roots:
x1= 0.21
x2= -1.21
Press any key to continue
4.2 用if语句实现选择结构
#include <stdio.h>
#include <math.h>
int main()
{
float a,b,t;
scanf("%f,%f",&a,&b);
if(a>b)
{
//a和b的值呼唤
t=a;
a=b;
b=t;
}
printf("%5.2f,%5.2f\n",a,b);
return 0;
}
运行结果如下:
3.6,-3.2
-3.20, 3.60
Press any key to continue
例4.3
#include <stdio.h>
#include <math.h>
int main()
{
float a,b,c,t;
scanf("%f,%f,%f",&a,&b,&c);
if (b>a)
{
t=b;
b=a;
a=t;
}
if(c>a)
{
t=a;
a=c;
c=t;
}
if(c>b)
{
t=c;
c=b;
b=t;
}
printf("三个数中最大的是%f%f%f\n",a,b,c);
return 0;
}
运算等级:
关系运算符。赋值运算符。
条件运算符
赋值运算符