程序设计基础03—运算符与表达式

上传人:san****019 文档编号:70842136 上传时间:2019-01-18 格式:PPT 页数:26 大小:2.28MB
返回 下载 相关 举报
程序设计基础03—运算符与表达式_第1页
第1页 / 共26页
程序设计基础03—运算符与表达式_第2页
第2页 / 共26页
程序设计基础03—运算符与表达式_第3页
第3页 / 共26页
程序设计基础03—运算符与表达式_第4页
第4页 / 共26页
程序设计基础03—运算符与表达式_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《程序设计基础03—运算符与表达式》由会员分享,可在线阅读,更多相关《程序设计基础03—运算符与表达式(26页珍藏版)》请在金锄头文库上搜索。

1、C/C+语言程序设计案例教程,吕永国 / Benny QQ:1205094620,本节课的内容,C语言的运算符 算术运算符与算术表达式 赋值运算符与赋值表达式 关系运算符与关系表达式 逻辑运算符与逻辑表达式,应知与应会 掌握基本运算符(operator)的意义 掌握四种表达式(expression)的写法 掌握表达式的值及其意义 本章内容是学习以后各个章节的基础 难点 表达式的值 关系运算和逻辑运算, 1.C语言的运算符,运算符(优先级从高到低) 结合方式 () - . 由左向右 ! + - + - * & (类型) sizeof 由右向左 * / % 由左向右 + - 由左向右 由左向右 =

2、 由左向右 = != 由左向右 & 由左向右 由左向右 | 由左向右 | 由左向右 ? : 由右向左 = += -= *= /= &= = |= = 由右向左 , 由左向右, 2.运算符优先级, 2.运算符优先级,企业编程规范:由于各种运算符的优先级比较繁琐,建议在编程时多用小括号来明确运算的先后顺序,算术运算符和算术表达式,1、基本的算术运算符 + - * / % 两个整数相除的结果是整数,直接舍去小数部分,如5/3的结果是1。但是如果除数或者被除数中有一个负数,则舍入的方向不固定。例如:-5/3在有的系统中得到-1,有的系统中得到-2。多数C编译系统采取“向零去整”的方法,即:5/3=1,

3、-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算术表达式。 如果一个运算符的两则的数据类型不同,则先自动进行类型转换,是两者具有一种类型,然后进行计算。

4、(转换方式见下页图示),/* 数据类型的转换 功能:不同数据类型之间的转换 作者: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 = nF

5、loat)endl; return 0; ,整数应该是:55 无负数的实数应该是:30 双精度的实数应该是:50.65,3、强制类型转换运算符 (当自动转换不能实现目的时)可以利用强制类型转换运算符将一个表达式转换成所需类型。如: (double)a (int)(x + y) (float)(5%3) 其一般形式为:(类型名)(表达式) 注意:表达式应该用括号括起来 强制类型转换时,得到一个所需类型的中间变量,原来变量的类型未发生变化,4、自增、自减运算符 作用是使变量的值增1或减1 变量+ 、 +变量 、变量- 、 -变量 myIndex = i +; 等同于: myIndex = i; i

6、 = 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

7、(当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

8、都为“假”,则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 逗号表达

9、式是一个求值运算符。计算时顺序为分别求解每一个表达式,整个表达式的值是最右边表达式的值。,24,长度运算符,长度运算符sizeof是单目运算符 sizeof(类型说明符)或 sizeof(表达式) 例: sizeof(int) sizeof(float) sizeof(char) sizeof(“abc”) sizeof(i)测试的是i在内存中得到的存储单元的字节数。,表达式与语句的区别和联系 运算符(构成)表达式(构成)语句 (构成)程序 语句以“;”作为结束标志 复合语句:用“”、“” 括起来, 3.表达式与语句,课后作业: 写出下列表达式: 1. x y z 2. b2 4ac 3. 上班的时间是上午8-11点和下午的2-5点, 4.实践,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号