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;
}
//作用:用来表示非真即假的数据类型,(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;
}
相关文章推荐
- UIPageControl
- Android NDK使用之--用pthread实现多线程
- 如何使用滑动菜单SlidingMenu?
- IDA*
- 数据结构实验4(排序算法的实现及性能分析)
- Dense Scale Invariant Feature Transform (DSIFT)
- 网站优化时要学会避免哪些错误
- BZOJ 1787 裸LCA
- halcon标定之内外参——(from dp)
- 网站板块布局黄金视线分布法
- 尺度不变特征转换SIFT
- 【Java学习笔记】GUI界面之简单动画
- 互联网运营真的缺少一个好平台?
- 祭旗篇---关于提高技术团队技术氛围的一些尝试
- 基于注解的Spirng MVC框架的搭建(基础篇)
- first Blog for test
- BZOJ 2440 - 容斥原理 + 莫比乌斯函数的应用
- I2C总线协议
- 如何做到网站改版不换权
- AMD 宣布开源 Linux 显卡驱动与 GPUOpen 工具