书签 分享 收藏 举报 版权申诉 / 40
上传文档赚钱

类型c语言程序设计课件:第三章表达式.ppt

  • 上传人(卖家):罗嗣辉
  • 文档编号:2057655
  • 上传时间:2022-01-26
  • 格式:PPT
  • 页数:40
  • 大小:175.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《c语言程序设计课件:第三章表达式.ppt》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    语言程序设计 课件 第三 表达式
    资源描述:

    1、 第三章第三章 表达式表达式 3.1 C 3.1 C 的数据类型的数据类型基本类型 (整型、实型实型、字符型字符型、枚举型)枚举型)构造类型 (略)指针类型 (略) 空类型 各类型包含常量常量与与变量变量 3.2 3.2 常量与变量常量与变量 常量与符号常量常量与符号常量 常量常量 在程序运行过程中其值保持不变的量。在程序运行过程中其值保持不变的量。 符号常量符号常量 用来代表一个常量的标识符。 #define PI 3.1415926#define PI 3.1415926 例:例: #define #define PIPI 3.1415926 3.1415926 main() main()

    2、 float float r r=2,=2,c c; ; c c=2=2* *PIPI* *r r; ; printf(“%f”, printf(“%f”,c c);); 变量变量 其值可以改变的量。其值可以改变的量。 变量的三要素变量的三要素: : 变量名变量名每个变量有一个名字,作为识别该变量的每个变量有一个名字,作为识别该变量的标识符。标识符。 变量的值变量的值 每个变量有一个值,变量的值是随时每个变量有一个值,变量的值是随时可以改变的。可以改变的。 变量的存储单元变量的存储单元 每个变量占据一个内存单元,用于存放变量每个变量占据一个内存单元,用于存放变量的值的值。 变量名 a 变量值

    3、存储单元3 变量的命名规则:变量的命名规则: 由字母、数字和下划线组成由字母、数字和下划线组成 以字母或下划线开头以字母或下划线开头 a a、x1x1、y_2y_2、_b1_b1、_1c _1c 合法合法 1x1x、a+2a+2、 不合法不合法 变量必须先定义后使用。变量必须先定义后使用。 程序中何时使用常量?何时使用变量?程序中何时使用常量?何时使用变量? 3.3 3.3 整型数据整型数据 整型常量整型常量 即整常数,即整常数,c c的整常数有三种形式:的整常数有三种形式: 十进制整数十进制整数 与数学中的整数一致,如:与数学中的整数一致,如:100100,123123,1515等。等。 八

    4、进制整数八进制整数 以以0 0开头的整数,如:开头的整数,如:010,07,020010,07,020等。等。 十六进制整数十六进制整数 以以0 x0 x开头的整数,如:开头的整数,如:0 x10,0 xff,0 x2a0 x10,0 xff,0 x2a等。等。 整型变量整型变量 用于存放整数的变量。用于存放整数的变量。 分分4 4种类型:种类型: 基本型:基本型:intint a a 16 16位,可表示的数值范围:位,可表示的数值范围:-32768-327683276732767 短整型:短整型:short intshort int b b 16 16位,可表示的数值范围:位,可表示的数值

    5、范围:-32768-327683276732767 长整型:长整型:long intlong int c c 32 32位,数值范围:位,数值范围:-2147483648-214748364821474836472147483647 无符号型:加上无符号型:加上 unsignedunsigned 只存放正数。只存放正数。 如:如:unsigned intunsigned int x x 变量变量x x为无符号整数,为无符号整数,1616位全表示数码,位全表示数码, 数值范围:数值范围:0 06553565535 在程序设计中,如果要使用整型变在程序设计中,如果要使用整型变量,必须首先选择以上类

    6、型符来定义变量,量,必须首先选择以上类型符来定义变量,然后才能使用;然后才能使用; 例:例: main() main() 定义定义 int int a,b,c; a,b,c; a=100; b=50; a=100; b=50; 使用使用 c=a+b;c=a+b; printf(“%d”,c printf(“%d”,c);); 一般根据什么原则选择变量的类型?一般根据什么原则选择变量的类型? 3.4 3.4 实型数据实型数据 实型常量实型常量 可使用两种形式表示:可使用两种形式表示: 小数形式:小数形式:如如 1.23, 3.1415926 15.481.23, 3.1415926 15.48

    7、指数形式:指数形式:如如 1e-20 1.23e5 1e-20 1.23e5 实型变量实型变量 用于存放实数的变量用于存放实数的变量 分单精度和双精度两种:分单精度和双精度两种: float a,bfloat a,b 定义定义a a和和b b为单精度型变量为单精度型变量 3232位,位,7 7位有效数字,位有效数字,1010-38-3810103838 double x,ydouble x,y 定义定义x x和和y y为双精度型变量为双精度型变量 6464位,位,1515位有效数字,位有效数字,1010-308-3081010308308 例:例: main()main() float r,c

    8、; float r,c; double r,c;double r,c; r=5; r=5; c=2 c=2* *3.14159263.1415926* *r;r; printf(“%f”,c printf(“%f”,c); ); 3.5 3.5 字符型数据字符型数据 字符常量字符常量 用单引号括起来的一个字符。用单引号括起来的一个字符。 a,x,a,x,* *,1,1等等 除 此 外 , 以除 此 外 , 以 开 头 的 字 符开 头 的 字 符如如n,tn,t等等 称为转义字符,祥见书表称为转义字符,祥见书表3.33.3 字符型变量字符型变量 用于存放字符的变量。用于存放字符的变量。 cha

    9、r c1,c2; char c1,c2; 定义定义c1c1和和c2c2为字符型变量为字符型变量 c1=a; c2=b; c1=a; c2=b; 字符赋值字符赋值 字符型变量存放一个字符,占据一个字节字符型变量存放一个字符,占据一个字节 字符型数据的存储形式字符型数据的存储形式 存放ASCII码 不是 而是 如字符如字符aa在内存中存放在内存中存放9797,b b 存放存放9898。 与整数的存储形式一致,它们之间可以通与整数的存储形式一致,它们之间可以通用用 一个字符数据既可以作字符用,也可以作一个字符数据既可以作字符用,也可以作整数用(取其整数用(取其ASCIIASCII代码)。代码)。 如

    10、:如:32+a32+a相当于相当于 32+9732+97 若若 intint x; char c; x; char c;则则 x=a; c=97; x=97; c=a; x=a; c=97; x=97; c=a; 都允都允许许 a97 字符串常量字符串常量 用双引号括起来的字符序列。用双引号括起来的字符序列。 如:如:”abcde”abcde”, ,”china”china” ” ”a a”也属字符串。也属字符串。 注意注意”a”a”与与aa的区别。的区别。 对于:对于: char c; char c; c=”a”; c=”a”; 用法错误用法错误 字符串中每个字符各占一个字节,并且在字符串中

    11、每个字符各占一个字节,并且在字符串结尾加上一个结束标记字符串结尾加上一个结束标记00 如:如:”china”china” 在内存中占在内存中占6 6个字节。个字节。 c h i n a 0 C C语言中专门的字符串变量,可用字符数语言中专门的字符串变量,可用字符数组存放(以后介绍)。组存放(以后介绍)。 3.6 3.6 变量赋初值变量赋初值 在定义变量的同时给相应的变量赋初值。在定义变量的同时给相应的变量赋初值。 如:如: intint a=3; a=3; a a float b=5.2;float b=5.2; char c=a; char c=a; int int x=y=z=6; x=y

    12、=z=6; 效果:效果: 在给变量分配内存单元的同时在相应的单在给变量分配内存单元的同时在相应的单 元中存放初值。元中存放初值。 3 3.7 3.7 各数值型数据间的混合运算各数值型数据间的混合运算 整型、实型、字符型数据间可以进行混合运整型、实型、字符型数据间可以进行混合运算,如:算,如: 10-a10-a* *1.51.5 运算时,参加运算的两个数据如果类型不同,运算时,参加运算的两个数据如果类型不同,则首先将其类型转换成一致再运算,转换规则则首先将其类型转换成一致再运算,转换规则是:是: 将优先级低的类型转换到优先级高的类型将优先级低的类型转换到优先级高的类型 数据类型的优先级:数据类型

    13、的优先级: 高高 double floatdouble float long long unsigned unsigned 低低 intint char char 3.8 3.8 算术运算符与算术表达式算术运算符与算术表达式 基本的算术运算符基本的算术运算符 + - * / % 算术表达式算术表达式 用算术运算符将运算对象连接起来的式子用算术运算符将运算对象连接起来的式子 用于表达数学公式的式子用于表达数学公式的式子 如:如:2 2* *x+y-1/ax+y-1/a 表达式经过运算最终得到一个值:表达式经过运算最终得到一个值: 算术表达式的值算术表达式的值 运算符的优先级与结合性运算符的优先级

    14、与结合性 优先级:优先级: 在对表达式求值时,如果存在多个运算符,则在对表达式求值时,如果存在多个运算符,则运算的先后次序按运算符的优先级别从高到底进运算的先后次序按运算符的优先级别从高到底进行。行。 运算符的优先级关系为:运算符的优先级关系为: 高:高:* * / %/ % 低:低:+ -+ - 如:如:a-2a-2* *x x 先算先算 * * 2 2* *(a+2) (a+2) 有括号的情况?有括号的情况? 结合性:结合性: 如果在一个运算对象两边的运算符的优先级相如果在一个运算对象两边的运算符的优先级相同,则按规定的同,则按规定的“结合方向结合方向”处理。处理。 如:如:a-b+ca-

    15、b+c b b与与- -结合是从左到右,称结合是从左到右,称“左结合性左结合性”。 b b与与+ +结合是从右到左,称结合是从右到左,称“右结合性右结合性”。 每个运算符都有相应的优先级和结合性。每个运算符都有相应的优先级和结合性。 基本算术运算符都是基本算术运算符都是左结合性左结合性。 计算表达式例:计算表达式例: 2+A-1/2.0 1+3/2-12+A-1/2.0 1+3/2-1构造表达式例构造表达式例 2x2x2 2+3x-1+3x-1 a+b a-b a+b a-b x+y x-ya+b/a-b ?(a+b)/(a-b)2*x*x+3*x-1 (*不能省)(a+b)/(a-b)/(x

    16、+y)/(x-y)(a+b)/(a-b)/(x+y)/(x-y)(a+b)/(a-b)/(x+y)*(x-y) 强制类型转换强制类型转换可以用强制类型转换运算符将一个表达式可以用强制类型转换运算符将一个表达式的值转换成所需类型:的值转换成所需类型:如:如: (int)(x+y(int)(x+y) ) (float)7/3 (float)7/3 应用举例:应用举例: intint a=200,b=300,c; a=200,b=300,c; c=a c=a* *b/100; b/100; ? ? 可知,有自动转换和强制转换,可知,有自动转换和强制转换, 当自动转换达不到目的时,可用强制转换。当自动

    17、转换达不到目的时,可用强制转换。c=(long)a*b/100;c=(long)(a*b)/100; 自增、自减运算符自增、自减运算符 自增运算符:自增运算符:+ 使变量值加使变量值加1 1 自减运算符:自减运算符:- 使变量值减使变量值减1 1 两种用法:两种用法: +i, -i +i, -i 先加(减)后用先加(减)后用 i+, i- i+, i- 先用后加(减)先用后加(减) 两种用法对两种用法对i i效果一样,但表达式的值不同。效果一样,但表达式的值不同。例例:假设:假设i i的原值为的原值为5 5: j=+i; j=?j=+i; j=? j=i+; j=?j=i+; j=? 注意:注

    18、意:+和和-只能用于变量。只能用于变量。 如:如:3+3+和(和(a+1a+1)+ 不合法不合法+和和-为右结合性。为右结合性。 (-i)+(-i)+ -i+-i+ -(i+)-(i+) 若若i i的原值是的原值是5 5,则该表达式的值是多少?,则该表达式的值是多少? 例:分析执行下列语句后的结果:例:分析执行下列语句后的结果: a=5; a=5; a b c da b c d b=a+;b=a+; c=-a-b+; c=-a-b+; d=(a+)-(+b)+c-; d=(a+)-(+b)+c-;556 506 7-26-1 两种特殊情况:两种特殊情况: k=(i+)+(i+)+(i+) k=

    19、(i+)+(i+)+(i+) i+j i+j 是是 i+(+j)i+(+j) 还是还是 (i+)+j(i+)+j ? ? i+ i+虽然与虽然与i=i+1i=i+1等效,但使用自增自减等效,但使用自增自减运算符的代码优化程度好,因而经常使用;运算符的代码优化程度好,因而经常使用;但用时需特别小心。但用时需特别小心。 3.9 3.9 赋值运算符和赋值表达式赋值运算符和赋值表达式 赋值运算符赋值运算符 “=”=”称赋值运算符,其作用是将一个数据称赋值运算符,其作用是将一个数据赋给一个变量。赋给一个变量。 如:如: a=5a=5 不要理解为不要理解为“等号等号”。 执行赋值运算的结果,是将右边的数据

    20、存执行赋值运算的结果,是将右边的数据存入左边变量所对应的内存单元中。入左边变量所对应的内存单元中。 赋值规则赋值规则 如果赋值运算符两侧的类型不一致,则在赋如果赋值运算符两侧的类型不一致,则在赋值时要进行类型转换,转换规则为:值时要进行类型转换,转换规则为: 实型实型整变量整变量 舍去小数部分。舍去小数部分。 intint a=5.5; a a=5.5; a中为中为5 5。 整型整型实变量实变量 数值不变,以浮点形式存储。数值不变,以浮点形式存储。 字符型字符型整变量整变量 放在整形变量低放在整形变量低8 8位。保持原值不变原则。位。保持原值不变原则。 intint a=A; a=A; 复合赋

    21、值运算符复合赋值运算符 在赋值运算符前加上其它运算符,可以构成在赋值运算符前加上其它运算符,可以构成复合赋值运算符。复合赋值运算符。 a+=3 a+=3 a=a+3 a=a+3 b-=x+5 b-=x+5 b=b-(x+5) b=b-(x+5) x x* *=c-6 =c-6 x=x x=x* *(c-6)(c-6) y/=a y/=a* *4 4 y=y/(a y=y/(a* *4)4) k%=b-2 k%=b-2 k=k%(b-2) k=k%(b-2) 属于高效率运算符。属于高效率运算符。 赋值表达式赋值表达式 主要实现赋值运算的表达式。主要实现赋值运算的表达式。 一般形式:一般形式: =

    22、 如:如: a=5 y=2a=5 y=2* *x+3 a=a+1x+3 a=a+1 不是衡等不是衡等作用:作用:将右边表达式的值赋给左边的变量将右边表达式的值赋给左边的变量。 赋值表达式的值取左边变量的值。赋值表达式的值取左边变量的值。 赋值表达式右边的赋值表达式右边的 可以是任何表可以是任何表达式,如:达式,如: a=(b=5) a=(b=5) 赋值表达式中包含赋值表达式赋值表达式中包含赋值表达式 赋值运算符的优先级低于所有算术运算符,赋值运算符的优先级低于所有算术运算符,且是右结合性。且是右结合性。 a=(b=5)a=(b=5) 与与 a=b=5a=b=5 等效。等效。 例:计算以下表达式

    23、的值:例:计算以下表达式的值: a=b=c=5a=b=c=5 a=5+(c=6) a=5+(c=6) a=(b=4)+(c=6) a=(b=4)+(c=6) a=(b=4.5)+(c=6.5) a=(b=4.5)+(c=6.5) (a a、b b、c c为整型变量)为整型变量) a+=a-=aa+=a-=a* *a a ( (设设a a的原值为的原值为3)3) 赋值表达式是赋值表达式是C C语言中的一个重要成分,语言中的一个重要成分,在赋值表达式后加一分号就成为常用的赋值在赋值表达式后加一分号就成为常用的赋值语句。如语句。如 y=2y=2* *x+1;x+1; 赋值表达式作为表达式的一种,可以

    24、出赋值表达式作为表达式的一种,可以出现在任何表达式中,如:现在任何表达式中,如: x+2-(b/3-(x+2-(b/3-(a=k-5a=k-5)+b)+b 3.10 3.10 逗号表达式逗号表达式 逗号也是一种运算符,用它对两个表达式逗号也是一种运算符,用它对两个表达式实现连接运算。实现连接运算。 3+5,6+8 3+5,6+8 称称逗号表达式逗号表达式。 逗号表达式的一般形式:逗号表达式的一般形式: 表达式表达式1 1,表达式,表达式2 2 取取表达式表达式2 2的值作为整个逗号表达式的值。的值作为整个逗号表达式的值。 如:如: a=3a=3* *5,a5,a* *4 4 逗号表达式的值为:

    25、逗号表达式的值为:6060 一个逗号表达式又可以与另一个表达式组成一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式,如:一个新的逗号表达式,如: (a=3(a=3* *5,a5,a* *4),a+54),a+5 因此,逗号表达式的一般形式可以扩展为:因此,逗号表达式的一般形式可以扩展为: 表达式表达式1 1,表达式,表达式2 2,表达式,表达式3 3,, , 表达式表达式n n 取取表达式表达式n n的值作为整个逗号表达式的值。的值作为整个逗号表达式的值。 逗号运算符的优先级最低逗号运算符的优先级最低, ,且是左结合性。且是左结合性。 逗号运算符只起到连接作用,没有实际操作逗号运算符只起到连接作用,没有实际操作。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:c语言程序设计课件:第三章表达式.ppt
    链接地址:https://www.163wenku.com/p-2057655.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


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

    163文库