目录
一. 什么是流程控制
程序代码执行的顺序
当我们写一个程序,这个程序里应有许多条代码,这个时候就会有一个问题,哪行代码会先执行,哪行会后执行。一般来讲,代码会从上往下执行,但是,有可能第一个执行,第二个不执行,然后执行第三个。也可能从三到四重复执行。换句话说,这个执行的顺序不单纯是一个一个去执行
,所以说我们需要掌握流程控制。
二. 流程控制的分类
顺序
选择
循环
2.1 选择 -if的简单用法
首先选择的定义是 某些代码可能执行,也可能不执行,有选择的执行某些代码
#include<stdio.h>
int main(void)
{
if (3 < 9) //if(表达式)
printf("yyds\n"); //会输出
if (0 > 8)
printf("ok,man\n"); //不会输出
if (3 == 3)
printf("39天下第一"); //会输出
return 0;
}
如果表达式成真,执行语句 。 如果表达式为假,不执行语句
2.2 if的选择范围
#include<stdio.h>
int main(void)
{
if (6 > 5)
printf("yes"); //输出
printf("no"); //输出
return 0;
}
在这里,首先yes是一定会输出的,如果no不属于if语句。那no就属于第二个语句,if是第一个语句。也就是说printfyes属于if语句,那printfno属于第二个语句,而第二语句一定会执行,因为整个程序从逻辑上讲整体是从上往下执行,所以no也会输出
#include<stdio.h>
int main(void)
{
if (3> 5)
printf("yes"); //不输出
printf("no"); //输出
return 0;
}
理论上讲,如果if为假,应该不输出。而此时,no属于if语句,if控制了no语句。\
总结 if默认的只能控制一个语句的执行或不执行
if(表达式)
语句A;
语句B;
解释 if默认控制语句A的执行或不执行
if无法控制语句B的执行或不执行
也就是说语句B一定执行
if(表达式)
{
语句A
语句B
}
由此可见,如果想控制多个语句的执行或不执行就必须把这些语句用{}括起来
#include<stdio.h>
int main(void)
{
if (9> 5)
{
printf("yes\n"); //输出
printf("no\n"); //输出
}
return 0;
}
2.3 if...else...的用法
#include<stdio.h>
int main(void)
{
if (3 > 1)
printf("okk\n"); //输出
else
printf("no\n"); //不输出
printf("yyds\n"); //输出
return 0;
}
在这里,yyds不属于if else里的,okk属于if里的,no属于else里的,yyds与if else无关系。所以yyds一定会输出。
注意,此时我们的程序里有两个语句if else一个,printf一个,要注意格式
2.4 if...else if...else的用法
include<stdio.h>
int main(void)
{
double delta = 3;
if (delta > 0)
printf("有两个解!\n");
else if (delta == 0)
printf("有一个唯一解!\n");
else ("无解!\n");
return 0;
}
如果delta成立,就要执行有两个解!否则就要执行有一个唯一解!但如果它们都不成立,就要执行无解!
格式
if (1)
A ;
else if (2)
B;
else if(3)
C;
else
D;
如果D成立,则前三个都不成立
三. if举例
3.1 求分数的等级
#include<stdio.h>
int main(void)
{
float score; //score分数
printf("请输入您的考试成绩:");
scanf_s("%f",&score);
if (score > 100)
printf("白日做梦!\n");
else if (score >= 90 && score <= 100) //不能写成 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("你干嘛 啊啊啊啊");
return 0;
}
感谢大家的观看,谢谢