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语句中的内容。
原文:https://www.cnblogs.com/zhm521/p/13881537.html