黑马程序员—C语言—顺序结构与选择结构

————————Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ———————
一、顺序结构
顺序结构的程序是最简单的程序。在顺序结构的程序中,程序是一条语句接一条语句顺序地往下执行。在程序中很少见到单独的顺序结构,一般都会在循环或分支结构里包含大量的顺序结构程序。

二、选择结构
选择结构就是用if语句或switch构成的语句块就是选择结构的程序。
1.if选择结构
(1)if语句
if语句的一般形式为
if(表达式)  语句;
例如:
if(i>10) printf("%d",i);
在上面的程序中,括号里的i>10是一个关系表达式,printf("%d",i);是一个语句。这条语句只有当i>10的逻辑值为真时才执行。如果i的值小于10,则不执行printf("%d",i);这条语句。
(2)if...else语句
if...else选择语句的一般形式
if(表达式)
    语句块1;
else
    语句块2;
(3)有多个选择分支的if语句
if(表达式1)
    语句块1;
else if(表达式2)
    语句块2;
else if(表达式3)
    语句块3;
......
......
else if(表达式n)
    语句块n;
使用注意点:

1)不要在if的小括号后面添加分号

2)像a==0这样的表达式,最好写成0==a,若你误写成0=a,编译器会直接报错

3)直接写个if(a)是可以的,C语言默认所有大于0的值都为真


2.switch选择结构
使用if语句可以进行二分支选择,使用嵌套的if语句可以实现多分支选择。但是使用嵌套if 语句时,当分支数比较多,if语句的嵌套层数就会增加,使得程序很难阅读。当对某一个变量(或表达式)的不同取值进行多分支选择的时候应当使用switch语句。(注意:并不是说多分支一定用switch,一定要“注意一个变量(或表达式)的多个取值”这个条件,如果不是这个条件,比如说,是“多个变量(或表达式)的多个取值”这样的条件,那么必须使用if嵌套语句,而不能使用switch语句)。
switch语句的一般形式为
switch(数值)
    {
        case 数值1;
            语句1;
            break;
        case 数值2:
            语句2;
            break;
        ....
        case 数值n:
            语句n;
            break;
        default:
            语句n;
            break;
    }
例如:
int a = 6;
 switch (a) { 
     case 0:
         printf("输出0");
         break;
     case 2:  
         printf("输出2");
         break;
     case 6:
         printf("输出6");
         break;
     default:
         printf("无输出");  
         break;  
 }
其中break的作用:

1)break关键字的作用是退出整个switch语句。默认的格式中,每个case后面都有个break,因此执行完case中的语句后,就会退出switch语句。

2)如果某个case后面没有break,意味着执行完这个case中的语句后,会按顺序执行后面所有case和default中的语句,直到遇到break为止。

3)在某些时候,不是每一个case后面一定要添加break,视程序需要而定。


总结:

if与switch的对比:

(1)if语句能完成的功能,switch语句不一定能完成。

例如:

int a = 100;
if (a > 100)   //用switch判断就太麻烦,if会很方便
{
       语句块;
}
(2)在有些情况下,if语句是可以和switch语句互换的,效果一样。

(3)switch能完成的功能,if语句都能完成。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值