您的位置:首页 > 其它

day03 BOOL类型 关系运算符 逻辑运算符 分支语句 条件运算符 ? : swith语句 枚举类型

2015-12-16 21:23 225 查看
#pragma mark-BOOL类型

//作用:用来表示非真即假的数据类型,(1字节)

//存储的数据:YES和NO

/*

YES(真)==1;NO(假)==0;

将人能够识别的标识符和计算机能够识别的数字结合起来

*/

//定义BOOL类型的变量

// BOOL isGril=NO;//NO

// BOOL isBoy=YES;//YES

//输出bool类型的变量使用%d

//printf("%d,%d",isGril,isBoy);

#pragma mark-关系运算符

//运算符:>,<,>=,<=,==,!=

//关系表达式:关系运算符组成的式子叫做关系表达式,结果为bool类型数据。

//注:判断两个数是否相等,要用双等号“==”,而非“=”

// int m=5,n=10;

//大于>

// BOOL result = m > n;

// printf("%d\n",result);

//

//小于<

// result=m<n;

// printf("%d\n",result);

//

//大于等于>=

// result = m<= n;

// printf("%d\n",result);

//

//等于==

// result = m == n;

// printf("%d\n",result);

//

//不等于!=

// result= m!=n;

// printf("%d\n",result);

#pragma mark-逻辑运算符

/*

&& (逻辑与):逻辑与运算符2边同时为真,整个逻辑表达式的结果为真。

|| (逻辑或):逻辑或运算符2边的表达式同时为假,整个逻辑表达式结果为假。

! (逻辑非):原有为真,非厚为假;原来为假,非厚为真。

注:逻辑与与逻辑或之间的短路现象。

&&短路现象:如果运算符左边的表达式为假,则不会判断右边。

||短路现象:如果运算符左边的表达式为真,则不会判读右边。

*/

//逻辑运算

//1.逻辑与&&
,并且的关系

// int i=3,j=5,k=7;

// BOOL result=0;

// result=(i<=j) && (j!=k);

// printf("%d\n",result);

//2.逻辑或||
,或者的关系

// result = (j==k) || (j<k);

// printf("%d\n",result);

//3.逻辑非,!颠倒是非

// result=!(i!=k);

// printf("%d\n",result);

//短路现象

//逻辑与的短路现象,&&左侧为假,右侧则不参与运算

// int c=0;

// result = i>k && ++c;

// printf("c==%d\n",c);

//逻辑或的短路现场,||左侧为真,右侧则不参与运算

// result=(i+k)>=j || ++c;

// printf("c==%d\n",c);

#pragma mark-分支语句

//c语言的顺序结果

//1.顺序结构,main函数是程序入口,程序执行从上往下,从左至右;

//2.分支结构,程序执行到某个位置,进行条件判断,根据不同的结果,执行不同的操作;

//3.循环结构,程序执行到某个位置,反复执行某个位置。

//if语句

//原理:根据不同的条件,执行不同的分支程序段。

//if的第一种形式

// if(条件表达式)

// {

//
语句1;

// }

//
注:先判断条件表达式是否为真,为真则执行大括号中的语句,为假则不执行。

// int count=0;

// int noSee=1;

// printf("老公,给我买个包子:\n");

// scanf("%d",&noSee);

// if (noSee==0) {

// printf("请输入你要买的包子数:\n");

// scanf("%d",&count);

// printf("我买到%d包子",count);

// return 0;

// }

// printf("我没有买到包子");

// int count=0;//包子数量

// int noSee=0;//没有看到

// printf("老公,看到卖包子的没有(看到/没看到):");

// scanf("%d",&noSee);

// if (noSee==1) {

// count=1;

// }

// printf("包子的数量:%d",count);

// float score=0.0;//考试成绩

// printf("你今天考了多少分:");

// scanf("%f",&score);

// if (score==100)

// {

// printf("真棒,么么哒\n");

// }

// if (score!=100)

// {

// printf("弄死你\n");

// }

//练习:输入一个字符,判断是不是m,如果是,输出“男性“,不是,输出"女性"。

// char sex=0;

// printf("请输入你的性别:");

// scanf("%c",&sex);

// if (sex=='m')

// {

// printf("男性\n");

// }

// else

// {

// printf("女性\n");

// }

// int money=0;

// printf("我要交停车费");

// scanf("%d",&money);

// if (money==10)

// {

// printf("我今天交了10元的停车费\n");

// }

// printf("吃早餐\n");

// printf("去上班\n");

//第二种形式

//语法:

// if (条件表达式) {

//
语句1;

// }

// else

// {

//
语句2;

// }

//原理:

//先判断条件表达式,如果条件表达式为真,执行语句1,如果为假,执行语句2。

//输入2个整形的数,a1,a2;获取他们两者中的最大值,并输出。

// int a1=0,a2=0;

// printf("请输入两者中的最大值:");

// scanf("%d %d",&a1,&a2);

// if (a1>a2) {

// printf("最大值:%d\n",a1);

// }

// else

// {

// printf("最大值:%d\n",a2);

// }

//练习:判断年龄是否在【18,38】范围,如果在,则显示"是我的菜",如果不在,显示,是别人的菜。身高在【160,170】之间;如果身高满足,这是我的菜,如果身高不满足,这不是我的菜,太挫了。

// int age=0;

// printf("请输入要判读的年龄:");

// scanf("%d",&age);

// if (age>=18 && age<=38) {

// printf("是我的菜\n");

// }

// else

// {

// printf("不是我的菜\n");

// }

// int age=0,high=0;

// printf("请输入要判读的年龄和身高:");

// scanf("%d %d",&age,&high);

