【黑马程序员】C语言基础-分支结构(选择结构)

来源:互联网 发布:山西软件定做开发 编辑:程序博客网 时间:2024/05/17 03:24

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

由于程序处理问题,大多数程序中会包含选择结构,需要在进行下一个操作之前先进性条件判断。C语言有2个分支结构if和switch。

一、if语句

        使用格式
<span style="font-size:14px;">if(表达式/常量/变量){</span>
<span style="font-size:14px;">     执行语句;</span>
<span style="font-size:14px;">}</span>
          
           if除了上面的一般形式外,还有两种拓展形式
          
           (1) if...else...形式
           
<span style="font-size:14px;">if(表达式/常量/变量){</span>
<span style="font-size:14px;">     执行语句1;</span>
<span style="font-size:14px;">}else{</span>
<span style="font-size:14px;">     执行语句2;</span>
<span style="font-size:14px;">}</span>
            
           当判断为真(1)时执行执行语句1,为假(0)时执行执行语句2。
 
           (2) if...else if...形式
           
if(表达式1/常量1/变量1){
      执行语句1;
}else if(表达式2常量2变量2){
      执行语句2
}

                当进行第一个判断为真(1)时执行执行语句,为假(0)则再次进行第二个if判断,为真(1)则执行执行语句2。

            if语句的一般形式和拓展模式可以嵌套使用。
            例:
#include <stdio.h>
</pre></div></blockquote><blockquote style="margin:0 0 0 40px; border:none; padding:0px"><div><span style="font-size:14px"></span><pre name="code" class="objc">int main(int argc, const char * argv[]) {
    int a = 10; //定义变量1
    if (a<0) {  //判断1
        printf("执行语句1");
    }else if (a = 0){
        printf("执行语句2");
    }else{
        printf("执行语句3");
    }
    return 0;
}

二、switch语句

          使用格式:

switch (表达式/变量) {
        case 常量表达式1:
            语句1
            break;
        case 常量表达式2:
            语句2
        default:
            语句3
            break;
    }


            对括号中的内容进行判断,如果与常量表达式1相同则执行语句1,与常量表达式2相同则执行型语句2,如果没有相同的常量      表达式则执行语句3。
   
            注意事项:(1)break 使流程跳刀循环体之外,接着执行循环体下面的语句
                              (2)case会出现穿透,必须要加break结束(case语句执行后,并没有,会执行接下来得case语句)
      
           例:
#include <stdio.h>
</pre></div></blockquote><blockquote style="margin:0 0 0 40px; border:none; padding:0px"><div><span style="font-size:14px"></span><pre name="code" class="cpp">int main(int argc, const char * argv[]) {
    int a = 1,b = 1;
    switch (a+b) {
        case 1:
            printf("得数为1");
            break;
        case 2:
            printf("得数为2");
        default:
            printf("得数为其他");
            break;
    }    return 0;
}

0 0