C语言基本控制结构:选择语句
「今天是学习C语言第 15 天」
# 基本控制结构
C语言程序有顺序、选择(分支)、循环(迭代)3种基本控制结构,实现程序代码顺序执行、判断选择执行、循环执行控制。程序代码默认是顺序执行。
# 选择语句
选择语句要求程序测试条件,当条件为真时,选择执行部分语句,当条件为假时,选择执行另一部分代码。C语言把条件中的表达式值非0值判断为真,0或NULL判断为假。
C语言选择语句包括:
- 条件运算符 ?:
- if,if...else 以及if嵌套语句
- switch语句以及其嵌套语句
# 条件运算符 ?:
语句语法形式:
条件表达式1 ?: 表达式2 : 表达式3;
当条件表达式1为真时,执行表达式2,否则执行表达式3。
例:判断两个数谁大,输出谁。
int main(void)
{
int a=1,b=2,c=3;
(b >= a) ? printf("%d\n",b) : printf("%d\n",a);
(b >= c) ? printf("%d\n",b) : printf("%d\n",c);
return 0;
}
执行结果:
第一个输出b的值 2
第二个输出c的值 3
# if语句
if语句有简单的if语句(无else),if...else语句,以及嵌套if语句形式。
简单if语句:
if(表达式) 语句1;
if(表达式) {
语句1;
语句2;
...
}
注:多条语句需要执行,需要使用{}
if...else语句
if (表达式) 语句1; else 语句2;
if (表达式) {
语句1;
语句2;
...
} else {
语句3;
语句4;
...
}
嵌套和级联形式:if,if....else语句可以互相嵌套,最高支持15层。
形式1:
if( ){
}else if( ) {
}else if( ) {
}else {
}
形式2:
if(表达式) {
if(表达式) {
}else {
}
...
}
例:判断分数是在哪个水平的区间,天才,优秀,良好,正常,及格,不及格。
#include <stdio.h>
int main(void)
{
int score=95;
if (score >= 60)
{
printf("及格!\n");
// 进一步判断处于什么水平
if(score == 100)
printf("天才!\n");
else if(score >= 90)
{
printf("优秀!\n");
}else if(score >=80 )
{
printf("良好!\n");
}else
printf("正常!\n");
}else
{
printf("不及格!\n");
}
return 0;
}
结果是:及格 优秀
# switch语句
实现多路选择,最高支持257路选择,支持嵌套,语法更加简洁,语法如下:
switch(整型表达式) {
case 整型常量表达式1:
语句1;
...
break; // 可选,跳出switch
case 整型常量表达式2:
语句2;
...
break; // 可选,跳出switch
...//
default : // 默认执行语句,可选,当没有任何case符合时执行
语句 3;
}
注:break;跳出switch不再执行后面语句,没有break会继续执行后面case语句。
例:判断下输入是否几个关心的10的整数
int main(void)
{
int num;
scanf("%d",&num);
switch(num) {
case 10:
printf("输入整数10\n");
break;
case 100:
printf("输入整数100\n");
break;
case 1000:
printf("输入整数1000\n");
break;
case 10000:
case 100000:
printf("输入整数10000或者100000\n");
break;
default:
printf("10的整数情况太多,不判断了\n");
}
return 0;
}
输入100,结果是 输入整数10
输入10000,结果是 输入整数10000或者100000。
---------- End ----------
往期精彩推荐:
「喜欢C请赏个 赞 点击右下角 在看」