程序设计基础03—运算符与表达式.ppt_第1页
程序设计基础03—运算符与表达式.ppt_第2页
程序设计基础03—运算符与表达式.ppt_第3页
程序设计基础03—运算符与表达式.ppt_第4页
程序设计基础03—运算符与表达式.ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C/C+语言程序设计案例教程,吕永国 / Benny QQ:1205094620,本节课的内容,C语言的运算符 算术运算符与算术表达式 赋值运算符与赋值表达式 关系运算符与关系表达式 逻辑运算符与逻辑表达式,应知与应会 掌握基本运算符(operator)的意义 掌握四种表达式(expression)的写法 掌握表达式的值及其意义 本章内容是学习以后各个章节的基础 难点 表达式的值 关系运算和逻辑运算, 1.C语言的运算符,运算符(优先级从高到低) 结合方式 () - . 由左向右 ! + - + - * & (类型) sizeof 由右向左 * / % 由左向右 + - 由左向右 由左向右 = 由左向右 = != 由左向右 & 由左向右 由左向右 | 由左向右 | 由左向右 ? : 由右向左 = += -= *= /= &= = |= = 由右向左 , 由左向右, 2.运算符优先级, 2.运算符优先级,企业编程规范:由于各种运算符的优先级比较繁琐,建议在编程时多用小括号来明确运算的先后顺序,算术运算符和算术表达式,1、基本的算术运算符 + - * / % 两个整数相除的结果是整数,直接舍去小数部分,如5/3的结果是1。但是如果除数或者被除数中有一个负数,则舍入的方向不固定。例如:-5/3在有的系统中得到-1,有的系统中得到-2。多数C编译系统采取“向零去整”的方法,即:5/3=1,-5/3=-1 如果参加计算的数中有一个是实数或者double型,则结果是double型,因为所有实数都按照double型进行计算。,9,例子: int markTotal = 80 + 90; int myMark = 95 2; int bill = 15*3 + 90 20; 5 % 2 = 1; -5 % 2 = -1 5.5 % 2 (x),数据类型转换,2、算术表达式和运算表达式的优先级与结合性 用算术运算符和括号将运算对象(也称操作数)连接起来的,符合C语法规则的式子,称为C算术表达式。 如果一个运算符的两则的数据类型不同,则先自动进行类型转换,是两者具有一种类型,然后进行计算。(转换方式见下页图示),/* 数据类型的转换 功能:不同数据类型之间的转换 作者:Benny 版本:v1.0 */ #include using namespace std; main() char nChar; int nInt; unsigned int nUInt; float nFloat; double nDouble; nChar =7; cout“整数应该是: “(nInt=nChar)endl; nInt =30; cout“无负数的实数应该是: “(nUInt = nInt)endl; nFloat =50.65; cout“双精度的实数应该是: “(nDouble = nFloat)endl; return 0; ,整数应该是:55 无负数的实数应该是:30 双精度的实数应该是:50.65,3、强制类型转换运算符 (当自动转换不能实现目的时)可以利用强制类型转换运算符将一个表达式转换成所需类型。如: (double)a (int)(x + y) (float)(5%3) 其一般形式为:(类型名)(表达式) 注意:表达式应该用括号括起来 强制类型转换时,得到一个所需类型的中间变量,原来变量的类型未发生变化,4、自增、自减运算符 作用是使变量的值增1或减1 变量+ 、 +变量 、变量- 、 -变量 myIndex = i +; 等同于: myIndex = i; i = i + 1; myIndex = + i ; 等同于: i = i + 1; Index = i;,3、复合赋值运算符 10种:+= -= *= /= %= = ,关系运算符和关系表达式,关系表达式,用关系运算符将两个表达式连接起来 mark1+ mark2 mark3 +100, (mark5=101)max 注意区分等于(=)和赋值运算符(=) Mark1 = mark2; Mark1 = mark2; 关系表达式的值是逻辑值“真”或“假” C语言用整型表示逻辑值,“真”1 “假”0,18,求下列关系表达式的值: 5=3 (关系表达式的值为“假”值,结果为0) (2) mark80 (当x3时,表达式的值为“真”值,结果为1) (3) (3b (5) first=3, second=2, third=1; fourth=firstsecond; /* fourth=1 */ fifth=firstsecondthird; /* fifth=(firstsecond)third=0 */,逻辑运算符和逻辑表达式,20,逻辑运算规则,!a (conditon a and condition b) 若a为“真”,!a为“假” !(32) 若a为“假”,!a为“真” !(23) a&b 若a、b都为“真”,则a&b为“真” 若a、b不全为“真”,则a&b为“假” a|b 若a、b都为“假”,则a|b为“假” 若a、b不全为“假”,则a|b为“真”,21,逻辑表达式,逻辑运算符把逻辑量或表达式连接起来 三个整数变量:first, second, third,求中间数 如果firstsecond 且 firstthird 且 firstsecond & firstthird &firstsecond),22,数学表达式转换为C语言表达式,数学表达式: -10a10 对应的C语言表达式是:(a=-10) & (a10 对应的C 语言表达式是:(a10),逗号运算符和逗号表达式,逗号表达式的格式: (表达式1,表达式2,表达式n) x=(y=5, y*2) x=10 逗号表达式是一个求值运算符。计算时顺序为分别求解每一个表达式,整个表达式的值是最右边表达式的值。,24,长度运算符,长度运算符sizeof是单目运算符 sizeof(类型说明符)或 sizeof(表达式) 例: sizeof(int) sizeof(float) sizeof(char) sizeof(“abc”) sizeof(i)测试的是i在内存中得到的存储单元的字节数。,表达式与语

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论