您的位置:首页 > 编程语言 > C语言/C++

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

2015-11-17 16:14 393 查看
------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语言 分支