什么是流程控制
程序代码执行的顺序
流程控制的分类
- 顺序
- 选择
- 定义:某些代码可能执行,也可能不执行,有选择的执行某些代码
- 分类
-
if
- if最简单的用法
格式:
if(表达式) 语句;
功能:如果表达式为真,执行语句,如果表达式为假,不执行语句;
- if的范围问题
if (表达式)
语句A;
语句B;
解释:if默认只能控制语句A的执行或不执行,无法控制语句B的执行与不执行
if(表达式)
{
语句A;
语句B;
}
此时if可以控制语句A和语句B的执行或不执行
由此可见:if默认只能控制一个语句的执行或不执行,如果想控制多个语句的执行或不执行就必须把这个语句用{}括起来 - if … else …的用法
- if … else if … else 的用法
- C语言对真假的处理
非用零表示,真用1表示 - if举例 – 求分数的等级
- if最简单的用法
-
# include <stdio.h>
int main(void)
{
float score; //分数
printf("请输入你的分数:");
scanf("%f", &score);
if(score > 100)
printf("这是在做梦\n");
else if (score >= 90 && score <= 100)
printf("优秀\n");
else if (score >= 80 && score < 90)
printf("良好\n");
else if (score >= 60 && score < 80)
printf("及格\n");
else if (score >= 0 && score < 60)
printf("不及格\n");
else
printf("输入分数过低\n");
return 0;
}
把两个变量的值互换
# include <stdio.h>
int main(void)
{
int i = 4;
int j = 8;
int t; // 临时变量
t = i;
i = j;
j = t;
printf("i = %d, j = %d", i, j);
return 0;
}
对任意三个数从大到小排序:
思路:如果a小于b,就互换a、b。如果a小于c,就互换a、c。如果b小于c,就互换b、c。
两个变量互换的时候,借用临时变量交换他们的值。
# include <stdio.h>
int main(void)
{
int a, b, c;
int t; // 临时变量
printf("请输入三个数字(以空格隔开):");
scanf("%d %d %d", &a, &b, &c);
if (a < b)
{
t = a;
a = b;
b = t;
}
if (a < c)
{
t = a;
a = c;
c = t;
}
if (b < c)
{
t = b;
b = c;
c = t;
}
printf("从大到小排序结果:%d %d %d", a, b, c);
return 0;
}
如何看懂一个程序:分三步
流程 每个语句的功能 试数
7. if常见问题析
+ c语言的空语句
空语句就是只有一个分号,他没有实际含义。
+ if后面加一个分号,会导致else或else if找不到与其匹配的if,会导致语法错误。
+ else 后面不能直接加括号,如果要加就必须加一个if
+ witch
- 循环