C 语言 if...else 语句
在本教程中,您将在示例的帮助下了解C语言编程中的if语句(包括if ... else和嵌套if..else)。
C 语言 if语句
ifC语言编程中该语句的语法为:
示例if(testexpression)
{
//测试表达式为真时,执行的语句
}
if语句如何工作?
if语句在括号()内评估测试表达式。如果测试表达式的计算结果为true,则将if执行主体内部的语句。
如果测试表达式的计算结果为false,if则不会执行主体内的语句。
要了解有关何时将测试表达式评估为true(非零值)和false(0)的更多信息,请检查关系运算符和逻辑运算符。
示例1:if语句//程序显示一个数字,如果它是负数
#include
intmain(){
intnumber;
printf("输入一个整数:");
scanf("%d",&number);
//如果数字小于0,则为true
if(number
printf("您输入%d.\n",number);
}
printf("if语句很简单。");
return0;
}
输出1输入一个整数:-25
您输入-25.
if语句很简单。
当用户输入-25时,测试表达式number<0将评估为true。因此,您输入的-25 将显示在屏幕上。
输出2输入一个整数:5
if语句很简单。
当用户输入5时,测试表达式number<0的计算结果为false,并且if不执行主体内部的语句
C 语言 if ... else语句
if语句可以有一个可选的else块。if..else语句的语法为:
示例if(testexpression){
//测试表达式为真时,要执行的语句
}
else{
//如果测试表达式为假,则执行的语句
}
if... else语句如何工作?
如果测试表达式(test expression)的计算结果为true,if内的语句被执行。
主体中else的语句从执行中跳过,即else中的语句不会被执行。
如果测试表达式(test expression)的值为false,else内的语句会被执行
if主体中的语句会被跳过,即不会执行。
示例2:if ... else语句//检查一个整数是奇数还是偶数
#include
intmain(){
intnumber;
printf("输入一个整数:");
scanf("%d",&number);
//如果余数为0,则为true
if(number%2==0){
printf("%d是一个偶数。",number);
}
else{
printf("%d是一个奇数。",number);
}
return0;
}
输出结果输入一个整数:23
23是一个奇数。
当用户输入23时,(test expression)测试表达式 number%2==0 的评估结果为false。因此,将执行else主体内的语句。
C 语言 if...else if...else 语句
if...else语句执行两个不同的代码,具体取决于测试表达式(test expression)为true还是false。适用于必须从两种以上的可能性中进行选择。
if...else if...else允许您在多个测试表达式之间进行检查并执行不同的语句。
if...else if...else的语法
示例if(testexpression1){
//语句
}
elseif(testexpression2){
//语句
}
elseif(testexpression3){
//语句
}
.
.
else{
//语句
}
示例3:C 语言if...else if...else示例//程序使用=、>或
#include
intmain(){
intnumber1,number2;
printf("输入两个整数:");
scanf("%d%d",&number1,&number2);
//检查两个整数是否相等
if(number1==number2){
printf("结果:%d=%d",number1,number2);
}
//检查number1是否大于number2。
elseif(number1>number2){
printf("结果:%d>%d",number1,number2);
}
//如果以上两个测试表达式均为false,则执行下面语句
else{
printf("结果:%d
}
return0;
}
输出结果输入两个整数:12
23
结果:12
C 语言 if...else 语句嵌套
可以在另一个if...else语句的主体中包含另一个if...else语句。
示例4:if...else嵌套演示
此程序下面给出使用任一涉及两个整数和=类似if...else阶梯的实例。但是,我们将使用嵌套if...else语句来解决此问题。#include
intmain(){
intnumber1,number2;
printf("输入两个整数:");
scanf("%d%d",&number1,&number2);
if(number1>=number2){
if(number1==number2){
printf("结果:%d=%d",number1,number2);
}
else{
printf("结果:%d>%d",number1,number2);
}
}
else{
printf("结果:%d
}
return0;
}
如果if...else语句的主体只有一个语句,可以不需要使用方括号{}。
例如,下面代码
示例if(a>b){
print("Hello");
}
print("Hi");
等同于
示例if(a>b)
print("Hello");
print("Hi");