引例

【例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. 第四章:分支结构程序设计

    说明:程序中用到了逻辑运算符"!",含义是"非". 关系运算符和关系表达式 1.关系运算符 运算符 含义 > 大于 >= 大于等于 < 小于 ...

  2. 第四章 分支结构程序设计流程图

  3. 第4章 分支结构程序设计总结

    列 4.1输入三角形的三条边,判断是否能构成三角形,若能则计算并输出三角形的面积,否则给出出错提示 说明:程序运行时,首先输入三角形的三条边,分别保存在三个整数型变量a,b,c中,然后根据三角形的构成 ...

  4. C Programming学习笔记【谭浩强老师编】(第四章选择结构程序设计)02 逻辑运算符和逻辑表达式

    文章目录 一.逻辑运算符和逻辑表达式 二.条件运算符和条件表达式 举例2.1 三.选择结构的嵌套 举例3.1 四.用switch语句实现多分支结构 举例4.1 举例4.2 五.选择结构程序综合举例 选 ...

  5. C程序设计(第五版) 第四章选择结构程序设计(二)

    实验三  选择结构程序设计 一.实验目的: 掌握关系运算符和逻辑运算符的使用: 掌握if语句的三种形式,并能合理应用: 掌握if语句的各种嵌套的用法: 理解并掌握switch语句的使用: 能够熟练掌握 ...

  6. 第四章 分支结构实验

    c语言程序报告 一.if语句的应用 1.掌握c语言逻辑运算和关系运算的规则: 2.学会正确的使用关系表达式和逻辑表达式: 3.掌握if_else语句的使用方法: 二.switch/case语句的应用 ...

  7. 《深入浅出程序设计竞赛(基础篇)》第1部分 语言入门 第3章 分支结构程序设计

    P5710 [深基3.例2]数的性质 [深基3.例2]数的性质 - 洛谷 P5710 [深基3.例2]数的性质(python3实现) P5710 [深基3.例2]数的性质(python3实现)_青少年 ...

  8. c语言中描述y是奇数,4章选择结构程序设计C语言入门习题

    C语言入门习题 第四章 选择结构程序设计 一.选择题 1.有以下程序 main() { int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) pr ...

  9. c语言分支结构程序设计课件,C语言 分支结构程序设计.ppt

    C语言 分支结构程序设计 第2章 分支结构程序设计 本章要点 C语言中有哪些关系运算和逻辑运算? 关系运算和逻辑运算的优先级如何? 如何用IF语句构成分支结构? 如何用SWITCH语句构成多分支结构? ...

最新文章

  1. 解决 Virtual PC 在 XP PAE模式下无法运行的问题
  2. Linux 编辑器——上古神器vim
  3. PMCAFF微课堂 | 产品汪如何做好“时间管理”让效率提高100倍
  4. Oracle执行计划顺序
  5. 订阅广告一个微博大号的微信生存记
  6. 第三章:3.2  get 请求
  7. hadoop的安装-配置文件修改
  8. 认识JSON补丁:JSON-P 1.1概述系列
  9. android+阴影+xml,Android 阴影视图 ShadowViewHelper
  10. 邬建国教授受聘为浙江大学光彪教授
  11. hex2bin和bin2hex互转的小程序源代码
  12. Esp8266 进阶之路33【大神篇】如何优雅地像乐鑫原厂封装esp8266底层寄存器的逻辑思维,做成自己的静态库库文件,让第三方人使用?
  13. python之文件处理
  14. 5G技术—5G网络架构及关键技术详述测试题目
  15. go mysql报错Error 1406: Data truncation: Data too long for column ‘content‘ at row 1
  16. 点星PBX(DotAsterisk)单台讯时MX100G-4E1数字中继网关同时混合接入电信、移动双运营商线路教程
  17. 数据标注基础知识:文本数据标注的类型及应用场景
  18. 计算机组成与设计 硬件/软件接口 Risc-v 版
  19. [linux学习](linuxprobe课程)十二 使用Bind提供域名解析服务
  20. 计算机思维使用的方法是,计算机思维

热门文章

  1. 分享111个ASP源码,总有一款适合您
  2. html手机qq登陆验证码,为什么qq登陆需要验证码?qq登陆需要验证码怎么取消?...
  3. arduino led灯通讯
  4. GB28181设备接入实现web无插件多屏直播
  5. 第14章 LINQ to SOL
  6. 新媒体营销方式有哪几种
  7. ssm+Vue计算机毕业设计在线答题系统(程序+LW文档)
  8. HBuilder开发旅游类APP(二) ----- mui结合H5+,快速实现首页、登录、注册等功能
  9. 博士生成长需要经历的7道门
  10. 定义一个长方形(Rectangle)类,有长、宽属性,对每个属性都提供相应的get/set方法。