一、选择结构与条件判断
1、解方程问题
#include<stdio.h>
#include<math.h> //程序中要调用平方根函数 sqrt
int main()
{
double a,b,c,disc,x1,x2,p,q;
scanf("%lf %lf %lf",&a&b&c);
disc=b*b-4*a*c;
if(disc<0)
printf("This equation has not real root.\n");
else{
p=-b/(2.0*a);
q=sqrt(disc)/(2.0*a);
x1=p+q;x2=p-q;
printf("real root:\nx1=%7.2f\nx2=%7.2f\n",x1,x2);
}
return 0;
}
二、关系运算符和关系表达式
1 <
2 >
3 <=
4 >= 优先级较高
5 ==
6 != 优先级较低
三、逻辑运算符与逻辑表达式
运算符 | 含义 |
---|---|
&& | 逻辑与 |
|| | 逻辑或 |
! | 逻辑非 |
非>或>与
四、条件运算符与条件表达式
条件运算符由两个符号(?和:)组成,必须一起使用 唯一三目运算符
max=(a>b)?a:b
等价于
if(a>b)
max=a;
else
max=b;
五、用switch函数实现多分支选择结构
运输公司折扣问题
#include<stdio.h>
int main()
{
int c,s;
float p,w,e,f;
printf("Please enter price,weight,discount");
scanf("%f %f %d",&p,&w,&s);
if(s>=3000) c=12;
else c=s/250;
switch(c)
{
case 0: d=0;break;
case 1: d=2;break;
case 2:
case 3: d=5;break;
case 4:
case 5:
case 6:
case 7: d=8;break;
case 8:
case 9:
case 10:
case 11: d=10;break;
case 12: d=15;break;
}
f=p*w*s*(1-d/100);
printf("freight=%10.2f\n",f);
return 0;
}