文章目录
开篇
本篇文章还没写完,后面会继续修改编辑,把分支的笔记整合到一起,大家可以先收藏,后面就可以看到完整版的笔记了
前面我们说过,C语言是结构化的程序设计语言,这里的结构指的是顺序结构、选择结构、循环结构,C语言是能够实现这三种结构的。
我们可以使用 if 、 switch 实现分支结构,使用 for 、 while 、 do while 实现循环结构。
一、if语句
1.1if
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;
}
举个例子:
1.2 else
如果一个数不是奇数,那就是偶数了,如果任意一个整数,我们要清楚的判断是奇数还是偶数怎么表示呢?
这里就需要 if…else… 语句了,语法形式如下:
if ( 表达式 )
语句1
else
语句2
例子:判断整数是否为偶数,是的话打印偶数,否则奇数
很简单:
# include <stdio.h>
int main()
{
int num = 0;
scanf("%d", &num);
if (num % 2 == 0) 注意if第一句不能有逗号
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;
}
1.3 分支中包含多条语句
默认在 if 和 else 语句中默认都只控制一条语句,比如:
#include <stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if(age >= 18)
printf("成年了\n");
printf("太好了\n");
return 0;
}
上面的代码,你会发现输入的值不管是>=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) //if 后使⽤{} 控制多条语句-这个块也叫:程序块,或者复合语句
{
printf("成年了\n");
printf("太好了\n");
}
return 0;
}
当然,我们还能再优化一下:
#include <stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if(age >= 18) //if 后使用{} 控制多条语句-这个块也叫:程序块,或者复合语句
{printf("成年了\n");
printf("太好了\n");
}
else //else 后使用{}控制多条语句-这个块也叫:程序块,或者复合语句
{
printf("未成年\n");
printf("心碎♥\n");
}
return 0;
}
1.4 嵌套if
在 if else 语句中, else 可以与另一个 if 语句连用,构成多重判断。
比如:要求输入一个整数,判断输入的整数是0,还是正数或者负数。请看如下代码:
#include <stdio.h>
int main()
{
int num = 0;
scanf("%d", &num);
if(num == 0)
printf("输⼊的数字是0\n");
else if(num > 0) //这⾥的if 相当于嵌套在else语句中,形成了嵌套结构
printf("输⼊的数字是正数\n");
else
printf("输⼊的数字是负数\n");
return 0;
}
标签:第四课,语句,入门,int,age,else,num,printf,C语言
From: https://blog.csdn.net/2401_87689781/article/details/143220943