基本数据类型运算符和表达式.ppt





《基本数据类型运算符和表达式.ppt》由会员分享,可在线阅读,更多相关《基本数据类型运算符和表达式.ppt(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、The C Programming LanguageAnHui University of Science and TechnologyDepartment of Computer Science&Technology安徽理工大学计算机科学与工程学院5/16/20231 1安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 第二章 基本数据类型、运算符和表达式2.1 数据类型2.2 变量和常量 2.3 运算符和表达式2.4 指针2.5 typedef语句2.6 应用举例5/16/20232 2安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 程
2、程序序中中要要对对各各种种各各样样的的数数据据进进行行描描述述和和操操作作,用用到到的的数数据据都都必必须须指明其类型。数据类型的作用:指明其类型。数据类型的作用:指出了应为数据分配的存储空间的大小指出了应为数据分配的存储空间的大小规定了数据所能进行的操作规定了数据所能进行的操作2.1 2.1 数据类型数据类型数据类型数据类型基本类型基本类型 构造类型构造类型 整型整型(int)(int)实型实型 字符型字符型(char)(char)布尔型布尔型(bool)(bool)空类型空类型(void)(void)单精度型单精度型(float)(float)双精度型双精度型(double)(double
3、)数组数组指针指针结构型结构型(struct)(struct)共用体共用体(union)(union)枚举枚举(enum)(enum)类类(class)(class)5/16/20233 3安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 程序运行过程中其值可变的量程序运行过程中其值可变的量,定义方式如下:定义方式如下:数据类型数据类型 变量名表变量名表;C/C+C/C+规定:规定:程序中所有变量必须程序中所有变量必须先定义后使用先定义后使用,可及时发现,可及时发现录入错误录入错误(如,定(如,定义的变量为义的变量为datadata,而程序体中使用变量为,而程序体中使
4、用变量为datedate),同时还可限制非法运算),同时还可限制非法运算(如:(如:a%b,a%b,若若a,ba,b为为floatfloat类型则出错)。类型则出错)。C+C+中变量可随时使用,随时定义。中变量可随时使用,随时定义。例如:例如:int a,b;(int a,b;(定义变量定义变量a a和和b b为整型为整型)float x,y;(float x,y;(定义变量定义变量x x和和y y为单精度实型为单精度实型)2.2.1 2.2.1 变量变量2.2 2.2 变量和常量变量和常量1.变量的定义5/16/20234 4安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapt
5、er 2 变量必须先有确定的值后才能参与各种相应的操作变量必须先有确定的值后才能参与各种相应的操作,变量获取值,变量获取值的途径有三:的途径有三:通过输入语句输入通过输入语句输入 (如:如:cincina;)a;)通过赋值语句赋值通过赋值语句赋值 (如:如:a=3;a=3;)通过初始化方式赋初值通过初始化方式赋初值 (如:如:intint k=3;)k=3;)所谓初始化是指在定义变量的同时指定变量的初值,形式有二:所谓初始化是指在定义变量的同时指定变量的初值,形式有二:例如:例如:intint k=3,m=3,n(3);k=3,m=3,n(3);()intint k=m=n=3;k=m=n=3
6、;/不允许为多个变量同时初始化不允许为多个变量同时初始化数据类型数据类型 变量名变量名=表达式;表达式;数据类型数据类型 变量名(表达式);变量名(表达式);2.变量的初始化5/16/20235 5安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 C+C+中增加了中增加了“引用引用”这一概念,许多地方可以代替指针实现相这一概念,许多地方可以代替指针实现相应的功能,比指针更安全。应的功能,比指针更安全。所谓引用即给一个已知变量起个所谓引用即给一个已知变量起个别名别名,系统不为引用另外开辟系统不为引用另外开辟内存,而是与原变量共享同一段内存内存,而是与原变量共享同一段内存
7、,引用好比是一个虚拟的变量,引用好比是一个虚拟的变量,声明形式为:声明形式为:数据类型数据类型&引用名引用名=已定义的变量已定义的变量如:如:int a=3,&b=a;/int a=3,&b=a;/定义定义b b为为a a的引用的引用b=5;b=5;/你知道此时你知道此时a a的值为多少吗?的值为多少吗?3.变量引用只能对变量引用,不能对常量与表达式引用!只能对变量引用,不能对常量与表达式引用!5/16/20236 6安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 2.2.2 2.2.2 常量常量进制进制形式形式实例实例错例错例十进制十进制以数字以数字19开始开始-
8、3,+5,12045八进制八进制以数字以数字0开始开始(由由07之间数字组成)之间数字组成)023,-010078十六进制十六进制以以0 x或或0X开始开始(由由09及及AF组成)组成)0XAF,-0X510XFG在程序运行过程中其值不能改变的量,有在程序运行过程中其值不能改变的量,有值常量和符号常量值常量和符号常量两种。两种。1.整型常量5/16/20237 7安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 十进制小数形式十进制小数形式:由正负号、数字和小数点组成,:由正负号、数字和小数点组成,如如1.251.25、-1.25-1.25、17.17.和和.1 .1
9、 指数形式指数形式:由尾数、指数符号:由尾数、指数符号e(e(或或E)E)及指数构成,其中及指数构成,其中指指数数必须是十进制整数。如必须是十进制整数。如1.25e-51.25e-5、+1e10+1e10、-1.25e5-1.25e5。注意注意:e e前面不能没有数字前面不能没有数字,e e后面后面的数字必须为的数字必须为整数整数,也不,也不能加圆括号。如能加圆括号。如1E(-3)1E(-3)、E-5E-5、1e2.11e2.1都是错误的。都是错误的。2.实型常量5/16/20238 8安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 C/C+C/C+提供了两类字符型
10、常量:提供了两类字符型常量:普通字符常量普通字符常量:用单引号括起来的一个字符。如:用单引号括起来的一个字符。如:AA、00、?、。转义字符常量转义字符常量:以:以“”“”(反斜杠)开头的用单引号括起(反斜杠)开头的用单引号括起来的字符序列。如:来的字符序列。如:n n 、t t 、x61 x61 等。等。常用的转义常用的转义字符见字符见p27p27。注意注意:00表示表示ASCIIASCII码为码为0 0的字符的字符,它是一个空字符,注意其与它是一个空字符,注意其与00的区别,后者表示的是的区别,后者表示的是ASCIIASCII码为码为4848的数字字符。的数字字符。字符型数据在内存中以字符
11、型数据在内存中以ASCIIASCII码码存储,故整型数据和字符型数存储,故整型数据和字符型数据在一定范围内可以通用。如:据在一定范围内可以通用。如:2.字符常量x=a+2;x=a+2;5/16/20239 9安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 字符串常量是用双引号括起来的字符序列字符串常量是用双引号括起来的字符序列,系统在字符串常量系统在字符串常量最后自动加字符串结束符号最后自动加字符串结束符号 0 0 。例如:例如:字符串字符串“A”“A”的存储形式:的存储形式:字符字符AA的存储形式:的存储形式:A 0 A内存中实际存放的是内存中实际存放的是这些字符
12、的这些字符的ASCII码码4.字符串常量5/16/20231010安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 是以标识符形式出现的常量,作用是便于程序阅读和修改。是以标识符形式出现的常量,作用是便于程序阅读和修改。C+C+中用中用definedefine命令或关键字命令或关键字constconst定义符号常量定义符号常量,形式如下:形式如下:#define#define 标识符标识符 常量值常量值或:或:const const 数据类型数据类型 标识符标识符=常量值常量值5.符号常量习惯上符号常量名大写,而变量名小写,以示区分。习惯上符号常量名大写,而变量名小写
13、,以示区分。符号常量虽然用标识符来标识,但符号常量虽然用标识符来标识,但本质上是常量本质上是常量,具有常,具有常量值不能改变的性质。量值不能改变的性质。注意:注意:5/16/20231111安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2#define PI 3.14#include iostream.hvoid main()float r=3.0,s,l;l=2*PI*r;s=PI*r*r;coutl=l,s=sendl;例例1.1.演示不同精度圆周率的演示不同精度圆周率的程序运行结果程序运行结果2.2.观察编译中的观察编译中的“警告警告”对程序运行的影响对程序运行
14、的影响3.3.消除消除“warning”“warning”的方的方法法5/16/20231212安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 运算符运算符具有具有三个属性三个属性:优先级优先级:指运算的先后次序,共分指运算的先后次序,共分1515个级别。个级别。(见见p28p28表表1.2.4)1.2.4)结结合合性性:指指相相同同优优先先级级运运算算符符连连续续出出现现时时的的计计算算顺顺序序,分分自自左左 向右和自右向左两种,除特别声明外,皆指自左向右。向右和自右向左两种,除特别声明外,皆指自左向右。目目 数数:指指运运算算符符要要求求的的操操作作数数的的个个
15、数数,包包括括单单目目、双双目目和和三三目目,一般目数越少,优先级越高。一般目数越少,优先级越高。表达式表达式:由常量、变量、函数调用和运算符按一定规律组合在一:由常量、变量、函数调用和运算符按一定规律组合在一起构成的式子。起构成的式子。如:如:a+14/(3+2)-sqrt(17)a+14/(3+2)-sqrt(17)2.3 2.3 运算符和表达式运算符和表达式2.3.1 2.3.1 基本概念基本概念5/16/20231313安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 种类:种类:+(加法或取正)(加法或取正)-(减法或取负)(减法或取负)*(乘法)(乘法)/
16、(除法)(除法)%(求余数)(求余数)+(自增)(自增)-(自减)(自减)正、负正、负加、减加、减2.3.2 2.3.2 运算符运算符1.算术运算其中:其中:+和和-的结合性则是自右向左的结合性则是自右向左 优先级:优先级:(从高到低从高到低)(+(+、-、+、-)-)(*(*、/、%)%)(+(+、-)-)5/16/20231414安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 说明:说明:在除法运算中,当两个操作数都是整数时,商也为在除法运算中,当两个操作数都是整数时,商也为整数整数,小数部分一律舍去。如:小数部分一律舍去。如:1/2 0 1.0/2 0.5%(
17、求余运算)要求两个操作数都是(求余运算)要求两个操作数都是整型整型,结果为整除后,结果为整除后余下的整余数。余下的整余数。常见用法:常见用法:1.判断是否能整除,如判断奇偶性。判断是否能整除,如判断奇偶性。2.利用整除与取余来求一个整数各位上的值利用整除与取余来求一个整数各位上的值5/16/20231515安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 自增、自减运算符自增、自减运算符(+(+、-)-)+i ,-i (+i ,-i (在使用在使用 i i之前之前,先使先使i i的值加减的值加减1)1)i+,i-(i+,i-(在使用在使用 i i之后之后,使使i i的
18、值加减的值加减1)1)若若 i i 的值为的值为3 3,则:,则:j=+i;j j=+i;j的值为的值为4,i4,i的值为的值为4 4 j=i+;j j=i+;j的值为的值为3,i3,i的值为的值为4 4注意注意:自增、自减运算符只能用于变量,而不能用于常量自增、自减运算符只能用于变量,而不能用于常量和表达式和表达式。()5+、(a+b)+5/16/20231616安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 种类种类:(小于)、(小于)、=(大于)(大于)=(等于)、(等于)、=(大于等于)、(大于等于)、!=!=(不等于)(不等于)优先级优先级:(从高到低)(
19、从高到低)(、=、=)=)(=、!=)!=)关关系系运运算算描描述述的的是是一一种种“判判断断关关系系”,其其结结果果有有“真真(true)”(true)”和和“假假(false)”(false)”两种。用两种。用“1”“1”代表代表“真真”,用,用“0”“0”代表代表“假假”例如:例如:5353的结果为的结果为1 1,a a B B 的结果为的结果为0 0思考:思考:x x为为0 0到到100100之间的数能否表示为之间的数能否表示为 0=x=100?0=x=100?注:字符串不能用关系比较符比较!注:字符串不能用关系比较符比较!2.关系运算5/16/20231717安徽理工大学计算机软件教
20、研室安徽理工大学计算机软件教研室Chapter 2 种类:种类:!(逻辑非)(逻辑非)、&(逻辑与)、(逻辑与)、|(逻辑或)(逻辑或)优先级:优先级:(从高到低从高到低)!&|!&|其其中中,“!”“!”是是单单目目运运算算符符,优优先先级级高高于于双双目目的的算算术术运运算算符。符。“”和和“|”“|”低于关系运算符。低于关系运算符。逻逻辑辑运运算算通通常常用用来来连连接接关关系系运运算算,逻逻辑辑运运算算符符两两端端的的操操作作数数如如为为“非非”,就就当当作作“真真”来来处处理理,如如果果是是“”,便便当当作作“假假”来来处处理理。逻逻辑辑运运算算的的结结果果也也只只有有 0(fals
21、e)0(false)和和1(true)1(true)两两种种。3.逻辑运算5/16/20231818安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 说明:说明:当多个当多个&连续出现时,如连续出现时,如表达式表达式&表达式表达式&表达式表达式从左到右,只从左到右,只要一个操作数为要一个操作数为0 0,结果就为,结果就为0 0,不进行后续运算。,不进行后续运算。当多个当多个|连续出现时,如连续出现时,如表达式表达式|表达式表达式|表达式表达式从左到右,从左到右,只要一个操作数为只要一个操作数为1 1,结果就为,结果就为1 1,不进行后续运算。,不进行后续运算。5/16
22、/20231919安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2#include iostream.hvoid main()int m,n=10;m=2&n+;coutm=m,n=y?x:y)(xy?x:y);/将和中较大的一个数赋值给变量将和中较大的一个数赋值给变量maxmax条件运算符的结合性是由右向左条件运算符的结合性是由右向左思考题:思考题:对对n(0)n(0)个个人人进进行行分分班班,每每班班k(0)k(0)个个人人,最最后后不不足足k k人人也也编编一一班班,问要编几个班?(试用条件运算符表达)问要编几个班?(试用条件运算符表达)n%k0?n/k+1:n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本 数据类型 运算 表达式

限制150内