感谢各位大佬百忙之间过来观看,从前端到嵌入式,我的转行经历和经验分享!《C 语言小白入门篇》带大家零基础学好好 C 语言。从入门到到放弃,希望大家多多支持!
分支语句 if 的全面介绍
前言
在 C 语言中,结构化程序设计的三种基本结构是顺序结构、选择结构和循环结构。选择结构是根据条件判断来执行不同的代码块,它可以让程序更加灵活和智能。在选择结构中,if语句是最常用的一种形式,它可以根据不同的条件执行不同的操作。
结构化程序设计的三种基本结构
-
顺序结构:顺序结构是程序中最基本的结构,它按照代码的先后顺序依次执行每一条语句。
-
选择结构:选择结构是根据条件判断来执行不同的代码块,它可以让程序更加灵活和智能。
-
循环结构:循环结构是根据条件判断来重复执行某一段代码,它可以让程序更加高效和简洁。
分支语句(选择结构)
在 C 语言中,分支语句(选择结构)是根据条件判断来执行不同的代码块。它可以让程序更加灵活和智能。在 C 语言中,有三种分支语句:if语句、switch语句和goto语句。其中,if语句是最常用的一种形式,它可以根据不同的条件执行不同的操作。
if 语句
if语句是根据条件判断来执行不同的操作。它的语法格式如下:
if (condition) {
// 当 condition 为真时执行的代码块
}
其中,condition是一个布尔表达式,如果condition为真,则执行if语句后面的代码块;如果condition为假,则跳过if语句后面的代码块,继续执行后面的代码。
代码演示:if语句的单分支情况
#include <stdio.h>
int main() {
int num = 10;
if (num > 5) {
printf("num 大于 5\n");
}
return 0;
}
在上述代码中,定义了一个整型变量num,并将其初始化为10。然后,使用if语句判断num是否大于5。由于num的值为10,大于5,所以条件为真,执行if语句后面的代码块,输出num 大于 5。
代码演示:if语句的单双分支情况
#include <stdio.h>
int main() {
int num = 10;
if (num > 5) {
printf("num 大于 5\n");
} else {
printf("num 小于或等于 5\n");
}
return 0;
}
在上述代码中,定义了一个整型变量num,并将其初始化为10。然后,使用if语句判断num是否大于5。由于num的值为10,大于5,所以条件为真,执行if语句后面的代码块,输出num 大于 5。否则,执行else后面的代码块,输出num 小于或等于 5。
代码演示:if语句的多分支情况
#include <stdio.h>
int main() {
int num = 10;
if (num > 10) {
printf("num 大于 10\n");
} else if (num > 5) {
printf("num 大于 5 小于 10\n");
} else {
printf("num 小于或等于 5\n");
}
return 0;
}
在上述代码中,定义了一个整型变量num,并将其初始化为10。然后,使用if语句判断num是否大于10。由于num的值为10,不大于10,所以条件为假,执行else if语句判断num是否大于5。由于num的值为10,大于5,所以条件为真,执行else if语句后面的代码块,输出num 大于 5 小于 10。否则,执行else后面的代码块,输出num 小于或等于 5。
if语句中的嵌套
在if语句中,可以嵌套使用另一个if语句,以实现更复杂的条件判断。嵌套的if语句的语法格式如下:
if (condition1) {
// 当 condition1 为真时执行的代码块
if (condition2) {
// 当 condition2 为真时执行的代码块
}
}
在上述代码中,如果condition1为真,则执行if语句后面的代码块。如果condition2也为真,则执行嵌套的if语句后面的代码块。
代码演示:if语句中的嵌套
#include <stdio.h>
int main() {
int num = 10;
if (num > 5) {
printf("num 大于 5\n");
if (num > 8) {
printf("num 大于 8\n");
}
}
return 0;
}
在上述代码中,定义了一个整型变量num,并将其初始化为10。然后,使用if语句判断num是否大于5。由于num的值为10,大于5,所以条件为真,执行if语句后面的代码块,输出num 大于 5。然后,在if语句后面的代码块中,再次使用if语句判断num是否大于8。由于num的值为10,大于8,所以条件为真,执行嵌套的if语句后面的代码块,输出num 大于 8。
if语句中的注意事项
-
if语句后面的代码块必须用花括号{}括起来,即使只有一条语句也不能省略花括号。 -
在
if语句中,可以使用逻辑运算符&&、||和!来组合多个条件。 -
在
if语句中,可以使用关系运算符>、<、>=、<=、==和!=来比较两个值。 -
在
if语句中,可以使用赋值运算符=来给变量赋值。
if语句中的大括号
在if语句中,大括号{}是用来括住代码块的。如果if语句后面只有一条语句,可以省略大括号。但是,为了提高代码的可读性和可维护性,建议在if语句后面的代码块都使用大括号括起来。
悬空 else、else 的匹配规则
在if语句中,如果有多个else,那么else的匹配规则是:else总是与离它最近的if匹配。如果if语句没有用大括号括起来,那么else的匹配规则是:else总是与离它最近的if匹配,并且if语句必须在else语句之前。
总结
if语句是 C 语言中最常用的选择结构语句之一,它可以根据不同的条件执行不同的操作。在使用if语句时,需要注意以下几点:
if语句后面的代码块必须用花括号{}括起来,即使只有一条语句也不能省略花括号。- 在
if语句中,可以使用逻辑运算符&&、||和!来组合多个条件。 - 在
if语句中,可以使用关系运算符>、<、>=、<=、==和!=来比较两个值。 - 在
if语句中,可以使用赋值运算符=来给变量赋值。 - 在
if语句中,如果有多个else,那么else的匹配规则是:else总是与离它最近的if匹配。如果if语句没有用大括号括起来,那么else的匹配规则是:else总是与离它最近的if匹配,并且if语句必须在else语句之前。