#import <Foundation/Foundation.h>
enum season
{
spring,//第一个枚举值默认是0,后面的枚举值会在上一个枚举值基础上加1.
summer,//1
autumn,//2
winter//3
};
typedef enum season Season;
int main(int argc, const char * argv[])
{
//BOOL可以认为是取值范围更小的整形()
//任何一个表达式都有结果
//语句(表达式带分号;)
//由关系运算符组成的叫着关系表达式
//算术运算符形成算术运算符
// BOOL a = 3 > 6;
// printf("%d",a);
#pragma mark-------------逻辑运算符
//逻辑运算符,结果也是非真即假
//&&逻辑与,两边都是真,结果才是真,两边有一个是假,也是假,一假即假(小心短路,前面是假,后面不用看了)全真为真,一假即假
//短路现象
//非0即为真
// int a = 10,b=6;
// BOOL c = a > b && b++;
// printf("%d %d %d ",a,b,c);
//逻辑或||,左边是一个表达式,右边是一个表达式,有一个为真,结果为真,一真即真,全假即假
//b++不用运算了
// BOOL d = a < b || b++;
// printf("%d %d %d %d",a,b,c,!d);
//逻辑非!
#pragma mark---------------三大结构(顺序结构,分支(选择)结构,循环结构)
// int a = 10,b = 8;
// if (a>b) {
// printf("最大值是a(%d)\n",a);
// }
// printf("后面的语句");
//注意不要if(条件);错误
// char a =255;
// printf("输入一个字符:");
// scanf("%c",&a);
// if (a=='m') {
// printf("男性");
// }else{
// printf("女性");//(不能输出,因为范围更大,不管怎么样都输出)必须用else
// }
//面向过程,怎么想怎么写
//
// int a =0,b = 0;
// //提示输入两个数
// //
// printf("请输入两个数:");
// scanf("%d,%d",&a,&b);
// //判断
// if (a>b) {
// printf("b去买饭");
// }else{
// printf("a去买饭");
// }
// int year = 0;
// printf("请输入一个年份:");
// scanf("%d",&year);
// if (year % 400 == 0 || (year % 4 == 0 && year % 100 !=0)) {
// printf("%d年是闰年",year);
// }else{
// printf("%d年是平年",year);
// }
//一个&是按位与,10010,01100,00000,碰到两个1才是1,两个0还是0,一个0一个1还是0
//else跟离它最近的if匹配
// printf("请输入一个字符:");
// char a = 0;
// scanf("%c",&a);
// if (a>='0'&& a<='9') {
// printf("this is digital");
// }else if (a>='A'&&a<='Z'){
// printf("this is capital letter");
// }else if (a>='a'&&a<='z'){
// printf("this is letter");
// }else{
// printf("other");
// }
// int a =0,b = 0,c = 0;
// printf("请输入两个数:");
// scanf("%d,%d",&a,&b);
// if (a>b) {
// c=a;
// printf("a与b中最大的数是%d",c);
// }else{
// c=b;
// printf("a与b中最大的数%d",c);
// }
// c = a > b ? a : b;
// printf("a与b中最大的数是%d",c);
//优先级,一目大于二目大于三目大于=(赋值)
#pragma mark---------------枚举类型(有限的值,home在上,左,下右)需要记住枚举的语法
//基本数据类型(不可以再划分了)
//构造类型(由基本数据类型构造成的)枚举类型,数组,结构体
//关键字enum 开头 名字 {值1,值2};
// Season a = spring;
// enum season a = spring;
//类似于
// BOOL b =YES;
// printf("%d",a);
//提高可读行
//比如左对齐=0,
// typedef int AA;
// AA c = 10;
#pragma mark---------------switch(开关)语句
// switch (整型表达式) {
// case 值1:{
// 语句1;
// break;}
// default:
// break;
// }
/**
* 整型常量表达式---->(结果)(跳到)case
* case a必须是常量,不能是变量
*/
printf("请输入一个数字:");
Season a = spring;
scanf("%d",&a);
switch (a) {//整型变量,int,float,char都行
//case哪怕只有一行,也要加大括号
case spring://整型变量,int,float,char的值
//需要定义变量,就要加大括号
{
int x = 8;
printf("去江西看油菜花");
break;
}
case summer:
{
printf("去青岛看海");
break;
}
case autumn:
{
printf("去看红叶");
break;
}
case winter:
{
printf("去日本看雪");
break;
}
default:
{
printf("开什么玩笑,宅家里吧");
break;
}
}
#pragma mark----------------流程控制(if,switch,for)
return 0;
}