教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 专业资料 >

C程序设计谭浩强第四版第4章

来源:网络收集 时间:2026-01-27
导读: C语言程序设计 第四章 选择结构程序设计 第4章 选择结构程序设计关系运算符和关系表达式 逻辑运算符和逻辑表达式if语句 switch语句 程序举例 C语言程序设计 第四章 选择结构程序设计 选择结构是三种基本结构之一,其作用是,根据 指定的条件所满足的情况转而

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字,全部文档内容请下载后查看。喜欢就下载吧 ……

C程序设计谭浩强第四版第4章.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/51576.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)