黑马程序员--C语言自学笔记---04分支结构

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

1.   一个xcode注释插件:VVDocumenter-xcode

2.   If分支结构

1)        if – else

2)        if-else if –else

3)        注意:if(1)int a=1;是错误的,改为if(1){int a=1;}是正确的;

4)        If和else要匹配

一个简单的而剪刀石头布小游戏:

#include 
#include 
int main(int argc, const char * argv[]) {
 
    int human = -1,computer;//定义变量
while(human != 3){
 
        printf("请出拳:0.石头 1.剪刀 2.布 3.退出\n"); //提示用户出拳
        scanf("%d",&human);
 
        computer = arc4random_uniform(3);//电脑出拳用随机数产生
 
        if(human<0 || human>3) //判断输入的合法性
            printf("你出的是啥啊,我读书少别骗我!\n");
        else{   //判断输赢
                if ((human==0&&computer==1)||
                  (human ==1&&computer == 2)||
                  (human == 2 && computer == 0)) {
                    printf("恭喜你,你赢了!\n");
                }
                else if ((computer == 0 && human == 1)||
                       (computer == 1 && human == 2)||
                   (computer == 2 && human == 0)){
                    printf("很遗憾,你输了!\n");
                }
                else if(human == computer){
                    printf("还不错,打平了!\n");
                }
            }
    }
    printf("下次再玩吧!拜拜!\n");
    return 0;
}

运行截图

黑马程序员--C语言自学笔记---04分支结构_第1张图片

注意此程序中用到的一个随机函数arc4random_uniform(n),产生从0到n-1之间的一个随机数,记得导入头文件#include.

 

3.   case的穿透问题

是指在switch结构中,执行完某个case语句后没有使用break,程序继续向下执行其他case语句。在case语句中加上break便会消除此种现象。

switch(1){
case 1:
          printf("我是1\n"):
case 2:
          printf("我是2\n");
          break;

}
这样就会把两条输出语句都输出来。


4.   switch结构使用注意

1)        条件表达式必须为整型或者可以转换为整型的值

2)        case语句可以有多条语句,大括号可有可无。

3)        break语句用来结束switch语句,不适用时表现为穿透现象。

5.   case语句注意

1)        case格式为:case+空格+常量/常量表达式+冒号+语句块

2)        case后面不能为变量,只能为常量或者常量表达式

3)        default语句可以放在任意位置

4)        case的穿透为从上向下穿透,如果default语句在后面同样也会穿透

5)        如果default语句放在switch的最后面,可以不使用break,但放在前面必须有break

6)        case后面不能跟实数,即小数

7)        case后的语句块的第一句要想定义一个变量,必须加上大括号,否则定义会出问题

8)        编译器 bug问题:在case后面的语句块中非第一句定义变量时,其他的case语句也可以使用这个定义的变量。

 


你可能感兴趣的:(C语言)