C语言是结构化的程序设计语言,这里的结构指的是顺序结构、选择结构和循环结构,本文主要针对近期学习C语言选择结构进行总结。
C语言中可以使用if语句和switch语句实现分支结构,下面将分别进行介绍。
一、if语句
if语句的基本语法形式为:
if(表达式)
语句;
表达式为真则语句执行,表达式为假则语句不执行。
if常常与else配合使用,二者配合使用的基本语法形式为:
if(表达式)
语句1;
else
语句2;
表达式为真则执行语句1,表达式为假则执行语句2。这种语法形式只适用于一共只有两种选择的场景,比如打印奇数和偶数。如果我们遇到的情况更加复杂,有更多选择怎么办呢?在if else语句中,else可以与另一个if语句连用,构成多重判断,语法形式如下:
if(表达式1)
语句1;
else if(表达式2)
语句2;
...
else
语句3;
我们还可以借助嵌套if语句完成更多复杂逻辑的判断。嵌套if语句的使用较为灵活,既可以在if控制的语句中嵌套又可以在else控制的语句中嵌套,else if也属于嵌套的一种。
注意!
1、if语句只能控制一条语句,如果我们需要if语句同时控制两条及以上语句,就要使用{}将代码括起来;
2、如果有多个if和else,else总是跟最接近的if匹配。
二、switch语句
switch语句是一种特殊形式的if...else结构,它把多重if...else变成更易用、可读性更好的形式,基本语法结构如下:
switch(表达式)
{
case value1:
语句1;
(break;)
case value2:
语句2;
(break;)
...
default:
语句;
}
根据表达式不同的值,执行相应的case分支,如果找不到对应的值,就执行default分支。
注意!
1、switch后的表达式必须是整型表达式;
2、case后的值,必须是整型常量表达式,且case和后边的数字之间必须有空格;
3、switch后表达式的值只能决定从哪个case开始执行,而每一个case语句中的代码执行完后,必须加上break才能跳出switch语句,否则会继续执行下面的case语句;
4、case语句和default语句是没有顺序要求的,只要不影响代码逻辑即可。