选择语句
根据括号内的条件是否成立来确定是否执行。说到条件这里我们就需要了解一下C语言的几种表达式。
一、if else
#include <stdio.h>
#include <stdlib.h>
int main()
{
//0.定义类型
int num;
//1.提示输入一个数
printf("Please Input a Num:\n");
//2.获取输入的数
scanf("%d",&num);
//3.判断
//如果满足
if(num >= 100)
{
//输出满足
printf("我要嫁给你!\n");
printf("值:%d\n",num>=100);
}
// 否则
else
{
//输出不满足
printf("那就这样吧!\n");
printf("值:%d\n",num>=100);
}
system("pause");
return 0;
}
- 首先执行if后边括号里的表达式
- 如果表达式为真则执行if后的语句,否则执行else后的语句。
二、选择语句的嵌套
例:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num;
int house;
printf("please input a num:\n");
scanf("%d",&num);
printf("please input house' num:\n");
scanf("%d",&house);
if(num >= 100){
if(house < 3){
printf("你有钱,但是你的房子不够!\n");
}else{
printf("我要嫁给你!\n");
}
}else{
if(house >= 10){
printf("我要嫁给你!\n");
}else{
printf("再见\n");
}
}
system("pause");
return 0;
}
三、多分支选择
switch语句可以处理多分支选择问题
我们以成绩的等级判断为例:
#include <stdio.h>
#include <stdlib.h>
int main()
{
//0.定义
int num;
//1.提示用户输入
printf("please input a num:\n");
//2.获取用户输入
scanf("%d",&num);
//3.多分支选择
if(num == 100){
printf("满分!!!\n");
}else{
switch(num/10){
case 0:
case 1:
case 2:
case 3:printf("很差!\n");
break;
case 4:
case 5:printf("不及格\n");
break;
case 6:printf("及格!\n");
break;
case 7:
case 8: printf("良!\n");
break;
case 9:
//case 10:
printf("优秀!\n");
break;
default:
printf("非法成绩!\n");
break;
}
}
system("pause");
return 0;
}
- switch语句首先执行后边括号里的表达式,如果得出的值与后边某个case语句的常量表达式的值相等,则执行对应case语句后的语句段。
- 若都不与case语句后的常量表达式的值相等,则执行default后的语句,若default省略且就什么都不执行,
- break语句:若每个case语句后都跟着一个break语句,则执行完该case语句后就跳出该分支语句执行switch后的程序语句;
- 假若每个case语句后都没有break语句,当匹配到一个相符合条件的语句后执行该语句,若该语句后还有其他语句则接着执行其后的语句,直至整个switch程序段执行完。