C语言回顾 二 BOOL 关系运算符 条件运算符 enum
来源:互联网 发布:Linux中find的exec 编辑:程序博客网 时间:2024/06/05 20:15
BOOL类型:表示非真即假,用于判断,主要应用在分支结构中,表示的的值是YES NO,进行打印输出的时候YES的值会替换成1,NO的值会替换成0;关系运算符 > >= < <= == !=主要用于比较运算,比较的结果只有真假两种情况,结果值用BOOL类型变量存储;注意: 判断两个数是否相等,用==(双等号); BOOL l = 2/3; printf("%d\n",l); BOOL l1 = 4 >=6;//l1存放的是表达式4》=6的结果 BOOL l2 = 2 !=2;//l2存放的是表达式2!=2的结果 printf("%d,%d\n",l1,l2); 逻辑运算符 &&逻辑与 ||逻辑或 !逻辑非 逻辑与&&两边同时为真时为整个表达式的值为真,否则为假; BOOL l = 2 < 4 && 3 >+ 5; printf("%d\n",l); 短路现象 前面的表达式为假,后面的不执行; int a = 3; BOOL l1 = a < 5 && a++; printf("a=%d,l1=%d",a,l1); 逻辑或 || 注意: 两边表达式都为假的时候,整个表达式为假; BOOL l = 2 < 4 || 4 == 6; printf("l=%d\n",l); 短路现象;前一个人表达式的值为真,后一个表达式不执行; int a = 3; BOOL l1 = a > 1 || --a; printf("a=%d,l1=%d",a,l1); 逻辑非 !表达式的值取反, BOOL l = !(3>5); printf("%d\n",l); int a = 3; BOOL l1 =!(a++ || --a); printf("%d, l1=%d\n",a,l1); if 语句的三种形式 if (条件表达式) { 语句; } 语句2 ; char a = '0'; printf("请输入一个字符:"); scanf("%c",&a); if ('m'==a) { printf("输出为男性");} 判断一年是否为闰年 int year = 0; printf("请输入一个年份:"); scanf("%d",&year); if(year%400==0||(year%4==0 && year%100!=0)){ printf("是闰年"); }else { printf("不是闰年"); } 输入一个字符, char a = '0'; printf("请输入一个字符:"); scanf("%c",&a); if (a >= 48 && a <= 57) { printf("This is digitai"); }else if (a >= 65 && a <= 90){ printf("This is capital letter"); }else if (a >= 97 && a <= 122){ printf("This is letter"); }else printf("other"); 条件运算符(三目运算符) 条件表达式 ? 表达式1 :表达式2 如果条件表达式为真,整个表达式的值为表达式1的值; 如果条件表达式为假,整个表达式的值为表达式2的值; int a = 3, b = 5; int c = a < b ? a++ : b; printf("a=%d,b=%d,c=%d\n",a,b,c); switch...case break用于switch。。case中结束某个case,然后执行switch之外的语句; switch语句和if-else级联式比较,switch语句往往比级联 是更容易阅读,更直观; switch——开关, case——情况, 开关决定发生的情况; case后面的标签只能是整型常量或者整型常量的表达式,不能用变量作为case的标签; 整个default语句都可以舍掉; 多个case可以运行一个语句块; case中定义变量需要加{}; int a = 0; printf("请输入一数值:"); scanf("%d",&a); switch (a) { case 1: printf("case1\n"); break; case 2: printf("case2\n"); break; case 3: printf("case3\n"); break; default: printf("default\n"); break; } 枚举类型 enum 枚举名{枚举值表}; 类型 enum 枚举名 enum season{ spring,// 默认值为0,后面一次加1 summer = 6, autumn, winter };//分号不要丢 //定义一个变量 int a = 0; //提示输入一个数 printf("请输入一个数字"); scanf("%d",&a); //switch (case对应的是season的枚举值) switch (a) { case spring: printf("出去春游\n"); break; case summer: printf("出去游泳\n"); break; case autumn: printf("去爬香山\n"); break; case winter: printf("去滑雪\n"); break; default: printf("别想了,先敲代码吧"); break; } //从控制台输入1——7的数,输出星期一到星期日(借助枚举类型) enum week{ monday=1, tuesday, wedensday, thursday, friday, staturday, sunday }; int a = 0; printf("从控制台输入1--7的数:"); scanf("%d",&a); switch (a) { case monday: printf("星期一"); break; case tuesday: printf("星期二"); break; case wedensday: printf("星期三"); break; case thursday: printf("星期四"); break; case friday: printf("星期五"); break; case staturday: printf("星期六"); break; case sunday: printf("星期日"); break; default: printf("不是正确的日期"); break;}.编写整型值数组排序程序(冒泡排序、选择排序、快速排序-¬-¬升序) int a[] = {3,-¬9,32,77,63,-¬24,14,0,21,45};选择排序 int a[] = {3, -9, 32, 77, 63, -24, 14, 0, 21, 45}; for (int i = 0; i < 9; i++) { int min = i; for (int j = i + 1; j < 10; j++) { if (a[min] > a[j]) { min = j;} } if (min != i) { int temp = a[i]; a[i] = a[min]; a[min] = temp; } printf("%d ", a[i]); }printf("\n");6.输入生日,输出年龄(周岁)和星座 int c1 = 0, c2 = 0, c3 = 0; int age = 0; printf("输入你的生日:"); scanf("%d.%d.%d", &c1, &c2, &c3); age = 2015 - c1; printf("%d周岁\n", age); if ((c2 == 3 && c3 >=21) || (c2 == 4 && c3 <= 19) ) { printf("白羊座\n"); } else if ((c2 == 4 && c3 >= 20) || (c2 == 5 && c3 <= 20)) { printf("金牛座\n"); } else if ((c2 == 5 && c3 >= 21) || (c2 == 6 && c3 <= 21)) { printf("双子座\n"); } else if ((c2 == 6 && c3 >= 22) || (c2 == 7 && c3 <= 22)) { printf("巨蟹座\n"); } else if ((c2 == 7 && c3 >= 23) || (c2 == 8 && c3 <= 22)) { printf("狮子座\n"); } else if ((c2 == 8 && c3 >= 23) || (c2 == 9 && c3 <= 22)) { printf("处女座\n"); } else if ((c2 == 9 && c3 >= 23) || (c2 == 10 && c3 <= 23)) { printf("天秤座\n"); } else if ((c2 == 10 && c3 >= 24) || (c2 == 11 && c3 <= 22)) { printf("天蝎座\n"); } else if ((c2 == 11 && c3 >= 23) || (c2 == 12 && c3 <= 21)) { printf("射手座\n"); } else if ((c2 == 12 && c3 >= 22) || (c2 == 1 && c3 <= 19)) { printf("摩羯座\n"); } else if ((c2 == 1 && c3 >= 20) || (c2 == 2 && c3 <= 18)) { printf("水瓶座\n"); } else { printf("双鱼座\n");7.查找ASCII码表,分别用%d输出字符,用%c输出整数 int e = 0; char g = 'a'; printf("请输入一个字符:\n"); scanf("%c", &g); printf("转化为整数:%d\n", g); printf("请输入一个整数:"); scanf("%d", &e); printf("转换为字符:%c\n",e);第一题 输入一个整数,判断奇偶,并输出“某某是奇数”或者“某某是偶数” int a = 0; printf("请输入一个整数:"); scanf("%d",&a); if(0 == a%2){ printf("是偶数"); } printf("是奇数"); 第二题 输入一个数,判断符号。如果大于 0,输出“正数”;如果小于 0,输 出“负数”;如果等于 0,输出“0” int a = 0; printf("请输入一个数:"); scanf("%d",&a); if (a>0) { printf("整数"); } else if(a<0){ printf("负数"); }else if (a==0){ printf("0"); } 第三题 编程判断3人中谁的年龄最大,并打印最大者的年龄 int age1 = 0, age2 = 0, age3 = 0; int max = 0; printf("输入三个年龄:"); scanf("%d %d %d",&age1,&age2,&age3); if (age1>age2 && age1 > age3) { max = age1; printf("年龄最大:%d",max); }else if (age2>age1 && age2> age3) { max = age2; printf("年龄最大:%d",max); }else if (age3>age1 && age3> age2) { max = age3; printf("年龄最大:%d",max); }第四题 铁路托运行李规定:行李重不超过 50 公斤的,托运费按 0.15 元每 公斤计算,如果超过 50 公斤,超出部分每公斤加收 0.1 元。编程实现上述功能 float a = 0; float b = 0; printf("输入重量:"); scanf("%f",&a); if (a<=50) { b = a * 0.15; printf("收费:%.2f",b); } else { float c = 0; float d = 0; c = a - 50; d = c * 0.25; b = 50 * 0.15 + d; printf("收费%.2f",b); }第五题 写一段程序,输入 x,输出 y 值,如果x<1 的时候,y = x;如果1<=x<10 的时候,y=2x-1; 如果x>=10 的时候,y=3x-11。最后输出x,y的值。 int x = 0, y = 0; printf("输入:"); scanf("%d%d",&x,&y); if (x<1) { x = x; y = x; printf("输出:x=%d y=%d",x,y); } else if(x>=1&&x<10){ x = x; y = 2 * x - 1; printf("输出:x=%d y=%d",x,y); }else if(x>=10){ y = 3 * x - 11; printf("输出:x=%d y=%d",x,y); }第六题 编制一个完成两个数四则运算程序。如:用户输入 34+56 则输出结 果为 90.00,要求运算结果保留 2 位有效小数,用户输入时将 2 个运算数以及运算符都输入,根据运算符求结果 float a = 0, b = 0; char f = '0'; printf("请输入正确的运算符和运算数:"); scanf("%f%c%f",&a,&f,&b); switch (f){ case '+': printf("运算结果:%.2f",a+b); break; case '-': printf("运算结果:%.2f",a-b); break; case '*': printf("运算结果:%.2f",a*b); break; case '/':{ if (0 == b){ printf("除数不能为0"); }else {printf("运算结果:%.2f",a/b); }break;} default: printf("请输入正确的格式"); break; }printf("\n"); //第七题 输入 3 个数,判断是否能构成三角形 float a = 0, b = 0, c = 0; printf("输入三个数:"); scanf("%f%f%f",&a,&b,&c); if (a+b>c && (a-b<c && a-c<b)) { printf("能构成三角形"); }else if(a+c>b && (a-c<b && a-b<c)){ printf("能构成三角形"); }else if(b+c>a && (b-c<a && b-a<c)){ printf("能构成三角形"); }else printf("不能构成三角形"); 第八题输入三个数,用两种方法打印出中间值(即第二大值) 提示:第一种,先求最大最小;第二种,只使用条件运算符 第一种 三目运算符 float a = 0, b = 0, c = 0; float max = 0, min = 0, sum = 0, r = 0; printf("请输入三个数:"); scanf("%f%f%f", &a, &b, &c); max = a >= b ? a : b; max = max >= c ? max : c; min = a <= b ? a : b; min = min <= c ? min : c; sum = a + b + c; r = sum - max - min; printf("mid = %.2f\n", r);第二种 float a = 0, b = 0, c = 0; printf("请输入三个数:"); scanf("%f%f%f", &a, &b, &c); if ((a > b && a < c) || (a < b && a > c)) { printf("%.2f为中间数\n", a); } else if ((b > a && b < c) || (b < a && b > c )){ printf("%.2f为中间数\n", b); } else { printf("%.2f为中间数\n", c); 第九题 使用for循环打印1-10 int i = 0; for (i=1; i<11; i++) { printf("%d",i); } return 0;}
0 0
- C语言回顾 二 BOOL 关系运算符 条件运算符 enum
- 前期C语言回顾 关系运算符、逻辑运算符、if 、条件运算符、switch..case
- C基础:布尔类型(BOOL) 关系运算符 switch
- 黑马程序员-C语言回顾-运算符
- c语言中的条件运算符
- C语言中的条件运算符
- C语言 条件运算符(? : )的用法
- C语言的条件运算符
- 55 C语言条件运算符
- C语言条件运算符实例分析
- 关系运算符——条件运算
- day03 BOOL类型 关系运算符 逻辑运算符 分支语句 条件运算符 ? : swith语句 枚举类型
- 进击的KFC:第二节:C语言:关系运算符、逻辑运算符、if 、条件运算符、switch..case的学习
- C语言之使用关系运算符、赋值运算符
- C语言基础学习运算符-关系运算符
- C语言关系运算符和表达式
- c语言中 关系运算符优先级
- c语言关系运算符语法错误
- 剑指offer第七题【斐波那契数列】c++实现
- AngularJs + REST API 文件下载
- ZOJ 3903 Ant (公式推导)
- Android 开发中的日常积累
- 第七周项目四队列数组
- C语言回顾 二 BOOL 关系运算符 条件运算符 enum
- 正则表达式
- SVN - 主干/分支
- CentOS源码安装搭建LNMP全过程(包括nginx,mysql,php,svn)
- C语言回顾 三 while循环
- pythonmode英文说明书
- 第7周项目3 - 负数把正数赶出队列
- iOS中 UITableViewRowAction tableViewcell编辑状态下的功能 UI技术分享
- [leetcode]Find Minimum in Rotated Sorted Array