理解选择分支语句
分支就是有多条路,因为有多条路才去选择走哪一条,有着不一样的条件才去选不一样的路,当条件成立之后才会选择想要走的路,例如,因为肚子饿才选择去食堂吃饱饭,因为上课时间到了才开始上课,等等…它们条件分别是肚子饿和上课时间到了。
写代码如写人生人生有选择,程序运行也有选择,我因为有什么条件,所以需要完成什么工作。
if与switch
在C语言上,选择分支语句分别有if else语句和switch语句,它们如字面的意思。
if else完整为if(表达式)语句;else语句;如图
if语句通俗来说就是如果(if)我这判断表达式(也可以是一个数值)成立(非0)我就执行语句1,然后退出if语句不再执行后面的else,否则(else)执行语句2,然后退出if语句。
switch语句通常用于判断条件有多个结果的情况下,完整形式大概为
switch(整型表达式)
{
case 整型表达式1:语句1;break;
case 整型表达式2:语句2;break;
.
.
.
case 整型表达式n:语句n;break;
default:语句n+1;break;
}
括号内与case后面必须为整型表达式,整型表达式,通常理解为得到的结果为整数,整数的类型通常包括char、short、int、long int、long long int,只要运算里面没出现小数,那么整型与整型之间的运算通常只会得到整型,也可以说整型表达式通常是几个整数之间的运算,当然不敢否定的是其他类型运算,只要最后结果被强行转换为整型,那么我也无法否定它不是整数。
switch后面括号里的整型表达式得到的结果通常要与下面case后面的整型表达式有一个对应,整型表达式也可以为一个常量,当整型表达式没有对应时,switch语句就会选择default后面的语句运行,default可以当作没有选择的路径后最后的一条小路。
break在switch中也有是至关重要的,没有break时,switch语句就不会跳出语句块,反而会继续执行下面的句子,直到遇到break或者最后一条语句再退出switch。
如图所示
注意:switch语句块里面最后一条可以不加break,个人建议加,因为容易乱。
if语句的应用
if语句后判断表达式为数值(非0)为真(是0)为假
判断表达式为数值:
#include <stdio.h>
int main() {
if (5) { //为真
printf("第一次:干饭\n");
}
else {
printf("第一次:内卷\n");
}
if (0) { //为假
printf("第二次:干饭\n");
}
else {
printf("第二次:内卷\n");
}
return 0;
}
判断表达式为变量判断:
#include <stdio.h>
int main() {
int age;
scanf("%d", &age);
if (age >= 18) {
pritnf("年龄为%d,可以谈恋爱\n", age);
}
else {
printf("年龄为%d,不建议谈恋爱\n", age);
}
return 0;
}
if…else if…else ,if…else的多分支应用:
int main() {
float score;
scanf("%f", &score);
if (score < 60 && score >=0) {
printf("不及格\n");
}
else if(score < 80){
printf("及格\n");
}
else if(score <= 100){
printf("优秀\n");
}
else {
printf("输入错误\n");
}
return 0;
}
switch的应用
整型表达式为数值,为变量,没有break的时候:
int main() {
int num = 2;
switch (2)
{
case 1:printf("第一\n");
case 2:printf("第二\n");
case 3:printf("第三\n");
}
scanf("%d", &num);
switch (num)
{
case 1:printf("第一\n"); break;
case 2:printf("第二\n"); break;
case 3:printf("第三\n"); break;
default:printf("NO\n"); break;
}
return 0;
}
后言
实在是写不下去了,如果代码有错或者哪里的表达出错,请见谅,图片没有return的话,不干扰,但是建议加上。