版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计
目
录目录CONTENTS
关系运算符和关系表达式4.1
逻辑运算符和逻辑表达式4.2
if语句的基本形式4.3
嵌套的if语句4.4
条件运算符和条件表达式4.5
switch语句4.6关系运算符用于比较两个值之间的关系,返回一个布尔值(在C语言中用整数表示:1表示真,0表示假)。关系运算通常用于条件判断语句(如if、while等)中,控制程序的执行流程。
4.1
关系运算符和关系表达式4.1.1关系运算符说明:C语言中的小于等于、大于等于、等于、不等于运算符(<=、>=、==、!=)的表示方法与数学中的表示方法不同(≤、≥、=、≠)。1在以上6种关系运算符中,前4种(>、>=、<、<=)的优先级相同,后两种(==、!=)的优先级相同,前4种的优先级高于后两种。2关系运算符的优先级低于算术运算符,但高于赋值运算符。3
4.1
关系运算符和关系表达式4.1.1关系运算符关系运算符的结合性为从左到右。4例如:b<a+2 等效于b<(a+2)a<=b!=b>=2 等效于(a<=b)!=(b>=2)。a=b<c 等效于a=(b<c)
提示C语言中“==”是关系运算符,用来判断两个数是否相等,请读者注意“==”与等号“=”的区别,例如:x==3是要判断x的值是否为3,x=3是使x的值为3。
4.1
关系运算符和关系表达式4.1.1关系运算符在C语言中,关系表达式是用于比较两个操作数之间关系的表达式,关系表达式既然是表达式,那么就应该有一个值,关系表达式的值是一个逻辑值,即“真”或“假”,关系满足,结果为真,关系不满足,结果为假。例如,关系表达式3==4的值为“假”,7<=8的值为“真”。在C语言的逻辑运算中,以“1”代表“真”,以“0”代表“假”。若a=1,b=1,c=2,则:关系表达式a>b的值为“假”,表达式的值为0;关系表达式a==b的值为“真”,表达式的值为1;关系表达式a<=b+c的值为“真”,因为b+c的值为3,所以a<=3的值为“真”,表达式的值为1;关系表达式a==c>b的值为“真”,因为c>b的值为1,等于a的值,所以表达式的值为1;关系表达式a=b>c的值为“假”,因为b>c的值为0,所以赋值后a的值为0,整个表达式的值也为0。
4.1
关系运算符和关系表达式4.1.2关系表达式
提示要注意C语言中的关系运算与数学领域中的比较运算是有区别的,例如:若a=1,b=2,c=3,则关系表达式c<a<b的值为“真”,因为c<a的值为0,小于b的值,所以表达式的值为“真”。但是在数学表达式中c<a<b显然是不成立的。因此,如果要判断a的值是否在c和b之间,我们不能直接用条件表达式来进行描述,而是需要借助于逻辑运算符。C语言中有3种逻辑运算符:逻辑与(&&)、逻辑或(||)和逻辑非(!)。逻辑运算符及其对应的功能及说明如表所示。运算符含义举例说明&&逻辑与a&&b双目运算,如果a和b都为真,则结果为真,否则为假(一假则假,同真才真)||逻辑或a||b双目运算,如果a和b都为假,则结果为假,否则为真(一真则真,同假才假)!逻辑非!a单目运算,如果a为假,则结果为真;如果a为真,则结果为假(非真即假,非假即真)
4.2逻辑运算符和逻辑表达式
4.2逻辑运算符和逻辑表达式4.2.1逻辑运算符逻辑运算的“真值表”如表所示,表示当a和b的值为不同组合时,各种逻辑运算所得到的值。ab!a!ba&&ba||b真真假假真真真假假真假真假真真假假真假假真真假假注意事项:三种运算符的优先级由高到低依次为:!、&&、||。1逻辑运算符中的“&&”和“||”的优先级低于关系运算符,“!”的优先级高于算术运算符,而关系运算符的优先级低于算术运算符,如图所示。2
4.2逻辑运算符和逻辑表达式4.2.1逻辑运算符逻辑运算符中的“&&”和“||”的结合性为从左到右,“!”的结合性为从右到左。例如:a>c&&a<b 等效于(a>c)&&(a<b)a==b||x>y 等效于(a==b)||(x>y)a<b||!a 等效于(a<b)||(!a)a>c&&a<b+c 等效于(a>c)&&(a<(b+c))2<3&&6>3-!0 等效于(2<3)&&(6>(3-!0))3
4.2逻辑运算符和逻辑表达式4.2.1逻辑运算符C语言中,由逻辑运算符(&&、||、!)连接条件(如关系表达式、整数常量/变量等)形成的表达式,叫作逻辑表达式,其运算结果是整数:1表示“真”(条件成立),0表示“假”(条件不成立)。逻辑表达式是实现复杂条件判断的核心,广泛用于if语句、while循环等流程控制中。逻辑运算符两侧的运算对象可以是任何类型的数据,但运算结果一定是整型,并且只有两个值:1和0,分别表示“真”和“假”。例如:若a=0,则逻辑表达式!a的值为1。因为a的值为0,逻辑值为“假”,对它进行“非”运算,得“真”,“真”以1代表。相反,若a等于任何一个非0的数(所有非0被作为“真”),那么!a的值为0。1若a=2,b=4,则逻辑表达式a&&b的值为1,因为a和b均非0,逻辑值为“真”,所以进行“逻辑与”运算的值也为“真”,“真”以1代表。2
4.2逻辑运算符和逻辑表达式4.2.2逻辑表达式若a=2,b=4,则逻辑表达式a||b的值为1。3若a=1,b=2,则逻辑表达式!a||b的值为1,先计算!a的值为0,再计算0||b的值为1。4逻辑表达式2&&0||3.6的值为1。5
4.2逻辑运算符和逻辑表达式逻辑表达式'a'&&'b'的值为1。64.2.2逻辑表达式
名师点睛C语言的逻辑表达式通过&&、||、!连接条件,结果为1(真)或0(假),核心特性是短路求值。掌握其运算规则、优先级及实际场景应用,能帮助编写清晰、高效的条件判断逻辑,避免常见陷阱(如短路副作用、混淆==与=)。例如:(1)a&&b,只有a为真(非0)时,才需要判断b的值,如果a为假,就不必判断b的值。即:&&运算符,只有a≠0,才继续进行其右面的运算。(2)a||b,只要a为真(非0),就不必判断b的值,只有a为假时,才判断b的值。即:||运算符,只有a=0,才继续进行其右面的运算。
4.2逻辑运算符和逻辑表达式4.2.2逻辑表达式【例4-1】条件运算符和逻辑运算符的应用。在本实例中,使用条件运算符和逻辑运算符构造表达式,通过输出函数显示表达式的结果,根据结果分析表达式的计算过程。#include<stdio.h>intmain(){ intm=2,n=3,a=1,b=2; /*定义变量m,n,a和b并赋值*/ intx,y,z; /*定义变量x和y*/ x=(m=a>b)&&(n=a<b); /*计算逻辑表达式的值并将值赋给变量x*/ printf("x=%d,m=%d,n=%d\n",x,m,n); /*输出变量x,m和n的值*/ y=(m=a>b)||(n=a<b); /*计算逻辑表达式的值并将值赋给变量y*/ printf("y=%d,m=%d,n=%d\n",y,m,n); /*输出变量y,m和n的值*/
z=!m&&n||b;/*计算逻辑表达式的值并将值赋给变量y*/
printf("z=%d\n",z);
/*输出变量z的值*/ return0; /*函数返回值0*/}
4.2逻辑运算符和逻辑表达式4.2.2逻辑表达式【运行结果】程序运行结果如图所示。
4.2逻辑运算符和逻辑表达式4.2.2逻辑表达式【程序说明】计算x=(m=a>b)&&(n=a<b)表达式时,先判断a>b,其结果为“假”,即将数值0赋给变量m。同时,由于运算符“&&”左边的值为0,整个表达式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年杭州科技职业技术学院单招职业技能测试题库附答案
- 2026年经典心理考试题库及答案1套
- 2026年检察保密知识测试题完整参考答案
- 2026年四川艺术职业学院单招职业适应性测试模拟测试卷及答案1套
- 2026年团员入团知识测试题及一套答案
- 2026云南昭通市水富市文化馆城镇公益性岗位人员招聘1人笔试备考题库及答案解析
- 2026年吕梁师范高等专科学校单招职业倾向性测试题库附答案
- 2026年天津医学高等专科学校单招职业适应性测试题库及答案1套
- 2026年新乡医学院三全学院单招综合素质考试模拟测试卷附答案
- 2026广东茂名市化州市投资审核中心招聘合同制工作人员5人笔试备考试题及答案解析
- 2025年人工智能训练师(三级)职业技能鉴定理论考试题库(含答案)
- 智慧产业园仓储项目可行性研究报告-商业计划书
- 财务部门的年度目标与计划
- 消防管道拆除合同协议
- 四川省森林资源规划设计调查技术细则
- 银行外包服务管理应急预案
- DB13T 5885-2024地表基质调查规范(1∶50 000)
- 2025年度演出合同知识产权保护范本
- 青少年交通安全法规
- 区块链智能合约开发实战教程
- 2025年校长考试题库及答案
评论
0/150
提交评论