选择结构程序设计

选择结构程序设计

注:本文为学习《C语言从入门到精通》时,对部分章节的总结

1、if语句

C语言判断操作,if语句。

2、if语句的基本形式

if语句有if、if...else和else if 3种形式。

2.1、if语句形式

if (表达式) 语句

 

2.2、if...else语句形式

if (表达式) {
    语句块1;
} else {
    语句块2;
}

 

一个else语句必须跟在一个if语句后。

2.3、else if语句形式

if (表达式1) {
    语句1
} else if (表达式2) {
    语句2
} else if (表达式3) {
    语句3
}
    ...
} else if (表达式m) {
    语句m
} else {
    语句n
}

 

3、if的嵌套形式

在if语句中又包含一个或多个if语句,称为if语句的嵌套。

if (表达式1) {
    if (表达式2) {
        语句块1
    } else {
        语句块2
    }
} else {
    if (表达式3) {
        语句块3
    } else {
        语句块4
    }
}

使用if语句嵌套时,应注意if与else的配对情况。else总是与其上面最近的未配对得发进行配对。

4、条件运算符

if (a > b) {
    max = a;
} else {
    max = b;
}

以上代码可以用条件运算符“?:”进行简化

max = (a > b) ? a : b;

条件运算符形式:

表达式1 ? 表达式2 : 表达式3;

5、switch语句

使用嵌套的if语句可以实现多分支的选择,但分支较多时,就是使得嵌套的if语句层数较多,程序冗余,可读性变差。可以使用switch语句处理分支选择的情况,可提高程序的可读性。

5.1、switch语句的基本形式

switch (表达式) {
case 情况1:
    语句块1;
case 情况2:
    语句块3;
    ...
case 情况n:
    语句块n;
default:
    默认情况语句块;
}

 

switch语句检验的条件必须是一个整型表达式,意味着其中可已包含运算符和函数调用。而case语句检验的值必须是整型常量,集常量表达或常量运算。

在使用switch语句时,如果没有一个case语句的值能匹配switch语句的条件,则执行default语句后的代码。任意两个case语句都不能使用相同的常量值;每个switch结构只能有一个default语句,default语句可以省略。

5.2、多路开关模式的switch语句

switch (表达式) {
case 1:
    语句1
    break;
case 2:
case 3:
    语句2
    break;
...
default:
    默认语句
    break;
}

此时符合case 2和case 3,情况一样。

6、if...else语句和switch语句的区别

6.1、语法的比较

if需要平配合else关键字进行使用,switch需要配合case关键字进行使用;if语句是先对条件进行判断,而switch预计是后进行判断。

6.2、效率的比较

if...else结构对少量的检验,判断速度比较快,但随着检验的增长,会逐渐变慢,并且不易进行后续的添加扩充。

switch结构中,除了的default默认情况下,对其他每一项case的检验速度都是相同的,default默认情况比其他情况都快。

一般分支在3个或4个以下,用if...else结构更快,反之应选择switch结构。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>