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

类型第1章cpp基本数据类型运算符与表达式课件.ppt

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

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

    特殊限制:

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

    关 键  词:
    cpp 基本 数据类型 运算 表达式 课件
    资源描述:

    1、1第第1 1章章基本数据类型、运算符与表达式本章主要内容本章主要内容C+C+基本数据类型及其定义方法。基本数据类型及其定义方法。C+C+的常量定义(逻辑常量,整型常量,实型常的常量定义(逻辑常量,整型常量,实型常量,字符常量,字符串常量,符号常量,枚举量,字符常量,字符串常量,符号常量,枚举常量)。常量)。变量的定义与使用方法。变量的定义与使用方法。C+C+运算符的种类、运算优先级和结合性。运算符的种类、运算优先级和结合性。C+C+表达式类型及求值规则(赋值运算,算术运表达式类型及求值规则(赋值运算,算术运算,关系运算,逻辑运算,条件运算,逗号运算,关系运算,逻辑运算,条件运算,逗号运算,位运

    2、算等)。算,位运算等)。1-1 1-1 数据类型数据类型 C+C+提供了十分丰富的预定义数据类型,称为提供了十分丰富的预定义数据类型,称为基基本数据类型本数据类型。除了基本数据类型外,除了基本数据类型外,C+C+还提供了构造数据类还提供了构造数据类型,包括数组、结构体、共用体(联合体)、枚型,包括数组、结构体、共用体(联合体)、枚举和类等。举和类等。C+C+可以使用的数据类型如图所示可以使用的数据类型如图所示:1-1-1 1-1-1 基本数据类型基本数据类型每种基本数据类型各自所占的内存空间是不同的,每种基本数据类型各自所占的内存空间是不同的,因此所表示的数据的范围大小也不同。因此所表示的数据

    3、的范围大小也不同。在在5 5种基本数据类型中种基本数据类型中:字符型用于处理字符型用于处理ASCIIASCII码字符码字符整型用于处理整型数据整型用于处理整型数据浮点型用于处理带小数的实数浮点型用于处理带小数的实数布尔型用于表示的逻辑的布尔型用于表示的逻辑的truetrue和和falsefalse无值型主要用于处理函数和指针无值型主要用于处理函数和指针1-1-2 1-1-2 类型修饰符类型修饰符C+C+的类型修饰符包括:的类型修饰符包括:signed 有符号型有符号型unsigned无符号型无符号型short短型短型long长型长型在基本数据类型(除在基本数据类型(除voidvoid类型外)前

    4、加上类型修类型外)前加上类型修饰符后,饰符后,C+C+的基本数据类型为的基本数据类型为:说明:说明:(1 1)表中带)表中带 的部分表示是可以省略的,如的部分表示是可以省略的,如short intshort int可以写为可以写为short intshort int或简写为或简写为shortshort,二者的含义是相同的。,二者的含义是相同的。(2 2)4 4种修饰符都可以用来修饰整型和字符型。种修饰符都可以用来修饰整型和字符型。用用signedsigned修饰的类型的值可以为正数或负数,修饰的类型的值可以为正数或负数,用用unsignedunsigned修饰的类型的值只能为正数。修饰的类型的

    5、值只能为正数。1-2 1-2 常量常量常量按照不同的数据类型可以分为:常量按照不同的数据类型可以分为:逻辑常量逻辑常量整型常量整型常量浮点型(实型)常量浮点型(实型)常量字符型常量字符型常量字符串常量字符串常量程序是根据程序中常量的程序是根据程序中常量的书写格式书写格式来区分它是来区分它是属于哪种类型的常量。属于哪种类型的常量。1-2-1 1-2-1 逻辑常量逻辑常量逻辑型的取值只有逻辑型的取值只有truetrue和和falsefalse两个,它们称为逻两个,它们称为逻辑常量,分别对应着整数辑常量,分别对应着整数1 1和和0 0。逻辑常量主要用在逻辑运算中。如:逻辑常量主要用在逻辑运算中。如:

    6、int a=2,b=3;int a=2,b=3;bool x;bool x;x=(a=b);x=(a=b);在程序中,用户根据需要分别可以用十进制、八在程序中,用户根据需要分别可以用十进制、八进制和十六进制的形式书写整型常量。进制和十六进制的形式书写整型常量。(1 1)十进制格式:)十进制格式:由数字由数字0 0至至9 9和正、负号组成和正、负号组成书写时直接写出数字书写时直接写出数字若为若为long intlong int型的常量,需在常量后加一个型的常量,需在常量后加一个字母字母l l或或L L如如0 0、1111、300300等。等。1-2-2 1-2-2 整型常量整型常量(2 2)八进

    7、制格式:)八进制格式:以以0 0开头的数字(开头的数字(0 0至至7 7)序列)序列如如01110111、0135701357、01717170171717等。等。(3 3)十六进制格式:)十六进制格式:以以0 x0 x或或0X0X开头的数字(数字开头的数字(数字0 0至至9 9、字母、字母a a至至f f)序列序列如如0 xAA0 xAA、0X12EF0X12EF、0 xFFFF0 xFFFF等。等。浮点型常量可以用浮点型常量可以用十进制小数形式十进制小数形式或或指数形式指数形式表表示。示。注意:在程序中无论采用十进制小数形式还是注意:在程序中无论采用十进制小数形式还是指数形式,在内存中都是

    8、以指数形式存储的。指数形式,在内存中都是以指数形式存储的。1-2-3 1-2-3 浮点型常量浮点型常量(1 1)十进制小数形式:)十进制小数形式:一般由整数部分和小数部分组成,也可省略一般由整数部分和小数部分组成,也可省略其一,但不能二者皆省。例如其一,但不能二者皆省。例如:.345.34545.45.如果在实数的数字后面加上字母如果在实数的数字后面加上字母F F或或f f,表示,表示此数为单精度浮点数;此数为单精度浮点数;如果加上字母如果加上字母L L或或l l,表示此数为长双精度数。,表示此数为长双精度数。(2 2)指数形式:)指数形式:也就是通常所讲的科学记数法的描述形式。也就是通常所讲

    9、的科学记数法的描述形式。是由数字和是由数字和e e(或(或E E)组成的,且)组成的,且e e(或(或E E)之前必须有数字)之前必须有数字e e(或(或E E)之后必须为整数)之后必须为整数 如:如:12e312e312E312E3.56e8.56e8e5e59e3.69e3.6字符型常量分为字符型常量分为普通字符常量普通字符常量和和转义字符常量转义字符常量(1 1)普通字符常量)普通字符常量用一对单引号括起来的一个字符用一对单引号括起来的一个字符如如ss,YY等等1-2-4 1-2-4 字符型常量字符型常量注意:注意:单引号只是字符与其他部分的分隔符,不是字符的一部分,单引号只是字符与其他

    10、部分的分隔符,不是字符的一部分,并且不能用双引号代替单引号,如并且不能用双引号代替单引号,如 YY不代表字符常量。不代表字符常量。字符常量只能包括一个字符,如字符常量只能包括一个字符,如 abab 是不合法的。是不合法的。单引号中的字符不能是单引号或反斜杠,单引号中的字符不能是单引号或反斜杠,和和都是非法都是非法的字符常量。的字符常量。字符常量区分大小写,如字符常量区分大小写,如YY和和yy表示两个不同的字符常量。表示两个不同的字符常量。(2 2)转义字符常量)转义字符常量在在C+C+中,有一些字符用于控制输出或编译系中,有一些字符用于控制输出或编译系统本身保留,无法作为字符常量来表示。统本身

    11、保留,无法作为字符常量来表示。C+C+规定,采用反斜杠后跟一个字母来代表一规定,采用反斜杠后跟一个字母来代表一个控制字符,反斜杠后的字符不再作原有的字个控制字符,反斜杠后的字符不再作原有的字符使用,而具有新的含义。符使用,而具有新的含义。17(3 3)字符数据在内存中的存储形式及其使用方法)字符数据在内存中的存储形式及其使用方法存储该字符相应的存储该字符相应的ASCIIASCII码,并以二进制形式存放。码,并以二进制形式存放。例如:例如:c1=ac2=b注意:字符数据的运算,均以字符的注意:字符数据的运算,均以字符的ASCII码码进行运算。进行运算。18例例 字符数据和整型数据相互赋值。字符数

    12、据和整型数据相互赋值。#include#include using namespace std;using namespace std;int main()int main()int i;int i;char j;char j;/j /j是字符型变量是字符型变量i=A;/i=A;/将一个字符常量赋给整型变量将一个字符常量赋给整型变量i ij=97;/j=97;/将一个字符常量赋给整型变量将一个字符常量赋给整型变量j j couti njn;couti njn;return 0;return 0;字符数据的使用方法:字符数据的使用方法:1、字符数据和整型数据可以相互赋值。、字符数据和整型数据可以

    13、相互赋值。2、字符数据和整型数据之间可以运算。、字符数据和整型数据之间可以运算。19例例 字符数据与整数进行算术运算。下面程序的作用是将小写字符数据与整数进行算术运算。下面程序的作用是将小写字母字母 a,b a,b 转换为大写字母转换为大写字母 A,BA,B。#include include using namespace std;using namespace std;int main()int main()char c1,c2;char c1,c2;coutc1 c2endl;coutc1 c2endl;return 0;return 0;c1=a;c2=b;c1=c1-32;c2=c2-

    14、32;用一对双引号括起来的一个或多个字符的序列用一对双引号括起来的一个或多个字符的序列字符串字符串以双引号为定界符,双引号不作为字符串的一部分以双引号为定界符,双引号不作为字符串的一部分可以将转义字符加入字符串,转义字符占用一个字节。可以将转义字符加入字符串,转义字符占用一个字节。如如:HelloHello A A Good Morning!Good Morning!I sayn I sayn 1-2-5 1-2-5 字符串常量字符串常量字符串中的字符的个数称为该字符串中的字符的个数称为该字符串的长度字符串的长度。字符串常量要用字符数组来存放。字符串常量要用字符数组来存放。在存储时,系统自动在

    15、字符串的末尾加以字符在存储时,系统自动在字符串的末尾加以字符串结束标志,即转义字符串结束标志,即转义字符 0 0 。22注意:注意:0 0 和和“0”“0”的区别。的区别。00为字符常量,为字符常量,“0”“0”为字符为字符 串常量。串常量。C+规定以字符规定以字符0作为字符串结束标志。作为字符串结束标志。在内存中以在内存中以0为结尾。为结尾。0在输出时不显示,只表示字符串结束。在输出时不显示,只表示字符串结束。cout abc s b)if(ab)return a;return a;else else return b;return b;全局变量全局变量int p=1,q=5;int p=1

    16、,q=5;/全局变量全局变量p p、q qfloat fun1(int a)float fun1(int a)int b,cint b,c char c1,c2;char c1,c2;/全局变量全局变量c1c1、c2c2char fun2(int x,int y)char fun2(int x,int y)int i,j;int i,j;int main()int main()int m,n.;int m,n.;注意:注意:如果在程序中没有对全局变量进行如果在程序中没有对全局变量进行初始化,则系统会自动将其初始化为初始化,则系统会自动将其初始化为0。1-3-4 1-3-4 常变量常变量 con

    17、st const 数据类型标识符数据类型标识符 常变量名常变量名=常量值;常量值;例如:例如:const int a=10;const int a=10;区别用区别用#define#define定义的符号常量和用定义的符号常量和用constconst定义的常变量:定义的常变量:符号常量使用一个字符串代替程序中出现的一个标识符号常量使用一个字符串代替程序中出现的一个标识符,是在编译时把所有的符号常量都替换成指定的字符,是在编译时把所有的符号常量都替换成指定的字符串,它没有数据类型,在内存中也不存在以符号常符串,它没有数据类型,在内存中也不存在以符号常量命名的存储单元。量命名的存储单元。常变量则具

    18、有变量的特征,它有数据类型,在内存中常变量则具有变量的特征,它有数据类型,在内存中存在以它的名字命名的存储单元,只是与一般变量所存在以它的名字命名的存储单元,只是与一般变量所不同的是常变量的值不能够改变。不同的是常变量的值不能够改变。1-4 1-4 运算符和表达式运算符和表达式1-4-1 运算符和表达式简介运算符和表达式简介运算符是表示进行何种运算的符号,又称为操作符。运算符是表示进行何种运算的符号,又称为操作符。运算量包含常量、变量、函数等,又称为操作数。运算量包含常量、变量、函数等,又称为操作数。C+C+语言的运算符按照其在表达式中与操作数的关系(即连语言的运算符按照其在表达式中与操作数的

    19、关系(即连接的操作数的个数),可以分为:接的操作数的个数),可以分为:单目运算符,如,单目运算符,如,*、+等;等;双目运算符,如,双目运算符,如,+、&等;等;三目运算符,如,条件运算符三目运算符,如,条件运算符?:?:。每个运算符都有优先级和结合性:每个运算符都有优先级和结合性:当一个表达式中包含多个运算符时,先进行优先级高的当一个表达式中包含多个运算符时,先进行优先级高的运算,在进行优先级低的运算;运算,在进行优先级低的运算;而对于多个优先级相同的运算符,运算的顺序就要看运而对于多个优先级相同的运算符,运算的顺序就要看运算符的结合性了。算符的结合性了。38指针运算符指针运算符(*)引用运

    20、算符和地址运算符引用运算符和地址运算符()求字节数运算符(求字节数运算符(sizeofsizeof)强制类型转换运算符(强制类型转换运算符((类型类型)或类型或类型()())成员运算符成员运算符 (.)指向成员的运算符指向成员的运算符 (-)下标运算符下标运算符 ()39基本的算术运算符+、-、+(正号正号)、(负号负号)*(乘乘)、/(除除)、%(取余取余)+(加法加法)、(减法减法)优优先先级级高高到到低低40(1 1)/(除)(除)例:例:5/25/2 值为值为:2若若 /的两操作数都为整数,则为整除。的两操作数都为整数,则为整除。9/2值为值为:4例:例:5/2.0 5.0/2 5.0

    21、/2.0值为:值为:2.5若若/的两操作数中有一个浮点数,则为的两操作数中有一个浮点数,则为正常的整法运算。正常的整法运算。41例:int i=15;float f;f=i/10;结果为:结果为:f=1如果希望如果希望 f 的结果为的结果为1.5,则可将第三条语句改为:则可将第三条语句改为:例:在例:在C+中,中,(7/3+1)+5/6 的值是(的值是()3f=(float)i/10;或或 f =i/10.0;42要求要求%的两操作数必须为整数,不允许对浮点数操作。的两操作数必须为整数,不允许对浮点数操作。例:例:3%4=3 4%4=0 -4%3=-1 3%4=3 4%4=0 -4%3=-1

    22、4%-3=14%-3=1(2)%(2)%(取余取余)余数的符号与被除数相同。余数的符号与被除数相同。n=40%5n=40%7n=-40%705-543运算对象包括常量运算对象包括常量(数值常量、字符常量,不能对字符数值常量、字符常量,不能对字符串常量进行运算串常量进行运算)、变量、变量、函数等。函数等。a a*b/c-1.5+ab/c-1.5+a a a*b/c-1.5+abb/c-1.5+ab算术表达式和运算符的优先级与结合性在求解表达式时,先按一个运算对象两侧的运在求解表达式时,先按一个运算对象两侧的运算符的优先级别高低次序执行。算符的优先级别高低次序执行。a-b*c如果在一个运算对象两侧

    23、的运算符的优先级如果在一个运算对象两侧的运算符的优先级别相同,别相同,则按则按“自左至右自左至右”结合,如结合,如 a-b+c44在表达式中常遇到不同类型数据之间进行运算,如在表达式中常遇到不同类型数据之间进行运算,如:10+10+a+1.5-1.4 a+1.5-1.4*A A表达式中各类数值型数据间的混合运算在进行运算时,不同类型的数据要先转换成同一类在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。转换的规则按图所示。型,然后进行运算。转换的规则按图所示。45假设已指定为整型变量,为假设已指定为整型变量,为floatfloat变量,为变量,为longlong型,有型,有下面表达

    24、式:下面表达式:10+10+a+i a+i*f i/e f i/e (上述的类型转换是由系统自动完成的上述的类型转换是由系统自动完成的)10+a+i*f i/e 1 例:例:1.5+32/5 的值是(的值是()7.5例:例:(1.5+32)/5的值是(的值是()6.746(1)、a+a+:先取先取a的值作为表达式的值,然后的值作为表达式的值,然后a=a+1例:例:int a;a=2;j=a+自增和自减运算符(+、-)结果为:结果为:j=2,a=3(2)、+a:先先a=a+1,然后取然后取a的值作为表达的值作为表达式的值。式的值。例:例:int a;a=2;j=+a 结果为:结果为:j=3,a=

    25、3(3)、a-:先取先取a的值作为表达式的值,然后的值作为表达式的值,然后a=a-1例:例:int a;a=2;j=a-结果为:结果为:j=2,a=1(4)、-a:先先a=a+1,然后取然后取a的值作为表达式的值作为表达式的值。的值。例:例:int a;a=2;j=-a 结果为:结果为:j=,a=47例:写出下列程序运行结果:例:写出下列程序运行结果:int a=3;int b=+a;couta bendl;int c=a+;couta cendl;答案:答案:4 4 5 448#includeincludeusing namespace stdusing namespace std;int

    26、main()int main()int i,j,m,n;int i,j,m,n;i=8;i=8;j=10;j=10;m=+i+j+;m=+i+j+;n=i+j;n=i+j;coutitjtnendl;coutitjtnendl;return 0;return 0;答案:答案:10 12 20注意:注意:后置后置+、-的优先级的优先级高于前置高于前置+、-49正确地使用正确地使用+和和-,可以使程序简洁、清晰、高,可以使程序简洁、清晰、高效。效。请注意:请注意:(1)(1)自增(减)运算符只能用于变量,而不能用于自增(减)运算符只能用于变量,而不能用于常量或表达式。常量或表达式。(5+5+、(、(a+5)+a+5)+、a+a+)(2)(2)自增(减)运算符使用十分灵活,但在很多情自增(减)运算符使用十分灵活,但在很多情况下可能出现歧义性,产生况下可能出现歧义性,产生“意想不到意想不到”的副作用。的副作用。(3)(3)自增(减)运算符在自增(减)运算符在C+C+程序中是经常见到程序中是经常见到的,常用于循环语句中,使循环变量自动加的,常用于循环语句中,使循环变量自动加1 1。也用于指针变量,使指针指向下一个地址。也用于指针变量,使指针指向下一个地址。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第1章cpp基本数据类型运算符与表达式课件.ppt
    链接地址:https://www.163wenku.com/p-4622108.html

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


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


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

    163文库