C if...else 语句
C if...else 语句
在本教程中,您将通过示例了解 C 编程中的 if 语句(包括 if...else 和嵌套 if..else)。
视频:C if else 语句
C if 语句
if
的语法 C编程中的语句是:
if (test expression)
{
// code
}
if 语句如何工作?
if
语句计算括号 ()
内的测试表达式 .
- 如果测试表达式的计算结果为真,则
if
正文中的语句 被执行。 - 如果测试表达式被评估为假,则
if
正文中的语句 不会被执行。
要详细了解测试表达式何时计算为真(非零值)和假 (0),请检查关系和逻辑运算符。
示例1:if语句
// Program to display a number if it is negative
#include <stdio.h>
int main() {
int number;
printf("Enter an integer: ");
scanf("%d", &number);
// true if number is less than 0
if (number < 0) {
printf("You entered %d.\n", number);
}
printf("The if statement is easy.");
return 0;
}
输出 1
Enter an integer: -2 You entered -2. The if statement is easy.
当用户输入-2时,测试表达式number<0
被评估为真。因此,
您输入了 -2
显示在屏幕上。
输出 2
Enter an integer: 5 The if statement is easy.
当用户输入5时,测试表达式number<0
被评估为 false 并且 if
主体内的语句 没有被执行
C if...else 语句
if
语句可能有一个可选的 else
堵塞。 if..else
的语法 声明是:
if (test expression) {
// run code if test expression is true
}
else {
// run code if test expression is false
}
if...else 语句如何工作?
如果测试表达式被评估为真,
if
正文中的语句 被执行。else
正文中的语句 被跳过执行。
如果测试表达式被评估为假,
else
正文中的语句 被执行if
正文中的语句 被跳过执行。
示例 2:if...else 语句
// Check whether an integer is odd or even
#include <stdio.h>
int main() {
int number;
printf("Enter an integer: ");
scanf("%d", &number);
// True if the remainder is 0
if (number%2 == 0) {
printf("%d is an even integer.",number);
}
else {
printf("%d is an odd integer.",number);
}
return 0;
}
输出
Enter an integer: 7 7 is an odd integer.
当用户输入7时,测试表达式number%2==0
被评估为假。因此,else
主体内的语句 被执行。
C if...else 梯形图
if...else
语句根据测试表达式是真还是假执行两个不同的代码。有时,必须从超过 2 种可能性中做出选择。
if...else 阶梯允许您在多个测试表达式之间进行检查并执行不同的语句。
if...else 阶梯的语法
if (test expression1) {
// statement(s)
}
else if(test expression2) {
// statement(s)
}
else if (test expression3) {
// statement(s)
}
.
.
else {
// statement(s)
}
示例 3:C if...else 梯形图
// Program to relate two integers using =, > or < symbol
#include <stdio.h>
int main() {
int number1, number2;
printf("Enter two integers: ");
scanf("%d %d", &number1, &number2);
//checks if the two integers are equal.
if(number1 == number2) {
printf("Result: %d = %d",number1,number2);
}
//checks if number1 is greater than number2.
else if (number1 > number2) {
printf("Result: %d > %d", number1, number2);
}
//checks if both test expressions are false
else {
printf("Result: %d < %d",number1, number2);
}
return 0;
}
输出
Enter two integers: 12 23 Result: 12 < 23
嵌套 if...else
可以包含 if...else
另一个 if...else
的主体内的语句 声明。
示例 4:嵌套 if...else
下面给出的这个程序使用 <
关联两个整数 , >
和 =
类似于 if...else
梯子的例子。但是,我们将使用嵌套的 if...else
解决这个问题的语句。
#include <stdio.h>
int main() {
int number1, number2;
printf("Enter two integers: ");
scanf("%d %d", &number1, &number2);
if (number1 >= number2) {
if (number1 == number2) {
printf("Result: %d = %d",number1,number2);
}
else {
printf("Result: %d > %d", number1, number2);
}
}
else {
printf("Result: %d < %d",number1, number2);
}
return 0;
}
如果 if...else
的正文 语句只有一个语句,不需要使用括号{}
.
比如这段代码
if (a > b) {
printf("Hello");
}
printf("Hi");
相当于
if (a > b)
printf("Hello");
printf("Hi");
C语言