// if (age>=18 && age<=38)

// {

// if (high>=160 && high<=170)

// {

// printf("是我的菜\n");

// }

// else

// {

// printf("不是我的菜,太挫了\n");

// }

//

// }

// else

// {

// printf("不是我的菜\n");

// }

//练习:判断年份是不是闰年

//满足闰年的条件是:

//1.能被400整除,
2.能被4整除,但是不能被100整除。

// int year=0;

// printf("请输入年份:");

// scanf("%d",&year);

// if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)) {

// printf("%d是闰年",year);

// }

// else{

// printf("%d不是闰年",year);

// }

#pragma mark-条件运算符? :

//三目运算符

//格式:条件表达式?表达式1:表达式2;

//原理:先判断条件表达式,如果成立,返回表达式1,不成立,返回表达式2。

// int num1=5,num2=10;

//int max=0;

//把num1和num2中的最大值,赋值给max

// if(num1>num2)

// {

// max=num1;

// }

// else

// {

// max=num2;

// }

// printf("max=%d\n",max);

// max=num1 > num2 ? num1 : num2;

// printf("max=%d\n",max);

// int min=0;

// min= num1 < num2 ? num1 : num2;

// printf("min=%d\n",min);

//思考并输出:

//练习:请输入3个数,求三个数的最大值,和最小值

// int num1=0,num2=0,num3=0;

// int max=0,min=0;

// printf("请输入3个数字:");

// scanf("%d %d %d",&num1,&num2,&num3);

// max=(num1>num2 ? num1 : num2) > num3 ? (num1>num2 ? num1 : num2) :num3;

// min=(num1<num2 ? num1 : num2) < num3 ? (num1<num2 ? num1 : num2) :num3;

// max=num1 > num2 ? num1 : num2;

// max= max > num3 ? max : num3;

// max=num1 > num2 ? (num1 > num3 ? num1 : num3):(num2 > num3 ? num2 : num3);

//

// printf("max=%d\n",max);

//printf("min=%d\n",min);

// if的第三种形式

// if (条件表达式1) {

//
语句1;

// }

// else if (条件表达式2) {

//
语句2;

// }

// else

// {

//
语句3;

// }

//原理:先判断条件表达式1,如果成立,执行语句1,如果不成立,在判断条件表达式2,如果成立,执行语句2,如果不成立,就执行语句3。

//注:这种结构,必须以if开头,以else结尾,中间写else
if,并且else if可以有多个。

/*

如果从控制台输入一个成绩,如果成绩在80-100之间,则输出优秀,如果成绩在60-80分之间,则输出良好,否则就输出不及格。

*/

// float score=0;

// printf("请输入成绩:\n");

// scanf("%f",&score);

// if (score > 80 && score <= 100) {

// printf("优秀\n");

// }

// else if(score>=60 && score < 80)

// {

// printf("良好\n");

// }

// else

// {

// printf("不及格\n");

// }

// char letter=0;

// printf("请输入一个字符:\n");

// scanf("%c",&letter);

// if (letter >= '0' && letter <= '9') {

// printf("this is digital\n");

// }

// else if (letter >= 'A' && letter <= 'Z') {

// printf("this is capital letter\n");

// }

// else if(letter >= 'a' && letter <= 'z')

// {

// printf("this is letter\n");

// }

// else

// {

// printf("other\n");

// }

#pragma mark-swith语句

//语法

// switch (整形表达式) {

// case
值1:

//
执行语句;

// break;

// case
值2:

//
执行语句;

// break;

// case ..:

// ...

// default:

// break;

// }

// int number=0;//存储分机号码

// printf("请输入分机号码:801(教学部)
802(市场部) 803(职业规划部)
804(总经理):");

// scanf("%d",&number);

// switch (number) {

// case 801:

// printf("教学部\n");

// break;

// case 802:

// printf("市场部\n");

// break;

// case 803:

// printf("职业规划部\n");

// break;

// case 804:

// printf("总经理\n");

// break;

// default:

// printf("你丫的到底找谁!\n");

// break;

// }

//case
后只能为整形常量或者整形常量表达式

//case
分支中要加break;break的作用是结束当前分支,跳出swith

//default
是如果没有匹配到任何的case分支,执行default

//练习:从控制台输入1-4,打印出春夏秋冬的英文词

// int season=0;

// printf("请输入季节1(spring)2(summer)
3(automn) 4(winter):");

// scanf("%d",&season);

// switch (season) {

// case 1:

// printf("spring\n");

// break;

// case 2:

// printf("summer\n");

// break;

// case 3:

// printf("autumn\n");

// break;

// case 4:

// printf("winter \n");

// break;

// default:

// printf("你丫的输入的不对!\n");

// break;

// }

#pragma mark-枚举类型

//作用:罗列出所有的可能性,每一个枚举值相当于一个可能性

//枚举是将人能够识别的标示符和计算机能够识别的数字结合起来,所以每一个枚举值对应一个整数值。

//枚举类型:enum +枚举名。

// enum
枚举类型的名字{

//
值1,值2,值3,值4

// };

// }

//enum season是枚举值的类型名。

typedef enum
season{

Spring=0,

Summer=1,

Autumn=2,

Winter=3

}S3;

//enum season s1=Spring;

S3
s1=Spring;

printf("%d\n",s1);

scanf("%d",&s1);

switch
(s1) {

case
Spring:

printf("春天来了,我要去郊游!");

break;

case
Summer:

printf("夏天来了,我要去游泳!");

break;

case
Autumn:

printf("秋天来了,我要去郊游!");

break;

case
Winter:

printf("冬天来了,我要去滑雪!");

break;

default:

break;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: