C编程中的条件语句用于根据条件进行决策。 当语句周围没有条件时,条件语句将顺序执行(控制流顺序进行)。
如果为语句块放置一些条件,则执行流程可能会根据条件评估的结果而变化。 此过程称为“ C”决策。
1. C语言IF语句
在“ C”编程中,可以使用条件语句:
if(表达式) 语句
其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。
其过程可表示为下图。
例1.1 用户输入一个数,程序判断该数是不是小于零 (负数)
// Program to display a number if it is negative
#include
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;
}
Enter an integer: -2
You entered -2.
The if statement is easy.
当用户输入 -2 时,测试表达式 number<0 被评估为 true。因此,您输入的 -2 会显示在屏幕上。
例1.2 判断两个数的大小
#include<stdio.h> int main() { int num1=1; int num2=2; if(num1 < num2) //test-condition { printf("num1 is smaller than num2"); } return 0; }
结果:
上面的程序说明了if结构检查两个数字是否相等的用法。
- 在上面的程序中,我们初始化了两个变量,分别为num1,num2,其值分别为1、2。然后,我们使用if和一个检验表达式来检查哪个数字最小,哪个数字最大。
- 我们在if构造中使用了关系表达式。 由于num1的值小于num2,因此条件的计算结果为true。
- 因此它将在If块内打印该语句。 此后,控制将超出该块,并且程序将终止并获得成功的结果。
2. C语言IF ELSE语句
if(表达式)
语句1;
else
语句2;
其语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。
其执行过程可表示为下图。
if (test expression) {
// run code if test expression is true
}
else {
// run code if test expression is false
}
我们可以用5和10比较来显示if else语句走向。
以下程序说明了if-else构造的用法:
我们将使用某个值初始化变量,然后编写程序以确定该值是小于10还是大于10。
例2.1 判断一个整数大于或小于10.
#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
1. 初始化值为19的变量num;
2. 比较num 是否小于10;
3. 第一个块始终是true块,这意味着,如果测试表达式的值为true,则将执行第一个块If。
4. 第二个块是else块。 如果测试表达式的值为false,则将执行该语句。 在我们的程序中,num的值大于10,因此测试条件变为false,所以,false将执行。
因此,我们的输出将来自else块,即“值大于10”。 if-else之后,程序将以成功的结果终止。
例2.2 判断一个整数是奇数或是偶数
// 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.