一、选择结构和条件判断
C语言有两种选择语句:
if语句,用来实现两个分支的选择结构
switch语句,用来实现多分支的选择结构
二、用if语句实现选择结构
1、用if语句处理选择结构举例
①输入两个实数,按由小到大的顺序输出这两个数。
解题思路: 只要做一次比较,然后进行一次交换即可。用if语句实现条件判断。
```
#include <stdio.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个数a,b,c,要求按由小到大的顺序输出。
算法步骤:
S1: if a>b,将a和b对换 (交换后,a是a、b中的小者)
S2: if a>c,将a和c对换 (交换后,a是a、c中的小者,因此a是三者中最小者)
S3: if b>c,将b和c对换 (交换后,b是b、c中的小者,也是三者中次小者)
S4: 顺序输出a,b,c
#include <stdio.h>
int main()
{
float a,b,c,t;
scanf("%f,%f,%f",&a,&b,&c);
if(a>b)
{ t=a; //借助变量t,实现变量a和变量b互换值
a=b;
b=t;
} //互换后,a小于或等于b
if(a>c)
{ t=a; //借助变量t,实现变量a和变量c互换值
a=c;
c=t;
} //互换后,a小于或等于c
if(b>c) //还要
{ t=b; //借助变量t,实现变量b和变量c互换值
b=c;
c=t;
} //互换后,b小于或等于c
printf("%5.2f,%5.2f,%5.2f\n",a,b,c); //顺序输出a,b,c的值
return 0;
}
运行结果:
2、if语句的一般形式
“表达式”可以是关系表达式、逻辑表达式,甚至是数值表达式
方括号内的部分(即else子句)为可选的,既可以有,也可以没有
语句1和语句2可以是一个简单的语句,也可以是一个复合语句,还可以是另一个if语句
三、关系运算符和关系表达式
在C语言中,比较符(或称比较运算符)称为关系运算符。所谓“关系运算”就是“比较运算”,将两个数值进行比较,判断其比较的结果是否符合给定的条件。
1、关系运算符及其优先次序
~前4种关系运算符的优先级别相同,后2种也相同。前4种高于后2种。
~关系运算符的优先级低于算术运算符。
~关系运算符的优先级高于赋值运算符。
c>a+b 等效于c>(a+b)(关系运算符的优先级低于算术运算符)
a>b==c 等效于(a>b)c(大于运算符>的优先级高于相等运算符)
ab<c 等效于a(b<c)(小于运算符<的优先级高于相等运算符==)
a=b>c 等效于a=(b>c)(关系运算符的优先级高于赋值运算符)
2、关系表达式
用关系运算符将两个数值或数值表达式连接起来的式子,称为关系表达式。
关系表达式的值是一个逻辑值,即“真”或“假”。
在C的逻辑运算中,以“1”代表“真”,