【黑马程序员】C语言分支

原创 2015年11月17日 16:14:17


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


程序的结构及分类


1.程序的结构有三种


1)顺序结构

2)分支结构:if   switch

3)循环结构:while  do-while  for


2.if语句介绍及基本格式


1.分支语句if的使用

一般形式(第一种形式):表示如果表达式为真,执行语句块1否则不执行

<span style="font-size:14px;">//  if语句介绍:猜数字游戏:如果输入是5打印恭喜你,否则打印很可惜
//
//  Created by Brisinga on 15/11/14.
//  Copyright © 2015年 yan. All rights reserved.
//

#include <stdio.h>

int main(int argc, const char * argv[]) {
    int input=-1;
    printf("请输入一个数字\n");
    scanf("%d",&input);
    if (input<=9&&input>=0) {  //判断输入是否合法
        if (input==5) {
            printf("恭喜你!\n");
        }else{
        
            printf("很可惜\n");
        }
    }else{
    
        printf("非法的输入\n");
    }
    return 0;
}
</span>

3、if….else…语句及嵌套


1.if..else语句使用

如果表达式为真,则执行语句块1,否则执行语句块2

if(表达式)

{语句块1

}else{

语句块2

}


4、if语句的高级用法

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

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

语句块4 } 


<span style="font-size:14px;">//
//输入一个属于0-100的成绩,按0-59(E),60-69(D),70-79(C),80-89(B),90-100(A)分成几等。
//  main.c
//  if语句的高级用法
//
//  Created by Brisinga on 15/11/14.
//  Copyright © 2015年 yan. All rights reserved.
//

#include <stdio.h>

int main(int argc, const char * argv[]) {
    
    int score = -1;
    printf("请输入一个成绩\n");
    scanf("%d",&score);   //接收用户的输入
    if (score>=0&&score<=100) { //判断属于哪个等级
        if (score<=59) {
            printf("E\n");
        }else if (score<=69){
            printf("D\n");
        }else if (score<=79){
            printf("C\n");
        }else if(score<=89){
            printf("B\n");
        }else{
            printf("A\n");
        }
    }else{
        printf("非法的输入\n");
    }
    return 0;
}
</span>

5.剪刀石头布游戏实现


分析:制定游戏的规则

剪刀  干掉 

石头干掉 剪刀

布     干掉石头


思路:

计算机随机出一个拳

玩家自己选择一个拳

判断胜负


<span style="font-size:14px;">//
//  main.c
//  剪刀石头布游戏
//
//  Created by Brisinga on 15/11/14.
//  Copyright © 2015年 yan. All rights reserved.
//

#include <stdio.h>
#include <stdlib.h>
int main(int argc, const char * argv[]) {
    int player=-1,computer=-1;  //定义电脑,人员
    computer = arc4random_uniform(3);   //电脑随机产生0-2之间的整数
    printf("请输入剪刀石头布,注意:0剪刀,1石头,2布\n");
    scanf("%d",&player);
    if (player<0||player>2) {    //判断输入是否合法
        printf("非法的输入\n");
    }else{
    
        if (player==0&&computer==2) {
            printf("用户获胜\n");    //用户获胜
        }else if(player==1&&computer==0){
            printf("用户获胜\n");    //用户获胜
        }else if (player==2&&computer==1){
            printf("用户获胜\n");    //用户获胜
        }else if(player==computer){
        
            printf("平局\n");
        }else{
        
            printf("计算机获胜\n");      //其他情况,计算机获胜
        }
    
    }
    
    
    return 0;
}
</span>

6、switch语句基本格式


1.switch分置于句


1)使用格式

switch(表达式){

case 常量表达式1:语句1

case 常量表达式2:语句2

case 常量表达式3:语句3

case 常量表达式n:语句n


default:语句n+1


}


2.case语句的穿透问题

某个case语句执行完成后,并没有结束,而是向下执行其他case语句。


3.switch条件类型

1)表达式的类型(case语句后的值)必须是整形或者可以转换成整形的值(byte,short,char,int)


*注意:case语句之后,默认的第一句话不能定义变量,如果第一句话非要定义,应该加上{}


