#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; }