程序设计基础ch2课件.ppt

上传人(卖家):晟晟文业 文档编号:4603615 上传时间:2022-12-24 格式:PPT 页数:23 大小:501.50KB
下载 相关 举报
程序设计基础ch2课件.ppt_第1页
第1页 / 共23页
程序设计基础ch2课件.ppt_第2页
第2页 / 共23页
程序设计基础ch2课件.ppt_第3页
第3页 / 共23页
程序设计基础ch2课件.ppt_第4页
第4页 / 共23页
程序设计基础ch2课件.ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、2022-12-24程序设计基础 张杰敏1第2章 运算符与表达式学习目标学习目标 学会使用基本运算符学会使用基本运算符 理解运算符的优先级和结合性规则理解运算符的优先级和结合性规则 学会使用加一、减一运算符学会使用加一、减一运算符 学会使用赋值运算符学会使用赋值运算符 学会使用条件表达式学会使用条件表达式 学会使用位运算符学会使用位运算符 理解类型转换理解类型转换2022-12-24程序设计基础 张杰敏22.1 程序设计的数据 迄今为止,所有冯诺依曼结构的计算机都由以下5个部分组成:输入设备 负责把用户的程序和数据输入到计算机的存储器中。输出设备 负责从计算机中取出程序执行结果或其他信息,供用

2、户查看。存储器 是实现记忆功能的部件,负责存储程序和数据。运算器 负责数据的算术运算和逻辑运算,即数据的加工处理。控制器 负责对程序规定的控制信息进行分析、控制并协调输入、输出操作或内存访问。2022-12-24程序设计基础 张杰敏32.1 程序设计的数据 类型 数据特征的抽象 地址、值 数据的存储 运算符、表达式、函数 数据的加工 生存期、作用域 数据的存在 赋值、输入/输出 数据的传输2022-12-24程序设计基础 张杰敏42.2 基本运算符 二元算术运算符包括加、减、乘、除、取模运算5种,分别用符号+、-、*、/、%表示 由算术运算符连结的表达式称为算术表达式 关系运算用来比较大小、确

3、定运算分量的大小关系。C语言的关系运算符包括:=!=关系运算符连结的表达式称为关系表达式。关系表达式只有一个逻辑值,即“真”或“假”。逻辑运算符包括逻辑与、逻辑或和逻辑非,分别用符号&、|和!表示。其中&和|是二元的,!是一元的。逻辑运算符连结的表达式称为逻辑表达式。逻辑表达式也只有一个逻辑值,即“真”或“假”2022-12-24程序设计基础 张杰敏52.3 类型转换 当表达式中出现多种不同类型的数据时,C语言将依据一定规则把它们转换成某个共同的类型,然后进行计算-隐式转换 简单的规则:在各类型间实行由低向高的转换。下式箭头方向表示数据类型间由低到高的排列顺序:long double doub

4、le float unsigned long long unsigned int int (类型名)(表达式)表达式被转换成由类型名所指明的类型-强制类型转换 强制类型转换还是自动转换,需要转换的变量事实上将产生一个符合转换要求的中间变量参与计算,变量本身的类型和值不发生变化 2022-12-24程序设计基础 张杰敏6【例2-1】数值非0取逻辑值1,数值为0取逻辑值0。#include void main()int i=1;float f=1.5f;if(f&i)printf(f=%fti=%dt,f,i);printf(nBoth f and i are turen);i=0;if(!i)p

5、rintf(ni=%d,i);printf(ni is falsen);2022-12-24程序设计基础 张杰敏7运行结果:2022-12-24程序设计基础 张杰敏8【例2-2】计算圆周长和面积,运算结果为float型。#include#define PI 3.1415 void main()float r,size,area;printf(r=);scanf(%f,&r);size=2*r*PI;area=r*r*PI;printf(size=%fn,size);printf(area=%fn,area);2022-12-24程序设计基础 张杰敏9运行结果:2022-12-24程序设计基础

6、张杰敏10【例2-3】计算圆周长和面积,运算结果为int型。#include#define PI 3.1415 void main()double r;int size,area;printf(r=);scanf(%lf,&r);size=2*r*PI;area=r*r*PI;printf(size=%dn,size);printf(area=%dn,area);2022-12-24程序设计基础 张杰敏11运行结果:2022-12-24程序设计基础 张杰敏122.4 加1与减1运算符 两个特殊的运算符+和-,+运算符使运算分量加 1,-运算符使运算分量减 +与-既可以作前缀运算符,也可作后缀运

7、算符,只用在变量前面或后面 作前缀运算符与作后缀运算符,其结果其效果是不同的。+i在i的值被使用之前先使i加1;i+则是在i的值被使用之后再使 i加1,-i在i的值被使用之前先使i减1;i-则是在i的值被使用之后再使 i减1 2022-12-24程序设计基础 张杰敏132.5 赋值运算符与赋值表达式 使用赋值语句可以改变变量的值 一般语法形式为:变量=表达式;赋值表达式结尾加“;”,使其成为赋值语句 “=”称为赋值运算符,代表赋值操作,将赋值运算符右边表达式的值赋给左边的变量 如果赋值运算符两端的类型不一致,则会发生类型转换 赋值运算符的结合规则为自右向左,其优先级只高于逗号运算符,而低于其它

