第二章 基础知识.ppt
《第二章 基础知识.ppt》由会员分享,可在线阅读,更多相关《第二章 基础知识.ppt(88页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机所处理的数据以一定形式存放在内存中,数据计算机所处理的数据以一定形式存放在内存中,数据的存储方式以及能够进行的合法运算都与数据类型直的存储方式以及能够进行的合法运算都与数据类型直接相关。接相关。C+C+的特点之一就是提供了丰富的数据类型,的特点之一就是提供了丰富的数据类型,以便处理各种不同的数据。以便处理各种不同的数据。数据类型数据类型总是与运算封装总是与运算封装在一起,本质上是面向对象的。在一起,本质上是面向对象的。本章将简要介绍本章将简要介绍C+C+中的数据类型及相关运算,以及常量、变量、表达式、中的数据类型及相关运算,以及常量、变量、表达式、语句等,最后介绍简单的输入输出方法。语句
2、等,最后介绍简单的输入输出方法。第二章第二章 C+基础知识基础知识第二章第二章 C+基础知识基础知识21C+的词法单位的词法单位25运算符、表达式和语句运算符、表达式和语句26简单的输入输出简单的输入输出24数组与字符数组数组与字符数组23常量和变量常量和变量22C+中的数据类型中的数据类型ok2.1 C+的词法单位的词法单位211C+的字符集的字符集 212关键字关键字 213标识符标识符(ID,identifier)214标点符号标点符号 ok2.1.1 C+的字符集的字符集ASCII码码字符集是计算机中的常用字符集。字符集是计算机中的常用字符集。它包括英文字母及阿拉伯数字等它包括英文字母
3、及阿拉伯数字等128个字符,个字符,存储一个存储一个ASCII码码占用一个字节占用一个字节单元。单元。由于汉字处理的需要,又出现了由于汉字处理的需要,又出现了汉字国汉字国标码标码等对应于不同语言的字符集。国标码等对应于不同语言的字符集。国标码的存储占用两个字节单元。的存储占用两个字节单元。Unicode字符集对各类字符进行字符集对各类字符进行统一的双统一的双字节编码字节编码。它包括了世界上多种语言的基本。它包括了世界上多种语言的基本字符,字符,最多可容纳最多可容纳65536个个字符。字符。ASCII码码字符集,国标码字符集都是它的子集。字符集,国标码字符集都是它的子集。okC+的字符集的字符集
4、26个个小写字母小写字母 abcdefghijklmnopqrstuvwxyz 26个个大写字母大写字母 ABCDEFGHIJKLMNOPQRSTUVWXYZ 10个个阿拉伯数字阿拉伯数字 0 1 2 3 4 5 6 7 8 9 其他符号其他符号 +-*/=,._:;?|!#%&()空格空格 C+语言使用下列基本字符来构成词法单位:语言使用下列基本字符来构成词法单位:2.1.1结束2.1.2 关关 键键 字字关键字(keyword)又称保留字。是由系统定义的具有特定含义的英文单词。关键字不能另作它用。C+区分大小写,关键字全部由小写字母组成。标准C+(ISO14882)定义了74个关键字,具体
5、的C+编译器还会做一些增删。常用关键字及分类见表2.1。ok 关关 键键 字字数据类型说数据类型说明符与修饰明符与修饰符符boolcharwchar_tclassconstdoubleenumfloatintlongshortsignedstructunionunsignedvoidvolatile存储类型说存储类型说明符明符autoexterninlineregisterstatic访问说明符访问说明符friendprivateprotectedpublic其它说明符其它说明符asm explicit namespace operator template thistypedeftypena
6、meusingvirtual 语句与标号语句与标号breakcasecatchcontinuedefaultdoelseforgotoifreturnswitchthrowtrywhile 运算符及逻运算符及逻辑值辑值deletefalsenewsizeoftrue表表2-1 C+2-1 C+常用关键字及分类常用关键字及分类 ok 关关 键键 字字2.1.2结束 还有一些关键字本书未介绍:还有一些关键字本书未介绍:const_cast dynamic_cast reinterpret_cast static_cast export mutable typeid 下面可用一些关键字代替逻辑运算符
7、:下面可用一些关键字代替逻辑运算符:and and_eq bitand bitorCompl not or or_eqXor xor_eq not_eq2.1.3 标识符标识符标识符(标识符(IdentifierIdentifier,ID ID)是程序员定义是程序员定义的的“单词单词”,用来给变量、常量、数据类型、,用来给变量、常量、数据类型、函数等命名。函数等命名。合法标识符合法标识符由由字母或下划线字母或下划线开始开始,由,由字母、字母、数字、下划线数字、下划线组成,其有效组成,其有效长度为长度为1 13131个字个字符符,长度超过,长度超过3131个字符者只识别个字符者只识别前前3131
8、个字符个字符,VC+VC+标识符长度为标识符长度为1 1247247个字符个字符。建议使用有一定含义的英文单词或拼音序建议使用有一定含义的英文单词或拼音序列作标识符,以提高列作标识符,以提高可读性可读性;另外尽量不用下;另外尽量不用下划线或双下划线打头,以免与系统定义的关键划线或双下划线打头,以免与系统定义的关键字冲突。字冲突。ok标识符标识符例例:判断下面哪些是合法的标识符:判断下面哪些是合法的标识符:MyFileSalary94amountvoid94SalarySalary94$amountf3.5Num_of_Student2.1.3结束2.1.4 标点符号标点符号标点符号包括标点符号
9、包括:#、()、,、,、:、:、;、;、等。等。标点符号的作用标点符号的作用:有一定的语法意义。如字符和字符串有一定的语法意义。如字符和字符串常量分别用常量分别用和和“”引起来。引起来。对语法符号起分隔作用。如对语法符号起分隔作用。如;等;等2.1.4结束2.2 C+中的数据类型中的数据类型图图2-1C+的的数据结构数据结构实实型型float双精度型双精度型doubleC+的数的数据类型据类型基本数据基本数据类型类型非基本数非基本数据类型据类型数组数组type指针指针type*结构结构struct联合联合union枚举枚举enum类类class整整型型int字符型字符型char逻辑型逻辑型bo
10、ol无值型无值型void实实型型ok C+C+对基本数据类型也分别进行了封装,称对基本数据类型也分别进行了封装,称为为内置数据类型内置数据类型,内置数据类型不仅定义了数据,内置数据类型不仅定义了数据类型,类型,还定义了还定义了常用操作常用操作。本节仅介绍各种基本。本节仅介绍各种基本数据类型的定义,常用操作将在后面介绍。数据类型的定义,常用操作将在后面介绍。C+C+为强类型语言,所有数据的使用严格遵从为强类型语言,所有数据的使用严格遵从“先说明后使用先说明后使用”的原则,以便编译器进行编译。的原则,以便编译器进行编译。整型整型用来存放整数,整数(有符号的整数)用来存放整数,整数(有符号的整数)在
11、内存中存放的是它的补码,无符号数没有符在内存中存放的是它的补码,无符号数没有符号位,存放的就是原码。整数占用的字节数与号位,存放的就是原码。整数占用的字节数与机型有关,机型有关,3232位机上占用位机上占用4 4个字节。个字节。字符型字符型用来保存字符,存储的是该字符的用来保存字符,存储的是该字符的ASCIIASCII码,码,占用一个字节。如大写字母占用一个字节。如大写字母A A的的ASCIIASCII码为码为6565,在对应的,在对应的一个字节中存放的就是一个字节中存放的就是6565。字符型数据从本质上说也是。字符型数据从本质上说也是整数,可以是任何一个整数,可以是任何一个8 8位二进制整数
12、。位二进制整数。由于汉语系字符很多,用由于汉语系字符很多,用ASCIIASCII字符集处理远远不够,字符集处理远远不够,因此又创立了双字节字符集(因此又创立了双字节字符集(DBCSDBCS:double-byte double-byte character setcharacter set),每个字符用两个字节来编码。为便于),每个字符用两个字节来编码。为便于软件的国际化,国际上一些知名公司联合制定了新的宽软件的国际化,国际上一些知名公司联合制定了新的宽字节字符标准字节字符标准UnicodeUnicode。该标准中所有字符都是双字。该标准中所有字符都是双字节的,不同的语言和字符集分别占用其中一
13、段代码。这节的,不同的语言和字符集分别占用其中一段代码。这种用统一编码处理西文、中文及其它语言符号,就是种用统一编码处理西文、中文及其它语言符号,就是unicodeunicode码。码。C+C+同时也支持宽字符类型(同时也支持宽字符类型(wchar_twchar_t),或),或称双字节字符型称双字节字符型。实型实型和和双精度型双精度型都用来存放实数,两者表示的实数都用来存放实数,两者表示的实数精度不同。实数在内存中以规范化的浮点数存放,包括尾精度不同。实数在内存中以规范化的浮点数存放,包括尾数、数符和阶码。数的精度取决于尾数的位数,数、数符和阶码。数的精度取决于尾数的位数,32位机位机上实型为
14、上实型为23位(因规范化数的数码最高位恒为位(因规范化数的数码最高位恒为1,不必存,不必存储,实际为储,实际为24位),双精度为位),双精度为52位。位。逻辑型逻辑型也称也称布尔型布尔型,其取值为,其取值为true(逻辑真)和(逻辑真)和false(逻(逻辑假),存储字节数在不同编译系统中可能有所不同,辑假),存储字节数在不同编译系统中可能有所不同,VC+6.0中为中为1个字节。布尔型在运算中可以和整型相互转个字节。布尔型在运算中可以和整型相互转化,化,false对应为对应为0,true对应为对应为1或非或非0无值型无值型主要用来说明函数的返回值类型,将在函数一章中主要用来说明函数的返回值类型
15、,将在函数一章中具体介绍。具体介绍。基本数据类型还可以加上一些修饰词,包括:基本数据类型还可以加上一些修饰词,包括:signed(有符号)、(有符号)、unsigned(无符号)、(无符号)、long(长)、(长)、short(短)。参见下表:(短)。参见下表:2.2结束 类类型型名名称称占用字节数占用字节数取取值值范范围围bool布尔型布尔型true,false(signed)char有符号字符型有符号字符型1-128 127unsigedchar无符号字符型无符号字符型10 255(signed)short(int)有符号短整型有符号短整型2-32768 32767unsignedshor
16、t(int)无符号短整型无符号短整型20 65535(signed)int(signed)有符号整型有符号整型4-231(231-1)unsigned(int)无符号整型无符号整型40(232-1)(signed)long(int)有符号长整型有符号长整型4-231(231-1)unsignedlong(int)无符号长整型无符号长整型40(232-1)float实型实型4-1038 1038double双精度型双精度型8-10308 10308longdouble长双精度型长双精度型8-10308 10308void无值型无值型0无值无值VC+中所有基本数据类型所有基本数据类型2.3 常量和
17、变量2.3.1 变 量2.3.2 字面常量2.3.3 常变量及常量说明符const在程序中,常量和变量是用来表示数据的;在程序中,常量和变量是用来表示数据的;常量又分为字面常量、常变量;常量又分为字面常量、常变量;ok2.3.1 变 量1 1 变量说明变量说明 2 2 变量赋初值变量赋初值 变量变量,在程序中是指可以改变值的量;,在程序中是指可以改变值的量;变量必须用标识符进行标识,称为变量必须用标识符进行标识,称为变量名变量名;变量有变量有类型类型之分,如整形变量、字符变量等;之分,如整形变量、字符变量等;任何变量都必须任何变量都必须先说明后使用先说明后使用;一是便于编译;一是便于编译程序为
18、变量分配空间,二是便于编译时进行语程序为变量分配空间,二是便于编译时进行语法检查;法检查;变量使用的第一步,是给变量赋变量使用的第一步,是给变量赋初始值初始值;ok1变量说明 在在C+C+中,变量说明的一般格式为:中,变量说明的一般格式为:存储类型存储类型数据类型数据类型 变量名变量名1 1,变量名变量名2,2,变量名变量名n n;下面是变量说明的几个例子:下面是变量说明的几个例子:inti,j,k;/说明三个整型变量说明三个整型变量i,j,kfloatx,y,z;/说明三个实型变量说明三个实型变量x,y,zcharc1,c2;/说说明明两两个个字字符符型型变变量量c1,c2doubledx;
19、/说明一个双精度型变量说明一个双精度型变量dx变量说明 结束 2变量赋初值(1 1)变量说明时直接赋初值。变量说明时直接赋初值。例如:例如:intint a=3,b=4,c=5;a=3,b=4,c=5;float x=3.0float x=3.0;(2 2)用用赋赋值值语语句句赋赋初初值值。严严格格的的说说,只只有有前前者可称赋初值者可称赋初值例如:例如:float x,e;float x,e;x=3.5;x=3.5;e=2.71828;e=2.71828;2.3.1结束 给变量赋初值称为初始化,有两种方法:给变量赋初值称为初始化,有两种方法:2.3.2 字面常量1.1.整型常量整型常量 4.
20、4.字符串常量字符串常量3.3.字符型常量字符型常量2.2.实型常量实型常量字面常量字面常量,指程序中直接给出的量;,指程序中直接给出的量;常量的值在程序执行过程中保持不变;并且常量的值在程序执行过程中保持不变;并且存储在程序区存储在程序区,而非数据区;,而非数据区;根据取值和表示方法的不同,可分为以下几根据取值和表示方法的不同,可分为以下几种:种:ok1.整型常量十进制表示法十进制表示法八进制表示法八进制表示法十六进制表示法十六进制表示法其他表示法其他表示法即整数,可以有多种表示方法:ok 整数的十进制表示方法十进制表示与我们熟悉的书写方式相同。十进制表示与我们熟悉的书写方式相同。如如15
21、-24ok 整数的八进制表示 八八进进制制表表示示以以0 0开开始始,由由数数字字0 0 7 7组组成成,用用来来表示一个八进制数。表示一个八进制数。如:如:012012/八进制数八进制数1212,即十进制数,即十进制数1010-0655-0655/八进制数八进制数-655-655,即十进制数,即十进制数-429-429ok 整数的十六进制表示 十十六六进进制制以以0X0X(大大小小写写均均可可)开开始始,由由数数字字0 0 9 9和和字字母母A A F F(大大小小写写均均可可)组组成成,用用来来表示一个十六进制数。表示一个十六进制数。以下是一些以下是一些常整数常整数的例子:的例子:0 x3
22、2A /0 x32A /十六进制数十六进制数32A32A,即十进制数,即十进制数810810-0 x2fe0 /-0 x2fe0 /十六进制数十六进制数-2fe0-2fe0,/即十进制数即十进制数-12256-12256ok整数的其他表示方法 整整型型常常量量还还可可以以表表示示长长整整数数和和无无符符号号整整数数。长长整整型型常常数数以以 L L 或或 l l 结结尾尾,无无符符号号常常整整数数以以 U U 或或 u u 结结尾尾,以以 U U L L 或或 L L U U(大大小小写写均均可可)结尾则可表示无符号长整型常数。结尾则可表示无符号长整型常数。例如:例如:-84L-84L/十进制
23、长整数十进制长整数-84-84026U026U/八进制表示的无符号整数八进制表示的无符号整数26260X32LU/0X32LU/十六进制表示的无符号长整型数十六进制表示的无符号长整型数3232。整数 结束 2.实型常量(1)1)一一般般形形式式与与平平时时书书写写形形式式相相同同,由由数数字字 0 0 9 9和小数点组成和小数点组成。例如:。例如:0.23 -125.76 0.0 .46 -35.0.23 -125.76 0.0 .46 -35.(2)(2)指数形式(也称为科学表示法)指数形式(也称为科学表示法)表示为表示为尾尾数乘以数乘以1010的次方形式,由的次方形式,由尾数尾数、E E或
24、或e e和和阶数阶数组组成成。指数形式要求在。指数形式要求在E E或或e e前面的前面的尾数部分必须尾数部分必须有数字有数字,后面的,后面的指数部分必须为整数指数部分必须为整数。例例 :判断下列表示是否合法判断下列表示是否合法123E12-.34e-2 E4 1.43E3.5 包含小数点和包含小数点和1010的幂的数为实型常量,有的幂的数为实型常量,有两种表示方法:两种表示方法:实数实数 结束结束3.字符型常量 字字符符常常量量是是用用单单引引号号引引起起来来的的单单个个字字符符。在在内内存存中中保保存存的的是是字字符符的的ASCIIASCII码码值值。在在所所有有字字符符中中,有有些些是是可
25、可显显示示字字符符,通通常常就就用用单单引引号号引引起起来表示:来表示:a a/字符字符a a /字符字符 44/字符字符4 4 /空格字符空格字符有有些些是是特特殊殊情情况况字字符符,如如不不可可显显示示的的字字符符等等,c+c+使使用用转转义义序序列列表表示示方方法法,如如(祥祥见见表表2-32-3,此处略):此处略):n n/换行换行 /字符字符 字符常字符常 结束结束 4.字符串常量字符串常量与字符型常量的区别字符串常量与字符型常量的区别字符串常量字符串常量aa占两个字节,存放占两个字节,存放aa和和 0 0,值为,值为0 x61000 x6100字符型常量字符型常量aa占一个字节,存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二章 基础知识 第二
限制150内