//
// main.c
// Note-02-分支结构
//
// Created by 刘佳斌 on 15/11/4.
// Copyright © 2015年 小四. All rights reserved.
//
#include <stdio.h>
int main(int argc, const char * argv[]) {
//断点:调试的时候 程序执行到这个位置就会暂停
#pragma mark --if语句--
//if (表达式){功能代码}
//输入你父亲年龄,如果大于等于40;就是个好父亲
int age;
printf("输入你父亲的年龄\n");
scanf("%d",&age);
if(age>=40){ //条件判断 <> <= >= == != 关系运算符计算结
//果都是真(1)或者假(0)
printf("父亲是个好父亲\n"); //功能代码
}
else
printf("还是好爸爸\n");
int result = age >= 40;
printf("是不是大于等于40岁? %d\n",result);//当只有两个条件可以选择的时候 优先使
//用if语句
if (result == 1) { //判断结果是不是真(1)真:就执行功能代码 否则
//跳过
printf("你的父亲倍儿棒\n");
}
//当不满足if语句的条件,而满足另一个条件的时候,执行另一分支代码,可以使用else(否则)
#pragma mark --练习--
//如果上课人数大于60,学习氛围忒好,否则输出没来的去当葫芦娃了
int people=0;
char *message;
printf("请输入今天上课人数\n");
scanf(" %d",&people); //scanf()内加一个空格,可以与上边的scanf区分开
if (people>60) {
message="学习氛围忒好!!";
}
else {
message="没来的都去当葫芦娃了...ORZ";
};
printf("%s\n",message);
// int *sum = people>60 ? "学习氛围忒好":"没来的都去当葫芦娃了...ORZ";
// printf("%s\n",sum);
//
//如果只有两个条件可以选择,并且只有两个可能发生的结果,并且分支结构里也没有嵌套使用其他内容,可以选择使用㊙️三目运算㊙️!!!
#pragma mark --三目运算--
//三目运算的公式:表达式 ?第一个结果:第二个结果
//问电脑?? 这个表达式是不是真的
//如果是真的选择第一个结果,如果是假的选择第二个结果
//表达式:一目 第一个结果:二目 第三个结果:三目
int a = 33;
char *s = a < 33 ? "是的":"NO";
printf("%s\n",s);
#pragma mark --枚举--
//枚举:列举 一个一个 默认从0开始按顺序罗列,当有一个元素对应值改变,如(0,1,(2),3)突然2改变为了3,则(0,1,3,4)
// 她的保留字 enum
//枚举是用字符串来表示这些数字的,
//优点:很直观地知道这个数字的含义; 当改变字符串对应的数字的时候,不会影响到程序代码
/*
公式:enum 枚举的名字{
枚举的例子, ❗️使用逗号隔开❗️ 默认从0开始
枚举的例子=5, ❗️当这个值变成了5,则下一个元素对应值默认改为6
枚举的例子 ❗️最后一个元素没有逗号隔开❗️
};
*/
//
// enum Type {
// Red, //表示0
// Orange, //表示1
// Yellow, //表示2
// Green //表示3
// };
//
// enum Type type =Yellow; // ❗️❗️enum 枚举名 变量名 = 枚举值
// printf("%d\n",type);
/* 枚举公式之二:
typedef 用来替代(enum 枚举的名字)
typedef enum 枚举的名字{
枚举的例子, ❗️使用逗号隔开❗️ 默认从0开始
枚举的例子=5, ❗️当这个值变成了5,则下一个元素对应值默认改为6
枚举的例子 ❗️最后一个元素没有逗号隔开❗️
};要替代的名字;
*/
/* typedef enum Type{
Red,
Orange,
Yellow,
Green
}Color; //用Color代表了enum TypeOfColor
Color color = Red;
printf("%d\n",color);*/
//什么情况下使用枚举:当某些数字具有一定意义的时候,可以使用枚举直观体现这些数字的意义
//在编程过程中有可能修改需求,把具有特定意义的数字修改成别的数字,节省工作量
/* 例子
typedef enum LoginType{
Acc = 10,
QQ,
Sina,
WeiXin
}LoginType;
LoginType type;
if (type == Acc) {
printf("Acc登录");
}
if (type == QQ) {
printf("QQ登录");
}
if (type == Sina) {
printf("Sina登录");
}
if (type == WeiXin) {
printf("WeiXin登录");
}
*/
#pragma mark -- switch 语句--
//switch :当有多个条件可以提供选择的时候来替代if语句
//条件变量满足第几个条件,就会跳到对应的条件中执行代码,遇到break会跳出switch继续执行,常与枚举配合使用
/* 公式
switch (条件变量) {
case 条件1:
具体代码
break;
case 条件2:
具体代码
break;
default:
break;
}
*/
// ‼️注意 ,每一个分支条件后边必须跟break来跳出,如果没有跳出会继续往下执行
// default: 默认, 任何条件都不满足的时候 进人defaul
/*
定义LoginType枚举的变量 LoginType type;
输入一个数字来判断用户使用哪种方式登陆
*/
typedef enum LoginType{
Acc = 15,
QQ=11,
Sina,
WeiXin
}LoginType;
LoginType type;
scanf("%d",&type);
switch (type) { //type到底是多少
case Acc:
printf("账号登陆\n");
break;
case QQ:
printf("QQ登陆\n");
break;
case Sina:
printf("新浪登陆\n");
break;
case WeiXin:
printf("微信登陆\n");
break;
default:
printf("没有这种登陆...ORZ\n");
break;
}
return 0;
}
/*
作业:
1、输入三个数 找出他们的最大值
2、用户输入对应的季节编号 展示给用户对应季节的 介绍(使用枚举 10=春 11=夏 15=秋 16=冬)
3、写一个加减乘除的计算器(输入两个数 再输入想要计算的符号 进行计算 输出结果)
4、根据成绩 评优 (95以上 牛掰;95-80 赞;80-60 可以;60以下 ,,Ծ‸Ծ,,)
游戏(思考附加题) 作业
1、写出 英雄 怪物 英雄的武器 英雄和怪物的技能 的枚举列表
2、选择英雄 选择武器
3、怪物随机出现
4、英雄打怪物
*/
// main.c
// Note-02-分支结构
//
// Created by 刘佳斌 on 15/11/4.
// Copyright © 2015年 小四. All rights reserved.
//
#include <stdio.h>
int main(int argc, const char * argv[]) {
//断点:调试的时候 程序执行到这个位置就会暂停
#pragma mark --if语句--
//if (表达式){功能代码}
//输入你父亲年龄,如果大于等于40;就是个好父亲
int age;
printf("输入你父亲的年龄\n");
scanf("%d",&age);
if(age>=40){ //条件判断 <> <= >= == != 关系运算符计算结
//果都是真(1)或者假(0)
printf("父亲是个好父亲\n"); //功能代码
}
else
printf("还是好爸爸\n");
int result = age >= 40;
printf("是不是大于等于40岁? %d\n",result);//当只有两个条件可以选择的时候 优先使
//用if语句
if (result == 1) { //判断结果是不是真(1)真:就执行功能代码 否则
//跳过
printf("你的父亲倍儿棒\n");
}
//当不满足if语句的条件,而满足另一个条件的时候,执行另一分支代码,可以使用else(否则)
#pragma mark --练习--
//如果上课人数大于60,学习氛围忒好,否则输出没来的去当葫芦娃了
int people=0;
char *message;
printf("请输入今天上课人数\n");
scanf(" %d",&people); //scanf()内加一个空格,可以与上边的scanf区分开
if (people>60) {
message="学习氛围忒好!!";
}
else {
message="没来的都去当葫芦娃了...ORZ";
};
printf("%s\n",message);
// int *sum = people>60 ? "学习氛围忒好":"没来的都去当葫芦娃了...ORZ";
// printf("%s\n",sum);
//
//如果只有两个条件可以选择,并且只有两个可能发生的结果,并且分支结构里也没有嵌套使用其他内容,可以选择使用㊙️三目运算㊙️!!!
#pragma mark --三目运算--
//三目运算的公式:表达式 ?第一个结果:第二个结果
//问电脑?? 这个表达式是不是真的
//如果是真的选择第一个结果,如果是假的选择第二个结果
//表达式:一目 第一个结果:二目 第三个结果:三目
int a = 33;
char *s = a < 33 ? "是的":"NO";
printf("%s\n",s);
#pragma mark --枚举--
//枚举:列举 一个一个 默认从0开始按顺序罗列,当有一个元素对应值改变,如(0,1,(2),3)突然2改变为了3,则(0,1,3,4)
// 她的保留字 enum
//枚举是用字符串来表示这些数字的,
//优点:很直观地知道这个数字的含义; 当改变字符串对应的数字的时候,不会影响到程序代码
/*
公式:enum 枚举的名字{
枚举的例子, ❗️使用逗号隔开❗️ 默认从0开始
枚举的例子=5, ❗️当这个值变成了5,则下一个元素对应值默认改为6
枚举的例子 ❗️最后一个元素没有逗号隔开❗️
};
*/
//
// enum Type {
// Red, //表示0
// Orange, //表示1
// Yellow, //表示2
// Green //表示3
// };
//
// enum Type type =Yellow; // ❗️❗️enum 枚举名 变量名 = 枚举值
// printf("%d\n",type);
/* 枚举公式之二:
typedef 用来替代(enum 枚举的名字)
typedef enum 枚举的名字{
枚举的例子, ❗️使用逗号隔开❗️ 默认从0开始
枚举的例子=5, ❗️当这个值变成了5,则下一个元素对应值默认改为6
枚举的例子 ❗️最后一个元素没有逗号隔开❗️
};要替代的名字;
*/
/* typedef enum Type{
Red,
Orange,
Yellow,
Green
}Color; //用Color代表了enum TypeOfColor
Color color = Red;
printf("%d\n",color);*/
//什么情况下使用枚举:当某些数字具有一定意义的时候,可以使用枚举直观体现这些数字的意义
//在编程过程中有可能修改需求,把具有特定意义的数字修改成别的数字,节省工作量
/* 例子
typedef enum LoginType{
Acc = 10,
QQ,
Sina,
WeiXin
}LoginType;
LoginType type;
if (type == Acc) {
printf("Acc登录");
}
if (type == QQ) {
printf("QQ登录");
}
if (type == Sina) {
printf("Sina登录");
}
if (type == WeiXin) {
printf("WeiXin登录");
}
*/
#pragma mark -- switch 语句--
//switch :当有多个条件可以提供选择的时候来替代if语句
//条件变量满足第几个条件,就会跳到对应的条件中执行代码,遇到break会跳出switch继续执行,常与枚举配合使用
/* 公式
switch (条件变量) {
case 条件1:
具体代码
break;
case 条件2:
具体代码
break;
default:
break;
}
*/
// ‼️注意 ,每一个分支条件后边必须跟break来跳出,如果没有跳出会继续往下执行
// default: 默认, 任何条件都不满足的时候 进人defaul
/*
定义LoginType枚举的变量 LoginType type;
输入一个数字来判断用户使用哪种方式登陆
*/
typedef enum LoginType{
Acc = 15,
QQ=11,
Sina,
WeiXin
}LoginType;
LoginType type;
scanf("%d",&type);
switch (type) { //type到底是多少
case Acc:
printf("账号登陆\n");
break;
case QQ:
printf("QQ登陆\n");
break;
case Sina:
printf("新浪登陆\n");
break;
case WeiXin:
printf("微信登陆\n");
break;
default:
printf("没有这种登陆...ORZ\n");
break;
}
return 0;
}
/*
作业:
1、输入三个数 找出他们的最大值
2、用户输入对应的季节编号 展示给用户对应季节的 介绍(使用枚举 10=春 11=夏 15=秋 16=冬)
3、写一个加减乘除的计算器(输入两个数 再输入想要计算的符号 进行计算 输出结果)
4、根据成绩 评优 (95以上 牛掰;95-80 赞;80-60 可以;60以下 ,,Ծ‸Ծ,,)
游戏(思考附加题) 作业
1、写出 英雄 怪物 英雄的武器 英雄和怪物的技能 的枚举列表
2、选择英雄 选择武器
3、怪物随机出现
4、英雄打怪物
*/