选择结构
知识要点
1.逻辑 与或非
2.逻辑值0与非0
3.关系运算
< <= > >= ==结果只有0和1
【例子1】
7<5 值为0
7>5>2 值为0 //先7>5为0,再0>2
4.避免浮点数比较
double a= 1.53,b = 1.53;
b-a<10e-6
5.逻辑运算符
&& || !
【例子2】
a = 0; b = 0; a++&&b++;//a变1,b变0;&&前为0,&&后不再做
a = 1; b = 0; a++||b++;//a变2,b为0 ;||前为1,后不再做
重点
1.if(表达式) 语句1;
2.if(表达式) 语句1;
else语句2
3.if(表达式)语句1
else if(表达式)语句2
else if(表达式)语句3
...
else 语句n
【例子1】
#include<stdio.h>
main()
{
int x,y;
printf("输入x,y:\n");
scanf("%d%d",&x,&y);//输入x与y
if(x>=y)
printf("x = %d",x);
else
printf("y = %d",y);//输出大的一个
}
【例子2】输入成绩,按成绩排列等级及输出
#include<stdio.h>
main()
{
int g;
printf("输入成绩:\n");
scanf("%d",&g);
printf("g = %d",g);
if(g>=90) printf("A\n");
else if (g>=80) printf("B\n");
else if (g>=70) printf("C\n");
else if (g>=60) printf("D\n");
else printf("E\n");
}
4.表达式1?表达式2:表达式3
【例子3】
y = x>10?100:200;
5.switch语句
switch(表达式)
{
case表达式1;语句1{【break;】
case表达式2;语句1{【break;】
case表达式3;语句1{【break;】
case表达式4;语句1{【break;】
default:语句n+1【break;】
}
【例子4】
#include<stdio.h>
main()
{
int g;
printf("输入成绩:\n");
scanf("%d",&g);
printf("g = %d",g);
switch(g/10)
{
case10;
case:printf("A\n")【break;】
case8:printf("B\n")【break;】
case7:printf("C\n")【break;】
case6:printf("D\n")【break;】
default:printf("E \n")【break;】
}
6.goto语句
goto语句标号;
stop:printf(“”stop“”);
goto stop;