第四章分支结构程序设计
引例
【例4.1】输入三角形的三条边,判断是否能能构成三角形,若能则计算并输出三角形的面积,否则给出出错提示。
【例4.2】编写程序,输人x的值,按以下分分段函数计算并输出y的值。
y=f(x)= x≠0
x=0
关系运算符,逻辑运算符,条件运算符
1.关系运算符
关系运算符用于判断两个操作数的大小关系。在C语言中有6个关系运算符
注意:
(1)关系运算符都是双目运算符,其结合方方向是左结合。
(2)关系运算符的优先级低于算术运算符 ,但是高于赋值运算符。
(3)关系运算符中,>、<>=、<=的优先级相同,==、!=的优先级相同,前者的优
先级高于后者,即“>=”的优先级高于“==”
2.关系表达式
用关系运算符将两个表达式连接起来的式子称为关系表达式。关系表达式的一般形式为
表达式1关系运算符表达式2
功能:比较两个表达式的大小,返回一个选罗辑值。
注意:
(1)注意区分运算符“=”和“==”。“=”是赋值运算符,“==”是关系运算符。
(2)对实数进行相等判断可能得不到正确角的结果,例如“1.0/3*3.0==1.0”的结果为0。
(3)关系表达式中可以出现赋值运算符,如“a>(b=0)”,但是不能写成“a>b=0”的形式。因为关系运算符的优先级高于赋值运算符,表达式“a>b=0”相当于“(a>b)=0”,赋值运算符左边不是变量,会出现编译错误。
关系表达式主要用于分支结构中的条件判断。关系表达式的结果是一个逻辑值“真”或“假”由于C语言中没有逻辑类型的数据,因山此用“1”表示“真”,“0”表示“假”。例如关系表达式“(a=3)>(b=8)”的值为0。
【4.3】关系运算示例
逻辑运算符和逻辑表达式
1.逻辑运算符
关系表达式只能描述单一的条件。对于较复杂的复合条件,例如“x小于10且x大于4”,如果用关系表达式“4<x<10”来描述,则当x=2时,由于关系运算符是左结合的,因此先计算“4<x”,其值为0:然后再计算“0<10”,其值为1;即说明当x=2时满足关系“4<x<
10”,很显然是错误的。此时需要用到逻辑运算符将若干个关 系表达式连接起来才能正确描述上述关系
2.逻辑表达式
用逻辑运算符将两个表达式连接起来的式子称为逻辑表达式。逻辑表达式的一般形式为:
表达式1逻辑运算符表达式2
或 逻辑运算符表达式1
逻辑表达式的结果也是一个逻辑值“真”或“假”,即为“1”或“0”。逻辑运算的真值表
【例4.5】逻辑运算示例
逻辑表达式举例:
①ch是英文字母。逻辑表达式为(ch>='a'8&ch<='z')||(ch >='A' && ch<=Z')。
②a,b不同时为0。逻辑表达式为!(a==0&& b==0)或a!=0||b!=0或al|b。
③ch是空格或回车。逻辑表达式为(ch== (ch=='\n')。
④ year是闰年,即 year能被4整除但不能被100整除,或year能被400整除。逻辑表达式为(year%4==0&&year%100!=0)ll(year%%400==0)。
条件运算符和条件表达式
1.条件运算符
条件运算符由“?”和”:”两个符号组成,用于条件习 值,它是一个三目运算符,需要三个
操作数。条件运算符的优先级低于逻辑运算符、高于赋值运算符,它是右结合的。
2.条件表达式
由条件运算符将3个表达式连接起来的式子称为条件表达式,其一般形式为:
表达式1?表达式2:表达式3
条件表达式的执行顺序是:先计算表达式1的值,若值为非0,表示条件为真,则将表达
式2的值作为整个条件表达式的值,否则,将表达式3 的值作为整个条件表达式的值
【例4.6】用条件表达式求两个数中的较大数
使用if-else实现分支结构
if-else语句
1.双分支if语句
其一般形式如下:
if(表达式)语句1;
else
语句2;
【例4.7]使用双分支if语句求两个数中较大的数。
【例4.8】编写一个程序,根据键盘输 的x的值,计算y的值。
x<1
e
y=f(x)=
x-1 x>1
2.单分支if语句其一般形式如下:
if(表达式)
语句;
【例4.9】编写程序任意输入一个实数,输出其绝对值 【例4.10】若有如下分段函数,根据工的值,求y的值。
y=f(x)= 1 x≠0;
x=0.
【例 4.11】输入3个实数,要求按从小到大的顺序输出
if 语句的嵌套
一个if语句中又包含一个或多个if语句的现象称为if语句的嵌套。
if语句的基本形式:
if(表达式)
语句1;
else
语句2;
其中“语句1”或“语句2”都可以嵌套另一个if语句,在缺省else部分的if语句中的“语句”也可以嵌套另一个if语句。因此,具体嵌套形式可以有很多种。如
if(表达式1)
if(表达式2)
【例4.12】输入3个任意整数,找出其中的最大值。
【例4.13】编写程序,输人一个x的值,按以下函数计算并输出y的值。
1,x>0;0,x=0; -1,x<0.
多分支if语句
多分支if语句是最常用的实现多路分支的方法
if(表达式1)
语句1;
else if(表达式2)
语句2;
........
elseif(表达式n-1)
语句n-1;
else
语句n;
【例4.14】编写程序,输人x的值,按以下分段函数计算并输出y的值。
2.x x<2
7-3x 2≤x≤10
1-cosx x>10
【例4.15】编写程序由键盘输入一个字符,若该字符为小写字母,则将其转换为大写字母;若该字符为大写字母,则将其转换为小写字母;否则将其转换为ASCII 码表中该字符的下一个字符。
使用switch 语句实现分支结构
在C语言中还提供了一种switch语句也可以实现多分支的选择。 switch语句的一般形式如下:
switch(表达式)
{
case常量表达式1:语句1;break;
case 常量表达式2:语句2;break;
...
case 常量表达式n:语句n;break;
default:语句n+1;break;
}
1.switch语句格式的每 个语句后面都使用 break语句
【例4.16】编写程序,输入一个月份值,输出该月份是第几季度
2.在switch语句格式中的部分语句后面使用 break 语句
【例4.17】本程序的功能是:根据键盘输入的年、月,输出该年、该月的天数
【例4.18】使用switch 语句编写例4.14的程序。4.5 分支结构程序设 计示例
【例4.】编写程序,输人x计算并输出出下列分段函数f(x)的值(保留2位小数),要求调用sqrtO函数求平方根,调用pow()函数求幂。
3.在switch语句格式中不使用break语句
switch语句中不使用break语句时,程序在执行相应语句后,不会跳出正在执行的 switch语句,而会继续执行其后的所有语句。请读者删除例4.16中的所有switch语句,然后执行程序,分析其结果。
分支结构程序设 计示例
【例4.19】编写程序,输人x计算并输出出下列分段函数f(x)的值(保留2位小数),要求调用sqrtO函数求平方根,调用pow()函数求幂。 y=f(x)= f2+2x++.x<0
,x≥0
【例4.20]编写程序,判断输人的年份是否为闰国年。要求分别使用if语句的标准格式、嵌套格式及多分支格式实现。
1.标准格式实现
2.嵌套格式实现
3.多分支格式实现
【例4.21】由键盘输人一个3位的整数,判断该数是否为升序数。若输入的不是3位数,输出“Enter error”。升序数是指高位数依次小于其低位数的数。如 359 为升序数。
第四章分支结构程序设计相关推荐
- 第四章:分支结构程序设计
说明:程序中用到了逻辑运算符"!",含义是"非". 关系运算符和关系表达式 1.关系运算符 运算符 含义 > 大于 >= 大于等于 < 小于 ...
- 第四章 分支结构程序设计流程图
- 第4章 分支结构程序设计总结
列 4.1输入三角形的三条边,判断是否能构成三角形,若能则计算并输出三角形的面积,否则给出出错提示 说明:程序运行时,首先输入三角形的三条边,分别保存在三个整数型变量a,b,c中,然后根据三角形的构成 ...
- C Programming学习笔记【谭浩强老师编】(第四章选择结构程序设计)02 逻辑运算符和逻辑表达式
文章目录 一.逻辑运算符和逻辑表达式 二.条件运算符和条件表达式 举例2.1 三.选择结构的嵌套 举例3.1 四.用switch语句实现多分支结构 举例4.1 举例4.2 五.选择结构程序综合举例 选 ...
- C程序设计(第五版) 第四章选择结构程序设计(二)
实验三 选择结构程序设计 一.实验目的: 掌握关系运算符和逻辑运算符的使用: 掌握if语句的三种形式,并能合理应用: 掌握if语句的各种嵌套的用法: 理解并掌握switch语句的使用: 能够熟练掌握 ...
- 第四章 分支结构实验
c语言程序报告 一.if语句的应用 1.掌握c语言逻辑运算和关系运算的规则: 2.学会正确的使用关系表达式和逻辑表达式: 3.掌握if_else语句的使用方法: 二.switch/case语句的应用 ...
- 《深入浅出程序设计竞赛(基础篇)》第1部分 语言入门 第3章 分支结构程序设计
P5710 [深基3.例2]数的性质 [深基3.例2]数的性质 - 洛谷 P5710 [深基3.例2]数的性质(python3实现) P5710 [深基3.例2]数的性质(python3实现)_青少年 ...
- c语言中描述y是奇数,4章选择结构程序设计C语言入门习题
C语言入门习题 第四章 选择结构程序设计 一.选择题 1.有以下程序 main() { int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) pr ...
- c语言分支结构程序设计课件,C语言 分支结构程序设计.ppt
C语言 分支结构程序设计 第2章 分支结构程序设计 本章要点 C语言中有哪些关系运算和逻辑运算? 关系运算和逻辑运算的优先级如何? 如何用IF语句构成分支结构? 如何用SWITCH语句构成多分支结构? ...
最新文章
- 解决 Virtual PC 在 XP PAE模式下无法运行的问题
- Linux 编辑器——上古神器vim
- PMCAFF微课堂 | 产品汪如何做好“时间管理”让效率提高100倍
- Oracle执行计划顺序
- 订阅广告一个微博大号的微信生存记
- 第三章:3.2 get 请求
- hadoop的安装-配置文件修改
- 认识JSON补丁:JSON-P 1.1概述系列
- android+阴影+xml,Android 阴影视图 ShadowViewHelper
- 邬建国教授受聘为浙江大学光彪教授
- hex2bin和bin2hex互转的小程序源代码
- Esp8266 进阶之路33【大神篇】如何优雅地像乐鑫原厂封装esp8266底层寄存器的逻辑思维,做成自己的静态库库文件,让第三方人使用?
- python之文件处理
- 5G技术—5G网络架构及关键技术详述测试题目
- go mysql报错Error 1406: Data truncation: Data too long for column ‘content‘ at row 1
- 点星PBX(DotAsterisk)单台讯时MX100G-4E1数字中继网关同时混合接入电信、移动双运营商线路教程
- 数据标注基础知识:文本数据标注的类型及应用场景
- 计算机组成与设计 硬件/软件接口 Risc-v 版
- [linux学习](linuxprobe课程)十二 使用Bind提供域名解析服务
- 计算机思维使用的方法是,计算机思维
热门文章
- 分享111个ASP源码,总有一款适合您
- html手机qq登陆验证码,为什么qq登陆需要验证码?qq登陆需要验证码怎么取消?...
- arduino led灯通讯
- GB28181设备接入实现web无插件多屏直播
- 第14章 LINQ to SOL
- 新媒体营销方式有哪几种
- ssm+Vue计算机毕业设计在线答题系统(程序+LW文档)
- HBuilder开发旅游类APP(二) ----- mui结合H5+,快速实现首页、登录、注册等功能
- 博士生成长需要经历的7道门
- 定义一个长方形(Rectangle)类,有长、宽属性,对每个属性都提供相应的get/set方法。