前言
C语⾔是结构化的程序设计语⾔,这⾥的结构指的是顺序结构、选择结构、循环结构,C语⾔是能够实现这三种结构的,其实我们如果仔细分析,我们⽇常所⻅的事情都可以拆分为这三种结构或者这三种结构的组合。
在C语言中,我们就可以使⽤ if 、 switch 实现分⽀结构,使⽤ for 、 while 、 do while 实现循环结构。
这期博客先来看看 分支结构中的if switch语句
一、 if语句
1. if
if 语句的语法形式如下:
if ( 表达式 )
语句;
表达式成立(为真),则语句执行,表达式不成立(为假),则语句不执行
这里还要强调一下
在C语言中,0表示假,非0表示真
也就是表达式的结果如果是0,则语句不执行,表达式的结果如果是不是0,则语句执行。
下面有一个程序流程图,这样大家就会理解深刻
我们可以尝试使用一下
例:输⼊⼀个整数,判断是否为奇数
#include <stdio.h>
int main()
{
int num = 0;
scanf("%d", &num);
if (num % 2 == 1)
printf("%d 是奇数\n", num);
return 0;
}
程序执行过程是这样的
2. else
如果⼀个数不是奇数,那就是偶数了,如果任意⼀个整数,我们要清楚的判断是奇数还是偶数怎么表⽰呢?
这⾥就需要 if...else... 语句了,语法形式如下:
if(表达式){
语句1;
}
else {
语句2;
}
例:输⼊⼀个整数,判断是否为奇数,如果是奇数打印是奇数,否则打印数偶数。
#include <stdio.h>
int main()
{
int num = 0;
scanf("%d", &num);
if (num % 2 == 1)
printf("%d 是奇数\n", num);
else
printf("%d 是偶数\n", num);
return 0;
}
练习:输⼊⼀个年龄,>= 18岁就输出:成年,否则就输出:未成年
#include <stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if (age >= 18)
printf("成年\n");
else
printf("未成年\n");
return 0;
}
3. 分⽀中包含多条语句
默认在 if 和 else 语句中默认都只控制⼀条语句,⽐如:
你会发现,上⾯的代码,输⼊的值不管是>=18 还是<18,"可以谈恋爱了" 都会打印在屏幕上。
这是因为 if 语句只能控制⼀条语句,就是 printf("成年了\n"); ,if语句为真,则打印成年了, if语句为假,则不打印,对于 printf("可以谈恋爱了\n"); 是独⽴存在的,不管if语句的条件的真假,都会被执⾏。
那如果我们要if语句同时控制2条语句,怎么办呢?那就要使⽤ {} 将代码括起来, else 后也可以跟上⼤括号。如下:
#include <stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if (age >= 18)
{
printf("成年\n");
printf("可以谈恋爱了\n");
}
return 0;
}
#include <stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if (age >= 18)
{
printf("成年了\n");
printf("可以谈恋爱\n");
}
else
{
printf("未成年\n");
printf("不可以早恋\n");
}
r