欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据类型运算符与表达式-西安交大.ppt

    • 资源ID:91081436       资源大小:266.66KB        全文页数:28页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据类型运算符与表达式-西安交大.ppt

    第第2章章 数据类型、运算符与表达式数据类型、运算符与表达式Follow me!2.12.1 C C语言数据类型语言数据类型 整型整型(int)字符型字符型(char)单精度型单精度型(float)(float)基本类型基本类型 实型(浮点型)实型(浮点型)双精度型双精度型(double)指针类型指针类型数据类型数据类型 数组类型数组类型 构造类型构造类型 结构体类型结构体类型(struct)共用体类型共用体类型(union)枚举类型枚举类型(enum)无值类型(空类型)无值类型(空类型)(void)标识符标识符标识符标识符就是名字。在就是名字。在C C中有符号常量名、变量名、函数名、中有符号常量名、变量名、函数名、标号、文件名、结构类型名、各种用户定义的对象名等。标号、文件名、结构类型名、各种用户定义的对象名等。命名规则命名规则:构成字符:构成字符:2626个英文字母、数字个英文字母、数字0-90-9、下划线、下划线须由字母或下划线开头,后可跟任意可用字符须由字母或下划线开头,后可跟任意可用字符注意注意:大小写字母含义不同。大小写字母含义不同。NumNum和和NUMNUM为不同标识符为不同标识符构造标识符时尽量做到构造标识符时尽量做到“见名知意见名知意”。如。如sumsum,st_age 标识符不能使用语言关键字。如标识符不能使用语言关键字。如 main,intmain,int等等C C有有3232个关键字个关键字,见见2424页页.2.2 2.2 常量与变量常量与变量2.2.1 2.2.1 常量常量1.1.定义:定义:在程序执行期间,其值不可改变的量称为常量在程序执行期间,其值不可改变的量称为常量2.2.类型:类型:数值常量:数值常量:例如:例如:1010,3 3,2.68 2.68等等符号常量符号常量:用一个符号代表一个常量:用一个符号代表一个常量 例如例如:#define:#define PIPI 3.1415926 3.1415926 main()main()float r,l,s float r,l,s;r=2 r=2;l=2*l=2*PIPI*r*r;s=s=PIPI*r*r*r*r;printf(“l=%d,s=%d”,l,s)printf(“l=%d,s=%d”,l,s);增加可读性;增加可读性;提高可维护性提高可维护性说明:符号常量必须符号常量必须先定义先定义后才能用它表示一后才能用它表示一个数值个数值符号常量名习惯用符号常量名习惯用大写大写字母表示字母表示2.2.2 2.2.2 变量变量1.1.定义:定义:程序执行期间值可以改变的量程序执行期间值可以改变的量2.2.变量两个要素变量两个要素:变量名和变量值。变量值存储在内存变量名和变量值。变量值存储在内存中,不同类型变量占用的内存单元(字节)不同。中,不同类型变量占用的内存单元(字节)不同。在程序中通过变量名引用变量的值。在程序中通过变量名引用变量的值。3.3.说明:说明:(1)(1)变量要变量要“先定义,后使用先定义,后使用”定义格式:类型说明符定义格式:类型说明符 标识符标识符1,1,标识符标识符2.2.标识符标识符n n 例例:int x,y,z;int x,y,z;float a,b,c,d;float a,b,c,d;(2)(2)可以定义变量同时给变量赋值可以定义变量同时给变量赋值初始化初始化 例例:int x=10,y=20,z;int x=10,y=20,z;3变量名变量名变量值变量值存储单元存储单元a a例:例:下列标识符中,合法的变量名有:下列标识符中,合法的变量名有:M.D.John 12%gf 1add M.D.John 12%gf 1add _ce36 age&_ce36 age&5thclass lotus_1_2_3 5thclass lotus_1_2_3 cd*ef cd*ef2.32.3整型数据(整型数据(intint)(1)整型)整型常量常量十进制:十进制:0-9组成,无小数。如组成,无小数。如123,-456,0八进制:以八进制:以0开头,开头,0-7组成,无小数。如组成,无小数。如0123,-011十六进制:以十六进制:以0 x或或0X开头,开头,0-9和和a-f(大小写均可)组(大小写均可)组成。如成。如x123,-0 x12(2)整型)整型变量变量每一个整型变量在内存中占每一个整型变量在内存中占2个字节,以补码形式表示。个字节,以补码形式表示。如:如:数据在内存中是以二进制形式存放的数据在内存中是以二进制形式存放的00000000000010101111111111110110-10+10整型变量的分类整型变量的分类 :见见25页页 基本整型:基本整型:int 有符号有符号 signed int 无符号无符号 unsigned int 短整型:短整型:short int 有符号有符号 signed short int 无符号无符号 unsigned short int 长整型:长整型:long int 有符号有符号 signed long int 无符号无符号 unsigned long int说明:说明:不指定有无符号时,即省略不指定有无符号时,即省略signed或或unsigned时,隐含为有符号。时,隐含为有符号。常量常量:用用l l做后缀做后缀:表示长整型数表示长整型数 用用u u做后缀做后缀:表示无符号数。表示无符号数。使用使用longlong型可得到大范围整数,但也会降低运算速度。型可得到大范围整数,但也会降低运算速度。标准标准C C中各种整数类型的表示范围见中各种整数类型的表示范围见2525页表页表2.12.1。例:例:各种类型的整数各种类型的整数1313在内存中的存储形式。在内存中的存储形式。说明:2.42.4实型数据(又叫浮点数实型数据(又叫浮点数floatfloat)(1 1)实型实型常量常量定点数形式:定点数形式:.123.123,123.123.,123.0 123.0,0.0 0.0(必须带有小数点必须带有小数点)指数形式:指数形式:123e3123e3或或123E3 123E3 (E E前必须有数;前必须有数;E E后须为整数,可正可负)后须为整数,可正可负)1.234e3 1.234e3 代表代表 1.234101.234103 3 ;e3e3,1e2.31e2.3,.e3.e3,e e不合法。不合法。规范化的指数:规范化的指数:E E前的小数部分中的小数点前前的小数部分中的小数点前(左)只有一位非零数字(左)只有一位非零数字2.4 2.4 实型数据(又叫浮点数实型数据(又叫浮点数floatfloat)(2 2)实型变量)实型变量在内存中占在内存中占4 4个字节,按指数形式存储。如:个字节,按指数形式存储。如:+小数部分小数部分 指数指数 实型变量的分类实型变量的分类 单精度:单精度:float float 7 7位有效数字位有效数字 双精度:双精度:doubledouble15161516位有效数字位有效数字 长双精度:长双精度:long double long double 使用较少使用较少 0.31415913.14159 一个实型变量只能保证一个实型变量只能保证7 7位有效数字,位有效数字,后面的数字是无意义的。后面的数字是无意义的。应避免一个很大的数和一个很小的数直接相加减。应避免一个很大的数和一个很小的数直接相加减。C C编译系统将实型常量按双精度处理,编译系统将实型常量按双精度处理,常量的后缀用常量的后缀用f f表示单精度实型,表示单精度实型,后缀用后缀用l l表示长双精度型。表示长双精度型。注意事项:2.5 2.5 字符型数据字符型数据(1)字符字符常量常量字符常量字符常量:用单撇号括起来的:用单撇号括起来的一个一个字符。字符。如如:a,!,X 特殊形式字符常量(转义字符):以特殊形式字符常量(转义字符):以“”“”开头的开头的字符序列,见字符序列,见4848页表页表3.33.3字符串常量字符串常量:用双引号括起来的零个或多个字符的序:用双引号括起来的零个或多个字符的序列列。如如:“This is astring”,“This is astring”,”5433”,”,”,“n”5433”,”,”,“n”等。等。例例:字符串常量字符串常量“chinabn101t”“chinabn101t”由几个字符由几个字符构成?构成?(10 10)2.5 2.5 字符型数据字符型数据(2 2)字符)字符变量变量 每一个字符变量每一个字符变量:只能存放只能存放一个一个字符,在内存字符,在内存中占中占1 1个字节,是将该字符对应的个字节,是将该字符对应的ASCIIASCII码放到码放到存储单元中并以二进制形式表示。存储单元中并以二进制形式表示。如:如:c1=ac1=a 一个字符型数据既可以用字符形式输出,也一个字符型数据既可以用字符形式输出,也可以以整数输出。即字符型数据和整型数据是可以以整数输出。即字符型数据和整型数据是通用的。通用的。可以对字符数据进行算术运算可以对字符数据进行算术运算c19701100001例:大小写字母转换。例:大小写字母转换。将小写字母将小写字母a和和b转换为大写字母转换为大写字母A和和B。main()char c1,c2;c1=a;c2=b;c1=c1-32;c2=c2-32;printf(“%c%c”,c1,c2);(3)字符)字符串串常量常量 用双撇号括起来的字符用双撇号括起来的字符序列序列。如:。如:”hi!”,”123abc”,”123.3”在字符串常量后加在字符串常量后加“0”(ASCII值为值为0,即空操,即空操作)作)做结束标志做结束标志 字符串常量所占的存储空间取决于其所含的字符字符串常量所占的存储空间取决于其所含的字符数,为字符数数,为字符数+1。在在C语言中,使用数组来存放字符串。语言中,使用数组来存放字符串。2.6 变量赋初值变量赋初值声明变量同时初始化声明变量同时初始化 int a=3;float f=3.1;char c=g;声明时部分初始化声明时部分初始化 int a,b,c=5;同时给几个变量赋相同的值同时给几个变量赋相同的值 int a=3,b=3,c=3;int a=b=c=3是错误的是错误的2.7 各类数值型数据间的混合运算各类数值型数据间的混合运算就是整型、实型数据的就是整型、实型数据的混合运算混合运算不同类型数据要先转换不同类型数据要先转换成同一类型(低转高),成同一类型(低转高),然后进行运算然后进行运算转换规则见图。转换规则见图。运算时系统自动按上述运算时系统自动按上述规则转换计算。规则转换计算。例:计算例:计算10+a+I*f-d/e 其中,其中,I为为int型,型,f为为float型,型,d为为double型,型,e为为long型型运算符C的运算符非常丰富,应用范围广泛,可分为:算术运算符:算术运算符:+-*/%+-+-*/%+-关系运算符:关系运算符:=!=逻辑运算符:逻辑运算符:!&|!&|位运算符:位运算符:|&|&赋值运算符:赋值运算符:=复合赋值运算符复合赋值运算符条件运算符:条件运算符:?:逗号运算符:,逗号运算符:,指针运算符:指针运算符:*&*&求字节数运算符:求字节数运算符:sizeofsizeof强制类型转换运算符:强制类型转换运算符:(类型)(类型)分量运算符:分量运算符:.下标运算符:下标运算符:其他:其他:如函数调用运算符()如函数调用运算符()2.8 2.8 算术运算符和算术表达式算术运算符和算术表达式1.1.基本的算术运算符基本的算术运算符+(加或正)(加或正)-(减或负)(减或负)*(乘)(乘)/(除)(除)%(取模或求余)(取模或求余)说明:说明:(1 1)上述运算符均为双目运算符(即有两个操作数)上述运算符均为双目运算符(即有两个操作数)(2 2)“”“”“”作单目运算符时分别为正值、负值运算符。作单目运算符时分别为正值、负值运算符。(3 3)在)在“”运算中,若操作数均为运算中,若操作数均为整数整数,则执行整除运算,则执行整除运算,舍去小数部分。例如:舍去小数部分。例如:5/3=15/3=1(4 4)“”要求两侧均为要求两侧均为整数整数,“”运算不能用于运算不能用于float float 和和 doubledouble型数据。例如:型数据。例如:2 2(5 5)的优先级相同且高于的优先级相同且高于 2.2.算术表达式和运算符的优先级与结合性算术表达式和运算符的优先级与结合性算术表达式算术表达式:用算术运算符和括号将常量、变量、函数:用算术运算符和括号将常量、变量、函数等连接起来构成的式子。等连接起来构成的式子。运算优先级运算优先级:先按运算符的优先级高低执行,级别相同:先按运算符的优先级高低执行,级别相同按先左后右的结合方向执行。按先左后右的结合方向执行。3.3.强制类型转换运算符强制类型转换运算符(类型名)(表达式)(类型名)(表达式)如如 (double)a(double)a (int)(x+y)(int)(x+y)不同于不同于(int)x+y(int)x+y (float)(5%3)(float)(5%3)强制转换得到一个所需类型的中间值,原变量类型不变强制转换得到一个所需类型的中间值,原变量类型不变4.自增、自减运算符自增、自减运算符(、)(、)作用:作用:使变量的值增或减,相当于使变量的值增或减,相当于i=i+1,i=i-1.i=i+1,i=i-1.如:如:i,i,i i 使用使用i i之之前前,先使,先使i i的值加(减)的值加(减)1 1 i i,i,i 使用使用i i之之后后,使,使i i的值加(减)的值加(减)1 1例如:例如:int a=1,b;b=+a;int a=1,b;b=+a;printf(“%d,%dn”,a,b);printf(“%d,%dn”,a,b);或:或:int a=1,b;b=a+;int a=1,b;b=a+;printf(“%d,%dn”,a,b);printf(“%d,%dn”,a,b);说明:说明:(1 1)自增、自减运算符为单目运算符)自增、自减运算符为单目运算符 (2 2)+、只能用于变量(、只能用于变量(不能操作不能操作floatfloat和和doubledouble型型数据数据),而不能用于常量或表达式。),而不能用于常量或表达式。例如:,(例如:,(x+y)+x+y)+,+a,b+,+a,b+中合法的为:中合法的为:(3 3)自增、自减运算符为)自增、自减运算符为右右结合性。结合性。例如:例如:a+a+(a+a+)例例:读出下列程序运行后结果。:读出下列程序运行后结果。#include Main()int a=7,b=7,c,d;a=a+;b=+b;printf(“a=%d,b=%dn”,a,b);c=a+;d=+b;printf(“c=%d,d=%dn”,c,d);运行结果:运行结果:A=8,b=8C=8,d=93.9 3.9 赋值运算符和赋值表达式赋值运算符和赋值表达式1.赋值运算符(赋值运算符(=)形式:变量名形式:变量名=常量或表达式常量或表达式作用:将右边常量或表达式的值赋给左边的变量作用:将右边常量或表达式的值赋给左边的变量例如:例如:a=3;b=c+d;当赋值运算符两边类型不一致时,要进行类型转换。规则是:当赋值运算符两边类型不一致时,要进行类型转换。规则是:实型数据赋给整型变量,舍去小数。实型数据赋给整型变量,舍去小数。整型变量赋给单、双精度变量,小数部分补零。整型变量赋给单、双精度变量,小数部分补零。字字符符型型数数据据赋赋给给整整型型数数据据,把把对对应应的的ASCII码码置置于于低低8位位,高高8位视情况而变。位视情况而变。short int 赋赋给给long int,高高端端要要根根据据正正负负补补0或或1。反反之之,只只截截取取低低8位。位。其它见书。其它见书。3.9 3.9 赋值运算符和赋值表达式赋值运算符和赋值表达式2.复合赋值运算符复合赋值运算符在赋值符在赋值符“=”之之前前加上其它运算符加上其它运算符共有共有10种复合赋值运算符种复合赋值运算符 +=,=,=,=,=,=,&=,=,|=例如例如:a+=6 a%=3 x*=y+3相当于:相当于:a=a+6 a=a%3 x=x*(y+3)而不是而不是 x=x*y+33.10 3.10 逗号运算符和逗号表达式逗号运算符和逗号表达式1.逗号运算符逗号运算符:即:即“,”优先级优先级:为所有运算符中级别:为所有运算符中级别最低最低的的2.逗号表达式(顺序求值运算符)逗号表达式(顺序求值运算符)形式:形式:表达式表达式1 1,表达式,表达式2 2,表达式表达式n n 求解过程:求解过程:顺次求解表达式顺次求解表达式1 1,表达式,表达式22 最后求解表达式最后求解表达式n n逗号表达式的值逗号表达式的值为为 表达式表达式n n的值的值例如:例如:a=3*5,a*4 a=3*5,a*4 a=15,a=15,逗号表达式的值为逗号表达式的值为6060 x=a=3,6*a x=a=3,6*a a=3,x=3,a=3,x=3,逗号表达式的值为逗号表达式的值为1818 x=(a=4%3,a+1,a*10)a为为1,逗号表达式的值为,逗号表达式的值为 a*10,所以,所以x=10本章主要内容本章主要内容C语言的数据类型分类语言的数据类型分类常量与变量的定义常量与变量的定义基本数据类型的表示、存储方式和使用基本数据类型的表示、存储方式和使用算术运算符、赋值运算符、逗号运算符算术运算符、赋值运算符、逗号运算符的含义及使用的含义及使用

    注意事项

    本文(数据类型运算符与表达式-西安交大.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开