C 条件语句:IF、IF Else 和嵌套 IF Else 示例
C 中的条件语句是什么?
C 中的条件语句 编程用于根据条件做出决策。当语句周围没有条件时,条件语句会按顺序执行。如果为语句块设置一些条件,则执行流程可能会根据条件评估的结果而改变。这个过程在“C”中称为决策。
在 C 语言编程中,可以借助以下两种结构来实现条件语句:
1. If 语句
2. If-else 语句
它也被称为分支,因为程序根据评估条件的结果来决定执行哪个语句。
如果声明
它是功能强大的条件语句之一。If 语句负责修改程序的执行流程。If 语句始终与条件一起使用。在执行 If 主体内的任何语句之前,首先评估条件。if 语句的语法如下:
if (condition) instruction;
条件计算结果为真或假。真始终是非零值,假是包含零的值。指令可以是单个指令,也可以是用花括号 { } 括起来的代码块。
以下程序说明了在 C 语言编程中 if 结构的使用:
#include<stdio.h> int main() { int num1=1; int num2=2; if(num1<num2) //test-condition { printf("num1 is smaller than num2"); } return 0; }
输出:
num1 is smaller than num2
上述程序说明了如何使用 if 结构来检查两个数字是否相等。
- 在上面的程序中,我们用num1,num2初始化了两个变量,值分别为1,2。
- 然后,我们使用 if 和测试表达式来检查哪个数字最小,哪个数字最大。我们在 if 结构中使用了关系表达式。由于 num1 的值小于 num2,因此条件将计算为真。
- 因此它将打印 If 块内的语句。此后,控制将移出该块,程序将以成功结果终止。
相关的 Opera职权范围
C 有六个关系运算符,可用于制定布尔表达式来做出决策和测试条件,返回 true 或 false :
< 小于
<= 小于或等于
> 大于
>= 大于或等于
== 等于
!= 不等于
请注意,相等测试(==)与赋值运算符(=)不同,因为混淆它们是程序员最常面临的问题之一。
例如:
int x = 41; x =x+ 1; if (x == 42) { printf("You succeed!");}
输出:
You succeed
请记住,计算结果为非零值的条件被视为真。
例如:
int present = 1; if (present) printf("There is someone present in the classroom \n");
输出:
There is someone present in the classroom
If-Else 语句
if-else 语句是 If 的扩展版本。if-else 的一般形式如下:
if (test-expression) { True block of statements } Else { False block of statements } Statements;
在这种类型的构造中,如果 test-expression 的值为真,则将执行真语句块。如果 test-expression 的值为假,则将执行假语句块。无论如何,执行完毕后,控制权将自动转移到 If 块之外的语句。
以下程序说明了 if-else 结构的用法:
我们将用某个值初始化一个变量,并编写一个程序来确定该值是小于十还是大于十。
开始吧。
#include<stdio.h> int main() { int num=19; if(num<10) { printf("The value is less than 10"); } else { printf("The value is greater than 10"); } return 0; }
输出:
The value is greater than 10
- 我们已经初始化了一个值为 19 的变量。我们必须使用“C”程序找出该数字是大于还是小于 10。为此,我们使用了 if-else 结构。
- 这里我们提供了一个条件 num<10,因为我们必须将我们的值与 10 进行比较。
- 如您所见,第一个块始终是真块,这意味着,如果测试表达式的值为真,则将执行第一个块(即 If)。
- 第二个块是 else 块。此块包含当测试表达式的值为 false 时将执行的语句。在我们的程序中,num 的值大于 10,因此测试条件变为 false,并执行 else 块。因此,我们的输出将来自 else 块,即“值大于 XNUMX”。在 if-else 之后,程序将以成功结果终止。
在“C”编程中,我们可以在彼此内使用多个 if-else 结构,这称为 if-else 语句嵌套。
条件表达式
还有另一种表达 if-else 语句的方法是引入 ?: 运算符。在条件表达式中 ?: 运算符只有一个与 if 和 else 相关的语句。
例如:
#include <stdio.h> int main() { int y; int x = 2; y = (x >= 6) ? 6 : x;/* This is equivalent to: if (x >= 5) y = 5; else y = x; */ printf("y =%d ",y); return 0;}
输出:
y =2
嵌套 If-else 语句
当需要进行一系列决策时,会使用嵌套的 if-else。嵌套意味着在一个 if-else 结构中使用另一个 if-else 结构。
我们来编写一个程序来说明嵌套if-else的用法。
#include<stdio.h> int main() { int num=1; if(num<10) { if(num==1) { printf("The value is:%d\n",num); } else { printf("The value is greater than 1"); } } else { printf("The value is greater than 10"); } return 0; }
输出:
The value is:1
上述程序检查数字是否小于或大于 10,并使用嵌套的 if-else 结构打印结果。
- 首先,我们声明一个变量 num,其值为 1。然后我们使用 if-else 构造。
- 在外层的 if-else 中,提供的条件检查数字是否小于 10。如果条件为真,则才会执行 内循环。在这种情况下,条件为真,因此处理内部块。
- 在内部块中,我们再次有一个条件,用于检查变量是否包含值 1。当条件为真时,它将处理 If 块,否则它将处理 else 块。在这种情况下,条件为真,因此执行 If a 块并将值打印在输出屏幕上。
- 上述程序将打印 变量 并成功退出。
尝试改变变量的值,看看程序如何运行。
注意: 在嵌套的 if-else 中,我们必须小心缩进,因为此过程涉及多个 if-else 结构,因此很难弄清楚单个结构。适当的缩进使程序更易于阅读。
嵌套 Else-if 语句
当需要多路径决策时,使用嵌套的 else-if。
在 C 语言编程中,构建 else-if 阶梯的一般语法如下:
if (test - expression 1) { statement1; } else if (test - expression 2) { Statement2; } else if (test - expression 3) { Statement3; } else if (test - expression n) { Statement n; } else { default; } Statement x;
这种结构称为 else-if 阶梯。此链通常看起来像一个梯子,因此也称为 else-if 阶梯。测试表达式从上到下进行评估。每当发现一个真测试表达式时,就会执行与其关联的语句。当所有 n 个测试表达式都变为假时,就会执行默认的 else 语句。
让我们借助程序来看看实际的工作情况。
#include<stdio.h> int main() { int marks=83; if(marks>75){ printf("First class"); } else if(marks>65){ printf("Second class"); } else if(marks>55){ printf("Third class"); } else{ printf("Fourth class"); } return 0; }
输出:
First class
上述程序根据测试得分打印成绩。我们在以上程序中使用了 else-if 阶梯结构。
- 我们已经用标记初始化了一个变量。在 else-if 梯形结构中,我们提供了各种条件。
- 变量标记的值将与第一个条件进行比较,因为它为真,所以与其相关的语句将打印在输出屏幕上。
- 如果第一个测试条件结果为假,则将其与第二个条件进行比较。
- 该过程将持续进行,直到所有表达式都被评估,否则控制权将超出 else-if 阶梯,并打印默认语句。
尝试修改该值并注意输出的变化。
总结
- 决策或分支语句用于根据评估表达式的结果选择一条路径。
- 它也被称为控制语句,因为它控制程序的执行流程。
- “C” 为决策语句提供了 if、if-else 结构。
- 当需要测试多条路径时,我们还可以将 if-else 嵌套起来。
- 当我们必须根据表达式的结果检查各种方法时,使用 else-if 阶梯。