数据类型运算符表达式(第二章2少课时).ppt
《数据类型运算符表达式(第二章2少课时).ppt》由会员分享,可在线阅读,更多相关《数据类型运算符表达式(第二章2少课时).ppt(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Dos第二章第二章 数据类型、运算符数据类型、运算符与表达式与表达式12/27/2022Dos五、算术运算符和算术表达式五、算术运算符和算术表达式.运算符简介:运算符简介:1)功能上分类()功能上分类(13大类)大类)()()算术运算符:算术运算符:、(求余)、(求余)、自增自增、自减自减()()条件运算符:(三目运算符)条件运算符:(三目运算符)?:?:()()关系运算符:关系运算符:、=、(由(由 和和 组成箭头,应录成组成箭头,应录成)()()下标运算符:下标运算符:(中括号)(中括号)()()其它运算符:如函数调用运算符其它运算符:如函数调用运算符()()(圆括号)(圆括号)12/27
2、/2022Dos2)目数分类:)目数分类:单目、双目、三目单目、双目、三目 和和 多目;多目;3 3)(从)结合性(上):(可分)大类)(从)结合性(上):(可分)大类()右结合()右结合()左结合()左结合单目运算符;单目运算符;三目运算符;即条件运算符三目运算符;即条件运算符赋值运算符;赋值运算符;(除了以上说明的之外)(除了以上说明的之外)12/27/2022Dos4)运算符)运算符优先级:共优先级:共 15 级,大致可归纳为:级,大致可归纳为:初等运算符初等运算符 ()、单目运算符单目运算符算术运算符算术运算符 (先乘除,后加减先乘除,后加减 )关系运算符关系运算符逻辑运算符逻辑运算符
3、 (不包括不包括 !)条件运算符条件运算符赋值运算符赋值运算符逗号运算符逗号运算符12/27/2022Dos.基本的算术运算符及其表达式基本的算术运算符及其表达式:)运算符:)运算符:、(求余)、(求余)表达式:)表达式:如同数学上的规定;(目数、优先级、结合性(律)如同数学上的规定;(目数、优先级、结合性(律)注意:注意:53 1、5 3 2、-5 3 -1、-5 3 -2 、12 0、1.2 0.5 5.3.1.66666612/27/2022Dos.基本的算术运算符及其表达式基本的算术运算符及其表达式:相同:相同:对整型的是取整不舍入对整型的是取整不舍入 !%必须是整型必须是整型 不同:
4、不同:强制类型转换强制类型转换:自动类型转换:自动类型转换:混合类型混合类型)运算符两侧数据类型:)运算符两侧数据类型:12/27/2022Dos.强制类型转换强制类型转换(例)(例)(double)a 将将 a 的值转换为的值转换为 double 以便后继运算,以便后继运算,但但 a 本身值不变。本身值不变。将自动类型转换将自动类型转换无法自动转换成整型无法自动转换成整型x%3 错误,应改写成错误,应改写成(int )x%3 必须强制转换必须强制转换将输出语句改为将输出语句改为:printf (%f,%d,%f,x,(int)x%3,x);注意:类型标识符的注意:类型标识符的圆括号不能省略圆
5、括号不能省略(例)(例)(int)()(xy)(float)()(5%3 )2.0(原为原为 2 变成实型)变成实型)(例)(例)main()float x;x=5;printf (“%dn”,x%3 )12/27/2022Dos.自动类型转换:(当数值型混合运算时)自动类型转换:(当数值型混合运算时)(2)转换成同一类型或更高类型后才进行运算。转换成同一类型或更高类型后才进行运算。(3)转换方向:转换方向:(4)例:例:int i;float f;double d;long e;表达式表达式:10+a+i*f-d/e 竖向是升级,不同类型时转换竖向是升级,不同类型时转换(1)数值型:整型、实
6、型、字符型(等同单字节整型)数值型:整型、实型、字符型(等同单字节整型)横向是必定的,同类型时也要转换横向是必定的,同类型时也要转换double float 横向横向 long 竖向竖向 unsigned int char,short12/27/2022Dos.自增、自减运算符:和自增、自减运算符:和()形式及作用:()形式及作用:+i、i (先使先使 i 的值增(减),后用的值增(减),后用 i 的值的值)i+、i (先用先用 i 的原值,后才使的原值,后才使 i 的值增(减)的值增(减)()例试比较两个程序:()例试比较两个程序:main()int i,j;i =4;j =+i;print
7、f(“%d,%d”,i,j);main()int i,j;i =4;j =i+;printf(“%d,%d”,i,j);显示结果分别为显示结果分别为:,12/27/2022Dos()()注意点:注意点:自增、自减(及负号)都是单目运算,右结合(从右到左)自增、自减(及负号)都是单目运算,右结合(从右到左)自增、自减只能用于变量,不能用于表达式(或常量)自增、自减只能用于变量,不能用于表达式(或常量)i 等价于等价于 (i)即先取即先取 i 的值,再进行的值,再进行 i=i +1 操作(运算),但(操作(运算),但(i)是非法的!是非法的!小心使用,尽量单独使用,一般用于循环控制或指针变量,小心
8、使用,尽量单独使用,一般用于循环控制或指针变量,随心所欲则可能得出意想不到或者非你所需的结果:(随心所欲则可能得出意想不到或者非你所需的结果:(i=3)例例.k =(i+)+(i+)+(i+)(k=9 i=6)又如又如 k =(+i)+(+i )+(+i )(k=18 i=6)12/27/2022Dos(4)求值步骤:)求值步骤:在整个表达式求值时:例在整个表达式求值时:例 i =3;j =4;k=(+i)+(j+)先对所有先增先对所有先增/减减 者进行计算者进行计算 (+i)i=4 然后才对表达式本身求值然后才对表达式本身求值 k=i+j 4+4 k=8 最后才对后增最后才对后增/减减 者进
9、行增者进行增/减减 (j+)j=5 尽可能多地从左到右将若干个字符组成一个运算符尽可能多地从左到右将若干个字符组成一个运算符,先多后少。先多后少。例如:例如:k =i+j 等价于等价于 k =(i+)+j(5)运算符的组合原则:)运算符的组合原则:12/27/2022Dosi=3;printf (“%d,%d”,i,i+);显示结果是:显示结果是:,!i=3;printf (“%d,%d”,i,i+=1 );显示结果还是:显示结果还是:,?函数调用中:实参表一般是从右到左函数调用中:实参表一般是从右到左正确答案正确答案4 ,4 (6)函数实参表的求值顺序:)函数实参表的求值顺序:12/27/2
10、022Dos六、赋值运算符和赋值表达式六、赋值运算符和赋值表达式赋值号赋值号 当成是一个双目运算符,是动态的,当成是一个双目运算符,是动态的,与其它高级语言绝然不同。与其它高级语言绝然不同。.简单赋值运算符:简单赋值运算符:()赋值式:()赋值式:v=e通常:左边通常:左边 v 是一个变量、右边是一个变量、右边 e 是一个表达式。是一个表达式。如:如:a=b=c=5等价于等价于a=(b=(c=5)又如:又如:a=5+(c=6)c 赋、赋、a 赋赋11()作用:将右边()作用:将右边 e 表达式的值求出,然后赋给(放入)左边变量表达式的值求出,然后赋给(放入)左边变量 所指的存放单元(容器)中。
11、所指的存放单元(容器)中。六、六、赋赋值值运运算算符符和和赋赋值值表表达达式式12/27/2022Dos.赋值原则:赋值原则:()()v 与与 e 值值的类型相同时,或类型所占字节数相等时:原样赋值;的类型相同时,或类型所占字节数相等时:原样赋值;()()v 与与 e 值值的类型不相同时,需将的类型不相同时,需将 e 值的类型转成与值的类型转成与 v 相同才赋值相同才赋值实实 整:舍弃小数(整:舍弃小数(不四舍五入不四舍五入););8 位位16 或或 32 位位整整 实:值不变(实:值不变(小数尾部补足小数尾部补足););char int、short long (即字节少的变字节多的即字节少的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据类型 运算 表达式 第二 课时
限制150内