C语言随堂笔记---条件分支结构
2016-06-26 22:07
381 查看
1.关系表达式
1.返回结果“真”--非0值和“假”--0值 2.关系逻辑运算符(<,>,<=,>=,==,!=) 使用关系运算符构建的关系表达式的结果为两种:0和1, 分别代表假和真字符型数据也可以进行关系运算 3.字符型的关系运算 字符型数据本质上也是一种整型数据 在比较时字符型使用其对应的ASCII码值进行比较 使用字符型和整型进行比较时同样使用字符对应的ASCII值跟整型数据进行比较eg.int i=10; double b=9; printf("i>b:%d\n",i>b);//0为假,非0为真 char c1='A'; char c2='a'; printf("c1>c2:%d\n",c1>c2); int num1=20; int result=c2<=num1; printf("c2<=num1:%d\n",result); printf("i==b:%d\n",i==b);//虽然类型不同,但值相同
2.逻辑运算符
需要多个条件叠加判断时需要使用逻辑运算; 逻辑运算可以构建复杂的关系表达式; 逻辑运算包括三种: 与运算(&&) 表达式1 && 表达式2 或运算(||) 表达式1 || 表达式2 非运算(!) ! 表达式 逻辑运算时将非0作为真,0作为假处理;eg.//闰年 int year; printf("请输入一个年份:\n"); scanf("%d",&year); if((year%4==0&&year%100!=0)||year%400==0) printf("%d为闰年\n",year); else printf("%d不为闰年\n",year); printf("-----------------------------------\n");
运算符的优先级
运算符 | 结合性 |
---|---|
( ) | 从左到右 |
一元运算符,包括一元-,++,--,! | 从右到左 |
*,/,% | 从左到右 |
+,-,二元 | 从左到右 |
<,<=,>,>= | 从左到右 |
==,!= | 从左到右 |
&& | 从左到右 |
(或) | 从左到右 |
+=,-=,*=,/= | 从右到左 |
与运算时:表达式1&&表达式2,如果表达式1为假,表达式2不再被执行 或运算时:表达式1||表达式2,如果表达式1为真,表达式2不再被执行
eg.
//短路int i=0,j=5;int rst=i++&&j++;printf("rst=%d,i=%d,j=%d",rst,i,j);printf("-----------------------------------\n");
程序分支
C语言中分支包括:if分支和switch分支两种;if分支语句中包含三种情况:if分支语句 if..else分支语句 if..elseif..else分支链* 当分支语句只有一条时,花括号可以省略,如果分支语句有多条需要使用花括号* switch分支:break跳出循环;若没加break,case符合条件执行完,会接着往下执行eg.
//例,ifint i;printf("请输入一个整数:\n");scanf("%d",&i);if(i<0)i=-i;printf("i=%d\n",i);printf("-----------------------------------\n");//例,if...elsechar isRain;printf("今天是否有雨(Y/N):\n");scanf("%c",&isRain);if(isRain=='Y'||isRain=='y')printf("下雨了,需要带雨具!\n");elseprintf("没下雨,不需要带雨具!\n");例,if...else if...elsedouble temp;printf("请输入今天的天气:\n");4000scanf("%d",&temp);if(temp<15)printf("今天天气寒冷!请多穿衣服!\n");else if(temp>=15&&temp<29)printf("温度适中,可随意穿\n");elseprintf("高温炎热\n");printf("-----------------------------------\n");//例,成绩double t;printf("请输入成绩!\n");scanf("%lf",&t);if(t>=90&&t<=100){printf("您的成绩优秀!\n");}else if(t>=80&&t<90){printf("您的成绩良好!\n");}else if (t>=60&&t<80){printf("您的成绩OK!\n");}else if (t>=0&&t<60){printf("您的成绩弱爆了!\n");}else{printf("输入的成绩范围0-100!\n");}
三元运算符
表达式1 ? 表达式2 : 表达式3判断表达式1的结果: 如果为真,整个三元运算表达式的结果为表达式2的值; 如果为假,整个三元运算表达式的结果为表达式3的结果eg.
//...?... : ...三元运算符int country;char gender;printf("您是不是中国人(1/0):\n");scanf("%d%c",&country,&gender);printf("您的性别('F/M')\n");scanf("%c",&gender);double Height=country==1?gender=='F'?1.60:1.70:gender=='F'?1.60:1.75;printf("Height%.2f\n",Height);随堂笔记为个人学习笔记,若有错误,望指出,谢谢!!
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- 如何写好 C main 函数
- Lua和C语言的交互详解
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- C语言编程中统计输入的行数以及单词个数的方法
- C语言自动生成enum值和名字映射代码
- C语言练习题:自由落体的小球简单实例
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中进制知识汇总
- C语言判断一个数是否是2的幂次方或4的幂次方
- C语言中计算正弦的相关函数总结
- 使用C语言详解霍夫曼树数据结构
- C语言实现选择排序、冒泡排序和快速排序的代码示例