目录
[3、if-else if-else语句](#3、if-else if-else语句)
一、条件判断语句
条件判断语句就是根据代码中表达式的真假,来决定是否执行条件判断语句内部的语句
1、if语句
if语句的基本结构:
if(表达式){
语句1;
语句2;
......
语句n;
}
if语句的执行顺序就是:先判断if语句的那个表达式是真还是假,如果是真,就执行其内部的所有代码(就是从第一个语句执行到最后一个语句),如果表达式为假,就不执行内部代码
我们来看一个简单示例:
cpp
#include <stdio.h>
int main() {
int score;
printf("请输入你的成绩:");
scanf_s("%d", &score);
if (score == 100) {
printf("窝嘞个豆!");
}
return 0;
}
如果我们输入100,就会执行if语句内部的那个输出语句,像这样:

如果我们输入的不是100,那么if语句内部的代码就不会被执行:

2、if-else语句
if-else语句像是一个二选一的条件判断语句,其基本结构:
if(表达式) {
语句1;
......
}
else{
语句2;
......
}
当表达式是真的时,执行语句1所在的代码块内的所有语句,当表达式为假时,就执行语句2所在的代码块内的所有语句
我们来看一个简单的示例:
cpp
#include <stdio.h>
int main() {
int score;
printf("请输入你的成绩:");
scanf_s("%d", &score);
if (score >= 60) {
printf("你及格了!");
}
else {
printf("你未及格!");
}
return 0;
}
看看输出:

3、if-else if-else语句
基本结构:
if(表达式1){
语句1;
......
}
else if(表达式2){
语句2;
......
}
else{
语句3;
......
}
①当表达式1是真时,执行语句1所在代码块内的所有语句,当表达式2是真时,执行语句2所在代码块内的所有语句,若两个表达式都为假,就执行语句3代码块内的所有代码(若存在表达式1和2均为真的情况,则程序指挥执行第一个代码块的内的所有代码
②else if部分可以有多个
看一个简单示例:
cpp
#include <stdio.h>
int main() {
int score;
printf("请输入你的成绩:");
scanf_s("%d", &score);
if (score == 100) {
printf("稀世奇才!!!!!!!!!");
}
else if (score <= 99 && score >= 80) {
printf("你很优秀!");
}
else if (score < 80 && score >= 60) {
printf("及格");
}
else {
printf("你未及格!(微笑)");
}
return 0;
}
输出(其中一种):

4、switch-case语句
我们会根据switch的那个变量去寻找对应的case
例子:
cpp
#include <stdio.h>
int main() {
int a = 0;
printf("请输入你的性别(0是男生,1是女生):");
scanf_s("%d", &a);
switch (a) {
case 0 :
printf("你是男生!");
break;
case 1 :
printf("你是女生!");
break;
default:
printf("你是沃尔玛购物袋!");
}
return 0;
}
看看结果:

二、花括号省略问题
①在C语言中的条件判断语句和循环语句中,如果其条件判断语句/循环语句的代码块中只包含一行代码,那么这个花括号是可以省略的
②如果条件判断语句/循环语句的代码块内只包含一个条件判断语句/循环语句,那么也可以当作只有一行代码来处理,可以省略
③上述两点知道可以省略花括号即可,在自己写代码的时候不建议省略花括号!!!
三、循环语句
1、while循环
基本结构:
while(表达式){
语句1;
语句2;
......
语句n;
}
当表达式为真时,执行其包含语句的代码块内的所有代码,执行完之后再次回到表达式进行判断,若还是真的就重复执行上述步骤,若是假的就结束循环
注:执行代码块内的内容后还需要返回表达式,这就意味着代码块内必须包含能改变表达式的操作的代码!(否则会出现死循环)
我们来看一个简单的例子:
cpp
#include <stdio.h>
int main() {
int number = 1;
while (number <= 20) {
printf("%d ", number);
number++;
}
return 0;
}
这个代码实现了一个很简单的从1到20的输出:

2、while循环中的break和continue语句
①break语句:结束循环,直接跳出当前循环语句
②continue语句:结束当前循环,执行下一次循环
我们来通过两个代码来了解两者区别:
break的:
cpp
#include <stdio.h>
int main() {
int number = 1;
while (number <= 20) {
if (number == 10) {
break; //这里是break
}
printf("%d ", number);
number++;
}
printf("\n");
printf("程序已结束!"); //当number是10的时候,程序会跳出整个while循环,执行循环之后的语句
return 0;
输出:

continue的:
cpp
#include <stdio.h>
int main() {
int number = 1;
while (number <= 20) {
if (number == 10) {
number++; //注意这里需要加一行,因为continue会跳过当前循环,也就是说当数字等于10的时候,第12行那个number++不会被执行!
continue; //这里是continue
}
printf("%d ", number);
number++;
}
printf("\n");
printf("程序已结束!"); //当number是10的时候,程序会跳出当前循环,所以while循环只会跳过输出10的那一步
return 0;
}
看看结果:

3、for循环
基本结构:
for(表达式1;表达式2;表达式3){
语句1;
语句2;
......
语句n;
}
在for循环中,表达式1用于对循环变量进行初始化,表达式2是条件判断部分,判断循环是否继续执行,表达式3用于更新循环变量
执行顺序:先执行表达式1的代码,初始化循环变量,然后把循环变量放到表达式2中,判断是否为真,若为真就执行花括号内循环体的代码,执行完成后去执行表达式3,然后再次执行表达式2,看看是不是真,是真的再去执行花括号内循环体代码,直到表达式2为假,跳出循环
cpp
#include <stdio.h>
int main() {
int number;
for (number = 1; number <= 20; number++) {
printf("%d ", number);
}
return 0;
}
输出:

注:
①如果我们在int部分已经把number初始化好了,在for循环语句中的表达式1部分可以不写,像这样:
cpp
#include <stdio.h>
int main() {
int number = 1;
for (; number <= 20; number++) {
printf("%d ", number);
}
return 0;
}
②在for循环的表达式3中,number++和++number是一样的
③如果使用了这种方法:
cpp
for (int number = 1; number <= 20; number++)
即我们在表达式1中完成了定义和初始化,那么如果在循环之外使用number是不可以的!
④如果在某个表达式内出现了多个式子,可以用逗号分割
4、for循环中的break和continue语句
break的:
cpp
#include <stdio.h>
int main() {
int number;
for (number = 1; number <= 20; number++) {
if (number == 10) {
break;
}
printf("%d ", number);
}
return 0;
}
continue的:
cpp
#include <stdio.h>
int main() {
int number;
for (number = 1; number <= 20; number++) {
if (number == 10) {
continue;
}
printf("%d ", number);
}
return 0;
}
5、do-while循环
简单示例:
cpp
#include <stdio.h>
int main() {
int number = 1;
do {
printf("%d ", number);
number++;
} while (number <= 20);
return 0;
}
输出:

特点:do-while循环至少执行一次循环体
以上就是C语言条件判断语句和循环语句的全部内容:)