一、程序的执行顺序
1、自上向下 , 自左向右 执行
二、流程控制语句作用
1、控制程序的执行顺序
--控制条件 -- 执行内容
三、流程控制语句的分类
1、选择结构--2 条
2、循环结构--3 条
3、控制语句--4 条
四、选择结构
1、if选择结构
(1)如果小刚的考试成绩大于90分,给予奖励
①基本if选择结构
--if(所需条件){需要执行的代码}
代码实现:
#include<stdio.h>
int main()
{
printf("输入成绩:");
int score=0;
scanf("%d",&score);
if(score>90)
{
printf("给予奖励\n");
}
return 0;
}
(2)如果小明的考试成绩大于90分,给予奖励,否则惩罚。
①if else 选择结构
-- if(条件表达式){为真-代码1}else{为假-代码2};
代码实现:
#include<stdio.h>
int main()
{
printf("输入成绩:");
int score=0;
scanf("%d",&score);
if(score>90)
{
printf("给予奖励\n");
}
else
printf("惩罚\n");
return 0;
}
(3)根据小名的考试成绩进行评定,并给予不同的奖励
评定规则:成绩大于90给予100,成绩大于80给予50,成绩大于60给予10,成绩小于60个给予一套试卷。
①多重if选择结构 --else if 选择机构
--- if(条件表达式1){真-代码1}else if(条件表达式2){真-代码2}else if(条件表达式3){真-代码3}else {假-代码4}
代码实现:
#include<stdio.h>
int main()
{
printf("输入成绩:");
int score=0;
scanf("%d",&score);
if(score>90)
{
printf("给予100\n");
}
else if(score>80)
{
printf("给予50\n");
}
else if(score>60)
{
printf("给予10\n");
}
else
{
printf("给予一套试卷\n");
}
return 0;
}
(3)if 选择语句的嵌套使用
输入一个成绩,大于90时进行评定,小于90视为淘汰,成绩大于90三等奖,大于95二等奖,大于98一等奖,等于100特等奖。
代码实现:
#include<stdio.h>
int main()
{
printf("输入成绩:");
int a=0;
scanf("%d",&a);
if(a>90)
{
if(a==100)
{
printf("特等奖\n");
}
if(a>98)
{
printf("一等奖\n");
}
else if(a>95)
{
printf("二等奖\n");
}
else
{
printf("三等奖\n");
}
}
else
{
printf("淘汰\n");
}
return 0;
}
(4)if选择结构注意事项
①三种if选择结构可以嵌套使用
②当if选择结构的{}内只有一句代码时,{}可以省略------不建议
③if选择结构大多适用于区间范围的判断
2、switch选择结构
(1)根据输入的数字,显示对应的星期几。
语法:
switch(变量) --该变量目前仅支持int类型
{
case n: -----n,变量可能会输入的值
代码 1;
break; ------break-中途跳出switch,不再进行匹配
case n: ----多个case值,不能重复出现
代码2;
break;
...........需要几个便量重复 case语句
default: --兜底匹配-----所有的case无法被匹配,会进入default
(兜底输出内容)代码;
break;
}
代码实现:
#include<stdio.h>
int main()
{
printf("输入一个数(1-7):");
int n=0;
scanf("%d",&n);
switch(n)
{
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
case 7:
printf("星期日\n");
break;
default:
printf("输入错误\n");
break;
}
return 0;
}
(2)注意事项
①switch 选择结构大多适用于等值选择 --菜单选择
②break 省略不写,switch 结构不会被影响,但是结果会被影响,不能中途退出,会把switch内容全部输出。
③default 省略不写,switch结构不会被影响,但是没有兜底匹配,一级相应输出内容
④default 在switch内的位置无关,switch 优先匹配case值,case匹配没有,才会进入dafault。