目录
一、if 语句
一个 if 语句 由一个布尔表达式后跟一个或多个语句组成
语法
C 语言中 if 语句的语法:
if(boolean_expression)
{
/* 如果布尔表达式为真将执行的语句 */
}
如果布尔表达式为 true,则 if 语句内的代码块将被执行。如果布尔表达式为 false,则 if 语句结束后的第一组代码(闭括号后)将被执行
C 语言把任何非零和非空的值假定为 true,把零或 null 假定为 false
流程图
示例 test15.c
#include <stdio.h>
int main ()
{
// 定义局部变量
int a = 10;
// 使用 if 语句检查布尔条件
if( a < 20 )
{
// 如果条件为true,则输出下面的语句
printf("a 小于 20\n" );
}
printf("a 的值是 %d\n", a);
return 0;
}
运行效果:
二、if...else语句
一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为 false 时执行
语法
C 语言中 if...else 语句的语法:
if(boolean_expression)
{
/* 如果布尔表达式为真将执行的语句 */
}
else
{
/* 如果布尔表达式为假将执行的语句 */
}
如果布尔表达式为 true,则执行 if 块内的代码。如果布尔表达式为 false,则执行 else 块内的代码
流程图
示例 test16.c
#include <stdio.h>
int main ()
{
// 局部变量定义
int a = 50;
// 检查布尔条件
if( a < 20 )
{
// 如果条件为true,则输出下面的语句
printf("a 小于 20\n" );
}
else
{
// 如果条件为false,则输出下面的语句
printf("a 大于 20\n" );
}
printf("a 的值是 %d\n", a);
return 0;
}
运行效果:
三、多个if...else语句
if else 语句也可以多个同时使用,构成多个分支,形式如下:
if (条件表达式一)
{
语句块一
}
else if (条件表达式二)
{
语句块二
}
else if (条件表达式三)
{
语句块三
}
else if (条件表达式n)
{
语句块n
}
else
{
全部的条件都不符时执行此语句块x
}
- 意思是,从上到下依次检测判断条件,当某个判断条件成立时,则执行其对应的语句块,然后跳出整个 if else 语句之外继续执行其他代码。如果所有判断条件都不成立,则执行语句块x
- 也就是说,一旦遇到能够成立的判断条件,则不再执行其他的语句块,所以最终只能有一个语句块被执行
- 一个 if 后可跟零个或一个 else,else 必须在所有 else if 之后
- 一个 if 后可跟零个或多个 else if,else if 必须在 else 之前
- 一旦某个 else if 匹配成功,其他的 else if 或 else 将不会被测试
示例 test17.c
#include <stdio.h>
int main ()
{
// 局部变量定义
int a = 50;
// 检查布尔条件
if( a == 10 )
{
// 如果 if 条件为true,则输出下面的语句
printf("a 的值是 10\n" );
}
else if( a == 20 )
{
// 如果 else if 条件为true,则输出下面的语句
printf("a 的值是 20\n" );
}
else if( a == 30 )
{
// 如果 else if 条件为true,则输出下面的语句
printf("a 的值是 30\n" );
}
else
{
// 如果上面条件都不为true,则输出下面的语句
printf("没有匹配的值\n" );
}
printf("a 的准确值是 %d\n", a );
return 0;
}
运行效果:
四、嵌套 if 语句
嵌套 if-else 语句是合法的,这意味着您可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句
语法
C 语言中 嵌套 if 语句的语法:
if( boolean_expression 1)
{
/* 当布尔表达式 1 为真时执行 */
if(boolean_expression 2)
{
/* 当布尔表达式 2 为真时执行 */
}
}
您可以嵌套 else if...else,方式与嵌套 if 语句相似
示例 test18.c
#include <stdio.h>
int main ()
{
// 局部变量定义
int a = 100;
int b = 200;
// 检查布尔条件
if( a == 100 )
{
// 如果条件为true,则检查下面的条件
if( b == 200 )
{
// 如果条件为true,则输出下面的语句
printf("a 的值是 100,且 b 的值是 200\n" );
}
}
printf("a 的准确值是 %d\n", a );
printf("b 的准确值是 %d\n", b );
return 0;
}
运行效果:
if 语句嵌套时,要注意 if 和 else 的配对问题,C语言规定,else 总是与它前面最近的 if 配对。一定要保持良好的编程习惯,空格、缩进、对齐,{}成对的书写等,不良的代码习惯会把自己搞晕