第四讲分支结构本节学习目标
分支结构
– If语句
– If…else 语句
– 多重 If…else 语句
– If语句嵌套
– Switch语句分支结构
star
end
输入两个数
a,b
A<b?
输出b,a;
输出
a,b;
yes
no
分支条件表达式
条件运算符
– >,<,>=,<=,!=,==
逻辑运算符
– !,&&,||
运算符之间的关系
– 算术运算符 >关系运算符 >逻辑运算符 >赋值关系符分支表达式
If语句
If…else 语句
多重 If…else 语句
If语句嵌套
Swithc…case 语句
if语句
格式:
If(条件表达式 )
{
– 语句
}
if示例
输入两个整数,
从大到小输出。
(只能使用一个
printf语句 )
#include <stdio.h>
void main()
{
int a,b;
int temp;
printf("请输入两个整数,");
scanf("%d,%d",&a,&b);
if (a<b)
{
temp=a;
a=b;
b=temp;
}
printf("%d,%d\n",a,b);
}
课堂练习
输入一个数,判断是否能被 3整除,若能被 3整除,输出这个数。
If…else 语句
格式
If (条件表达式 1)
{
– 语句 1;
}
Else
{
– 语句 2;
}
If…else 语句示例
输入两个整数,从大到小输出。
#include <stdio.h>
void main()
{
int a,b;
printf("请输入两个整数,");
scanf("%d,%d",&a,&b);
if (a>b)
{
printf("a=%d,b=%d\n",a,b);
}
else
{
printf("b=%d,a=%d\n",b,a);
}
}
课堂练习
输入两个数,输出其中最大的一个数。
输入一个数,判断这个数的奇偶性。
多重 if…else 语句
格式:
– If (条件表达式 1)
– {
语句 1
– }
– else if (条件表达式 2)
– {
语句 2
– }
– else if
– ……
if…else 示例
#include <stdio.h>
void main()
{
int x,y;
printf("请输入 X的值,");
scanf("%d",&x);
if (x>0)
{
y=1;
printf("y=%d\n",y);
}
else if (x==0)
{
y=0;
printf("y=%d\n",y);
}
else if(x<0)
{
y=-1;
printf("y=%d\n",y);
}
}
y =
1
0
-1
X>0
X=0
X<0
课堂练习
输入学生成绩,来评定学生等级。
要求:
成绩 >=90分,显示是,A”
成绩 >=80分,显示是,B”
成绩 >=70分,显示是,C”
成绩 >=60分,显示是,D”
成绩 <60分,显示是,E”
If语句的嵌套
格式:
– If (表达式 1)
– {
If (表达式 2)
{
– 语句 1
}
If (表达式 3)
{
– 语句 2
}
……
– }
If语句嵌套示例
#include <stdio.h>
void main()
{
int x,y;
printf("请输入 X的值,\n");
scanf("%d",&x);
if (x>=0)
{
if (x>0)
{
y=1;
printf("y=%d\n",y);
}
else
{
y=0;
printf("y=%d\n",y);
}
}
else
{
y=-1;
printf("y=%d\n",y);
}
}
课堂练习
输入三个数,输出其中最大的一个数,
Switch语句
格式
– switch (表达式 )
– case 常量 1:
语句 1;
break;
– case 常量 2:
语句 2;
break;
– ……
– default,
语句 n;
Break;
Switch语句示例
#include <stdio.h>
void main()
{
int score;
printf("请输入你的成绩,");
scanf("%d",&score);
switch (score/10)
– {
case 10:
case 9:
putchar('A');
break;
case 8:
putchar('B');
break;
case 7:
putchar('C');
break;
case 6:
putchar('D');
break;
default:
putchar('E');
break;
}
}
课堂练习
一周食谱,
– 星期一,青菜
– 星期二,鸡
– 星期三,鱼
– 星期四,肉
– 星期五,鸡蛋
– 星期六,海鲜
– 星期七,豆制品
要求,输入一个 1-7数字,显示食谱内容,
作业
写出下列问题的程序:
– 输入一个小写字母,将其以大写的形式输出。
– 输入三个数,按从大到小的顺序输出。
– 输入一个年份,判断其是否是闰年。
– 输入 a,b,c,计算 ax2+bx+c=0的根
– 输入三条边,判断给定的三条边是否能组成等腰三角型。