if
语句
if
语句是分支语句之一,就是进行选择判断的,若是判断结果为真,则选择执行下面的步骤,否则不执行。if
语句有很多种写法,展示如下:
形式1:
if (表达式){
语句;
}
形式2:
if (表达式){
语句1;
}
else if (){
语句2;
}
形式3:
if (表达式){
语句1;
}
else if (表达式){
语句2;
}
...
else {
语句3;
}
- 执行的过程为,若表达式为真,就执行花括号内的内容,若为假,就不执行。
- 在书写代码的时候,若花括号内的语句只有简单的一条时,可以不写花括号,但是建议大家都写上花括号,因为可读性会增加不少,让人一眼就可看出每一块代码段。
if
语句和else
的匹配关系满足就近原则,千万不要被书写格式迷惑,导致误判。
switch
语句
switch
语句也是分支语句之一,它适用于判断的条件为整形表达式且多分支的情况,在此情况下,switch
语句的效果会更好一些。展示如下:
#define _CRT_SECURE_NO_WARNINGS
//上面这一行代码是用来解决scanf带来的输出问题的
//添加头文件
#include <stdio.h>
#include <stdlib.h>
//主函数,函数入口
int main()
{
int choice = 0;
printf("请输入数字:");
scanf("%d", &choice);
switch (choice)
{
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
case 7:
printf("星期日\n");
break;
default:
break;
}
return 0;
}
像上面这个函数,若是使用if分支语句,那么可读性就会很差,十分冗余。switch
语句的结构如下:
switch (整形表达式){
case 整形常量表达式:
语句;
break;
case 整形常量表达式:
语句;
break;
...
default:
break;
}
switch
的语法十分简单,若case
后的常量若等于switch
后的整形表达式,那么就会执行该case
后的语句。
注意在每一个
case
后面都要加一个break
,这样执行完该case
的语句后,就会自动跳出分支语句;如果不加break
语句,程序则会跟着匹配的case
一直往下执行语句,直到遇到break或者switch语句结束为止,因此break
在这里是不可或缺的。
switch
语句一般都会配备一个default:
语句;这是在case
语句没有被匹配上的时候就会执行default:
语句中的内容。