8、运算符 值运算符可与其它的运算符一起构成复合赋值运算符,C语言的复合赋值运算符有以下10种,其中后5种有关位运算:+=、-=、*=、/=、%=、=、&=、?=、|=将在2.7中介绍2022-12-24程序设计基础 张杰敏142.4 赋值运算符与赋值表达式表2.2 赋值表达式的计算过程声明和初始化声明和初始化int i=1,j=2,k=3,m=4表达式表达式等价表达式等价表达式等价表达式等价表达式等价表达式等价表达式值值i+=j+ki+=(j+k)i=(i+(j+k)6 j*=k=m+5j*=k=(m+5)j*=(k=(m+5)j=(j*(k=(m+5)18i+=i-=i+2i+=i=(i-(i

9、+2)i+=(i=(i-(i+2)i=(i+(i=(i-(i+2)-4注意:在表达式注意:在表达式i+=i-=i+2i+=i-=i+2中,变量中,变量i i被赋值过被赋值过2 2次。次。2022-12-24程序设计基础 张杰敏152.6 条件运算符和逗号运算符 条件表达式的一般语法形式是:表达式1?表达式2:表达式3 首先计算表达式1,如果其值不等于0(即为真),则计算表达式2 的值,此时条件表达式的值等于表达式2的值;否则计算表达式3的值,并以该值作为条件表达式的值。在表达式2 与表达式 3中,只有一个会被计算到。条件运算符?:遵从自右向左的结合规则,其优先级高于赋值运算符而低于关系运算符

10、如:条件表达式:y z?y:z 的值,当yz时,为y,否则为z。2022-12-24程序设计基础 张杰敏16【例2-5】求a,b,c中最大的数。#include void main()int a,b,c;int max;scanf(a=%d,b=%d,c=%d,&a,&b,&c);max=(ab?a:b);max=(maxc?max:c);printf(max=%dn,max);2022-12-24程序设计基础 张杰敏17运行结果:2022-12-24程序设计基础 张杰敏182.7 位运算符 位运算是指对运算分量按二进制位进行的运算 C语言提供了六个用于位操作的运算符:&按位与(AND)|按位

11、或(OR)按位异或(XOR)右移 求反码(一元运算符)这些运算符只能作用于整数型分量,包括unsigned或signed的char、short、int与long型,不能作用于浮点型分量 优先级2022-12-24程序设计基础 张杰敏192.7 位运算符-规则aba&ba|baba001101010001011110011100 (右移)的运算规则是:将运算分量的每个二进制位向右移动若干位,从(右移)的运算规则是:将运算分量的每个二进制位向右移动若干位,从右边移出去的低位部分被丢弃右边移出去的低位部分被丢弃 当右移无符号分量时,左边空出的高位部分用当右移无符号分量时,左边空出的高位部分用 0填充

12、;当右移有符号的分量时,填充;当右移有符号的分量时,填充位与具体的机器有关填充位与具体的机器有关,用符号位填充,称为,用符号位填充,称为“算术移位算术移位”或用或用 0填充,填充,称为称为“逻辑移位逻辑移位”2022-12-24程序设计基础 张杰敏202.8 运算符优先级 所有运算符的优先级和结合性规则,包括尚未讨论过的一些运算符及其规则,用图表说明 一元运算符较二元运算符有较高的优先级别,特别是+和-,既能是一元运算符,也可以是二元运算符要注意它的用法2022-12-24程序设计基础 张杰敏212.8 运算符优先级运运 算算 符符结合性结合性()()-.自左向右自左向右!+-+(一元)(一元

13、)-(一元)(一元)*&(类型)(类型)sizeof自右向左自右向左*/%自左向右自左向右+-自左向右自左向右自左向右自左向右 =自左向右自左向右=!=自左向右自左向右&自左向右自左向右自左向右自左向右|自左向右自左向右&自左向右自左向右|自左向右自左向右?:?:自右向左自右向左=+=-=*=/=&=|=自右向左自右向左,自左向右自左向右2022-12-24程序设计基础 张杰敏222.9 编程指导 在二元运算符的两边各放一个空格字符,可使运算组合更清楚,提高程序的可读性 对于复杂的算术表达式使用括号,有时尽管不必要,但能够使这个表达式更易读 编写包含很多运算符的表达式时应参考运算符的优先级表,以确定表达式中运算符的计算按所希望的顺序进行 在使用浮点型数据时,认为它能精确地表示数值将会导致错误的结果。大多数计算机中浮点数仅表示近似值 一元运算符与运算分量间不允许留有空格 不要将相等运算符“=”和赋值运算符“=”混淆 2022-12-24程序设计基础 张杰敏23本章小结

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(程序设计基础ch2课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|