C程序设计谭浩强第四版第4章
C语言程序设计
第四章 选择结构程序设计
第4章 选择结构程序设计关系运算符和关系表达式
逻辑运算符和逻辑表达式if语句 switch语句 程序举例
C语言程序设计
第四章 选择结构程序设计
选择结构是三种基本结构之一,其作用是,根据 指定的条件所满足的情况转而执行相应的操作。 C语言用关系表达式和逻辑表达式通过if语句实现 双分支选择,用switch语句实现多分支选择。
§4.1 关系运算符和关系表达式 “关系运算”即“比较运算,是对两个值进行 比较,比较的结果是得到真假两种值。 关系运算符
A>3关系表达式 < >
C语言程序设计
第四章 选择结构程序设计
关系运算符及其优先次序 C语言提供6种关系运算符 种类:< <= == >= > != 结合方向:自左向右 优先级别:
算术运算符
高
关系运算符赋值运算符 低
< <= > >=
(小于) (小于等于) 优先级6(高) (大于) (大于等于)优先级7(低)
= = (等于) ! = (不等于)
c>a+b a>b!=c a==b<c a=b>c
// // // //
c>(a+b) (a>b)!=c a==(b<c) a=(b>c)
<
>
C语言程序设计
第四章 选择结构程序设计
关系表达式 用关系运算符将两个表达式连接起来的式子
a>b , (a+b)>(b+c) , 5==3 关系表达式的值:是逻辑值“真”或“假”,用1和0 表示
int a=3,b=2,c=1,d,f; a>b //表达式值1 (a>b)==c //表达式值1 b+c<a //表达式值0 d=a>b //d=1 f=a>b>c //f=0
<
>
C语言程序设计
第四章 选择结构程序设计
关系运算几点注意:
例 5>2>7>8在C中是允许的, 值为 0例 int i=1, j=7,a; a=i+(j%4!=0); 则a= 21 结果为 结果为0
>结合方向 自左至右
例 ‘a >0 ‘A >100
<
>
用ASCII值 比较
C语言程序设计
第四章 选择结构程序设计
关系运算中应该注意 应避免对实数作相等或不等于0的判断 如 1.0/3.0*3.0==1.0 可改写为: fabs(1.0/3.0*3.0-1.0)<1e-6 注意区分“ = ”与“ = = ” int a = 0,b =1; if(a = b) printf(“a equal to b”); else printf(“a not equal to b”);
<
>
C语言程序设计
第四章 选择结构程序设计
§4.2 逻辑运算符和逻辑表达式用逻辑运算符将关系表达式或逻辑量连接起来 的式子就是逻辑表达式。 逻辑运算符: C语言提供3种逻辑运算符运算符 && || ! 名称 逻辑与 示例 a && b a || b !a
含义若a 、 b同时为真,则a && b为真 若a 、 b之一为真,则a || b为真 若a为真,则!a为假;a为假,则!a为真
逻辑或逻辑非
“&&”和“ ||”是双目运算符 “!”是单目运算符
<
>
C语言程序设计
第四章 选择结构程序设计
逻辑运算真值表a 真 b 真 !a 假 !b 假 a&&b 真 a||b 真
真 假 假
假 真 假
假 真 真
真 假 真
假 假 假
真 真 假
逻辑运算符的优先次序 !(非) , &&(与),优先次序:高(2) 结合
方向:从右向左 (11) 从左向右
||(或)(12)低 从左向右
<
>
例:优先次序 (a>b)&&(x>y) //写成 a>b&&x>y (a==b)||(x==y) //写成 a==b||x==y (!a)||(a>b) //写成 !a||a>b
C语言程序设计
第四章 选择结构程序设计
逻辑表达式C语言中, 运算量: “假”, 0表示“假”,运算结果: 0表示 非0表示“真”, 1表示
“真”, 例 a=4;b=5; !a a&&b a||b !a||b 4&&0||2 5>3&&2||8<4-!0 c && d
值为0 值为1 值为1 值为1 值为1 //(5>3)&&2||(8<(4-(!0))) 值为1 值为1
<
>
C语言程序设计
第四章 选择结构程序设计
逻辑运算中的注意点:短路特性:逻辑表达式求解时,并非所有的逻辑运算符 都被执行,只是在必须执行下一个逻辑运算符才能求 出表达式的解时,才执行该运算符。
a&&b&&c a||b||c
//只在a为真时,才判别b的值; 只在a、b都为真时,才判别 c的值 //只在a为假时,才判别b的值; 只在a、b都为假时,才判别 c的值
若 a=1;b=2;c=3;d=4;m=1;n=1; 则 (m=a>b)&&(n=c>d) //结果m=0,n=1 < >
C语言程序设计
第四章 选择结构程序设计
复杂逻辑条件的表述
判断某一年year是否为闰年判别闰年的条件(int year): 能被4整除: year%4==0 能被4整除但不能被100整除: (year%4==0)&&(year%100!=0) 能被400整除: year%400==0 综合起来: ((year%4==0)&&(year%100!=0))||year%400==0 优化语句: 此表达式为真时是闰年 (year%4==0&&year%100!=0)||year%400==0 < >
C语言程序设计
第四章 选择结构程序设计
§4.3 if 语句(条件选择语句) If语句的三种形式 形式一: 格式:if (表达式) 语句 执行过程:
表达式
=0
非0语句
main() { int x , y ; x=20 ; 没有 y=10 ; “;” if (x>y) printf(“%d”,x); }
<
>
C语言程序设计
第四章 选择结构程序设计
形式二: 格式:if (表达式) 语句1 else 语句2 执行过程:
非0
表达式
=0
语句1
语句2
main() { int x , y ; x=20 ; y=10 ; if (x>y) printf(“%d”,x); else printf(“%d”,y); }
<
>
C语言程序设计
第四章 选择结构程序设计
形式三:表达式1
=0表达式2
非0
=0表达式3
非0 语句1 语句2
=0
非0 语句3 语句n
格式:if (表达式1) 语句1 else if (表达式2) 语句2 else if (表达式3) 语句3 …… else if (表达式m) 语句m else 语句n 执行过程:
<
>
例:if (number>500) else if (number>300) else if (number>100) else if (number>50) else
cost=0.15 ; cost=0.1 ; cost=0.075 ; cost=0.05 ; cost=0 ;
必须有 “ ; ”
C语言程序设计
第四章 选择结构程序设计
几点说明: if后面的表达式类型任意
if(a = =b&&x= =y) printf(“a=b,x=y”); if(3) printf(“OK”); if( a ) printf(“%d”,a); if 后面的语句可以是复合语句,必须要加{ }
<
>
考虑下面程序的输出结果: { }后没有 main() { int x,y; “ ;” scanf(“%
d,%d”,&x,&y); if(x>y) x=y; y=x; else Compile Error! x++; y++; printf(“%d,%d\n”,x,y); }
C语言程序设计
第四章 选择结构程序设计
例:输入两个数并判断两数是否相等
#include <stdio.h> void main() { int a,b; printf("Enter integer a:"); scanf("%d",&a); printf("Enter integer b:"); scanf("%d",&b); 运行:Enter if(a= =b) Enter printf(&qu …… 此处隐藏:2942字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [专业资料]《蜜蜂之家》教学反思
- [专业资料]过去分词作定语和表语1
- [专业资料]苏州工业园区住房公积金贷款申请表
- [专业资料]保安管理制度及处罚条例细则
- [专业资料]2018年中国工程咨询市场发展现状调研及
- [专业资料]2015年电大本科《学前教育科研方法》期
- [专业资料]数字信号处理实验 matlab版 离散傅里叶
- [专业资料]“十三五”重点项目-虎杖白藜芦醇及功
- [专业资料]2015-2020年中国竹木工艺市场需求及投
- [专业资料]国际贸易理论与实务作业五:理论案例分
- [专业资料]财政部修订发布事业单位会计制度
- [专业资料]BCA蛋白浓度测定试剂盒(增强型)
- [专业资料]工程进度总计划横道图模板(通用版)
- [专业资料]七年级地理同步练习(天气与气候)
- [专业资料]X光安检机介绍火灾自动报警系统的组成
- [专业资料]衢州市人民政府办公室关于印发衢州市区
- [专业资料]经济全球化及其影响[1]
- [专业资料]质粒DNA限制性酶切图谱分析
- [专业资料]国家安全人民防线工作“六项”制度
- [专业资料]劳动力投入计划及保证措施
- 电子账册联网监管培训手册
- 人教版语文七年级上第1课《在山的那边
- 对我区担保行业发展现状的思考与建议
- 平面四边形网格自动生成方法研究
- 2016年党课学习心得体会范文
- 如何设置电脑定时关机
- 全球最美人妖排行榜新鲜出炉
- 社会实践调查报告及问卷
- Visual Basic习题集
- 《鱼我所欲也》课件2
- 浙江省会计从业资格考试试卷
- 全遥控数字音量控制的D 类功率放大器资
- 鞍钢宪法与后福特主义
- 电表的改装与校准实验报告(1)
- 2014年高考理科数学真题解析分类汇编:
- Windows 7 AIK 的使用
- 风电场全场停电事故应急处置方案
- 化工原理选填题题库(下)
- 关于产学研合作教育模式的学习与思考
- 西安先锋公馆项目前期定位报告