应用:从键盘输入一个月份,输出对应季节  12~2冬季  3~5春季  6~8夏季  9~11秋季


<span style="font-size:14px;">//
//  main.c
//  判断季节
//
//  Created by Brisinga on 15/11/14.
//  Copyright © 2015年 yan. All rights reserved.
//

#include <stdio.h>

int main(int argc, const char * argv[]) {
    int month;//定义用户输入的数字
    printf("请输入一个月份\n");
    scanf("%d",&month);  //接收一个月份
    switch (month) {
        case 12:
        case 1:
        case 2:
            printf("冬季\n");         //穿透冬季
            break;
        case 3:
        case 4:
        case 5:
            printf("春季\n");
            break;
        case 6:
        case 7:
        case 8:
            printf("夏季\n");
            break;
        case 9:
        case 10:
        case 11:
            printf("秋季\n");
            break;
        default:
            printf("非法的输入!\n");     //其他情况为非法的输入
            break;
    }
    return 0;
}
</span>



版权声明:本文为博主原创文章,未经博主允许不得转载。

【C语言疯狂讲义】(四)C语言分支语句

程序的结构 1)程序默认从上到下顺序执行(顺序结构) 2)程序的结构:顺序结构、分支结构、循环结构 分支结构:本文重点讲if的四种形式和switch语句使用...
  • liwei3gjob
  • liwei3gjob
  • 2014年11月18日 20:19
  • 3052

C语言:If 语句实现的分支语句

任务代码: 求三角形面积范例: #include #include int main() { printf("此程序执行运用海伦公式求三角形的面积!\n"); printf("即知道三角形的三个...
  • Zzwtyds
  • Zzwtyds
  • 2017年07月02日 13:50
  • 654

黑马程序员——C语言基础篇---基础语法

黑马程序员学习日志,C语言的基础学习
  • liufeng124
  • liufeng124
  • 2015年04月13日 22:10
  • 521

黑马程序员——c语言学习---第一个程序

-----------android培训、java培训、java学习型技术博客、期待与您交流!------------  从今天开始我漫长的编程之旅,提前预祝自己成功! 1、开发条件 a、mac...
  • qq_25842885
  • qq_25842885
  • 2015年02月05日 12:46
  • 358

黑马程序员-----c语言基础与重点第一篇——C知识基础

------- android培训、java培训、IOS培训.Net培训、、期待与您交流! ----------     本系列博客主要描述c语言基础与OC语言基础。大家可随时沟通交流。根据学习做一...
  • u010864317
  • u010864317
  • 2015年08月17日 16:07
  • 327

C语言之条件分支结构

1.运算符: 1.关系运算符: 在C语言中,非0(非零)表示真(对),0(零)表示假(错)。   运算符 含义 示例 小于 ...
  • lct710992308
  • lct710992308
  • 2015年05月27日 17:57
  • 805

黑马程序员---C语言学习笔记之五

------- android培训、java培训、期待与您交流! ---------- 1.位段(位域)   使用伪指令#pragma pack (n),编译器将按照 n 个字节对齐;   使用伪...
  • yafengxnbh
  • yafengxnbh
  • 2015年03月16日 14:55
  • 184

c语言入门(三)分支结构

★一:bool布尔类型 ★二:关系运算符 ★三:逻辑运算符 ★四:if语句 ★五:switch语句 一:bool数据类型: 表示非真即假的数据类型,布尔类型...
  • fublog
  • fublog
  • 2014年07月14日 21:19
  • 387

黑马程序员_c语言基础知识大汇总

------- IOS培训、android培训、期待与您交流! ---------- c语言简介
  • wuyun768
  • wuyun768
  • 2014年04月22日 13:24
  • 311

C语言入门(10)——if分支语句

在我们写的函数中可以有多条语句,但这些语句总是从前到后顺序执行的。除了从前到后顺序执行之外,有时候我们需要检查一个条件,然后根据检查的结果执行不同的后续代码,在C语言中可以用分支语句实现,比如: if...
  • yincheng01
  • yincheng01
  • 2014年06月27日 08:05
  • 1793
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【黑马程序员】C语言分支
举报原因:
原因补充:

(最多只允许输入30个字)