C语言初学6:判断

一、if 语句

#include<stdio.h>
int main()
{// 定义局部变量int a = 10;// 使用if语句检查布尔条件if(a < 20){/* 如果为真,输出下面语句 */printf("a 小于 20\n");}printf("a 的值是 %d\n", a);return 0;
}

执行结果是:

a 小于 20
a 的值是 10

二、if...else 语言

#include<stdio.h>
int main()
{int a = 100;// 检查布尔条件if(a<20){/* 如果条件为真,则输出下面的语句 */printf("a 小于 20\n" );}else{/* 如果条件为假,则输出下面的语句 */printf("a 大于 20\n" );}printf("a 的值是 %d\n", a);return 0;
}

执行结果是:

a 大于 20
a 的值是 100

三、if...else if...else if... ... esle 语句

#include<stdio.h>
int main()
{/* 定义局部变量 */int a = 100;/* 检查布尔条件 */if(a==10){/* 如果 if 条件为真,则输出下面的语句 */printf("a 的值是 10\n" );}else if(a==20){/* 如果 else if 条件为真,则输出下面的语句 */printf("a 的值是 20\n" );}else if(a==30){/* 如果 else if 条件为真,则输出下面的语句 */printf("a 的值是 30\n" );}else{/* 防止上面的条件都不为真,没有输出 */printf("没有匹配的值\n" );}printf("a 的准确值是 %d\n", a );return 0;
}

执行结果是:

没有匹配的值
a 的准确值是 100

四、switch 语句

switch 语句的一般形式:

switch(expression){case constant-expression  :statement(s);break; /* 可选的 */case constant-expression  :statement(s);break; /* 可选的 *//* 可以有任意数量的 case 语句 */default : /* 可选的 */statement(s);
}

switch 语句必须遵循下面的规则:

  • switch 语句中的 expression 是一个常量表达式,必须是一个整型或枚举类型。 
  • case 的 constant-expression 必须与 switch 中的 expression 具有相同的数据类型,且必须是一个常量或字面量。
  • 被测试的 expression 等于 constant-expression ,case 后跟的语句将被执行,直到遇到 break 语句为止。
  • 当遇到 break 语句时,switch 终止,控制流将跳转到 switch 语句后的下一行。
  • 如果 case 语句不包含 break,控制流将会 继续 后续的 case,直到遇到 break 为止。
  • 一个 switch 语句可以有一个可选的 default case,出现在 switch 的结尾。default case 可用于在上面所有 case 都不为真时执行一个任务。default case 中的 break 语句不是必需的。

举例:

#include <stdio.h>int main ()
{/* 局部变量定义 */char grade = 'B';switch(grade){case 'A' :printf("很棒!\n" );break;case 'B' :case 'C' :printf("做得好\n" );break;case 'D' :printf("您通过了\n" );break;case 'F' :printf("最好再试一下\n" );break;default :printf("无效的成绩\n" );}printf("您的成绩是 %c\n", grade );return 0;
}

执行结果是:

做得好
您的成绩是 B