C++程序设计第2章.ppt
《C++程序设计第2章.ppt》由会员分享,可在线阅读,更多相关《C++程序设计第2章.ppt(92页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2章章数据类型与表达式数据类型与表达式2.1C+的数据类型的数据类型1、2、程序数据结构算法数据结构数据数据类型3、数据数据常量常量,变量变量4、数据类型、数据类型整型,实型整型,实型例:例:数据结构数据结构整型常量、实型变量整型常量、实型变量数据类型数据类型基本类型基本类型整型整型短整型短整型(shortint)整型整型(int)长整型长整型(longint)字符型字符型(char)浮点型浮点型单精度型单精度型(float)双精度型双精度型(double)长双精度型长双精度型(longdouble)布尔型布尔型(bool)空类型空类型(void)非基本类型非基本类型枚举类型枚举类型(en
2、um)(构造类型构造类型)数组类型数组类型type结构体类型结构体类型(struct)共用体类型共用体类型(union)类类型类类型(class)指针类型指针类型type*引用类型引用类型type&布尔型就是逻辑型,空类型就是无值型。布尔型就是逻辑型,空类型就是无值型。表表2.12.1int 4B int 4B 范围范围unsigned int 4Bunsigned int 4Bshort 2B short 2B unsigned short 2Bunsigned short 2Blong 4B long 4B unsigned long 4Bunsigned long 4Bchar 1B c
3、har 1B unsigned char 1Bunsigned char 1Bfloat 4B float 4B double 8Bdouble 8BLong double 8BLong double 8B说明:说明:1 1)2 2)3 3)4 4)5 5)2.2常量常量2.2.1常量常量常量常量(字面常量或直接常量字面常量或直接常量)-其值不能改变的量称为常量。其值不能改变的量称为常量。例:例:1)整型常量:整型常量:12,0,-32)实型常量:实型常量:-1.23,4.63)字符常量:字符常量:a,d,A(注意:一定用单引号,注意:一定用单引号,单个字符单个字符)数值型常量数值型常量2.2
4、.2数值常量数值常量1.整型常量整型常量1)整型常量的类型整型常量的类型整型常量的数值范围整型常量的数值范围整型常量可看作的类型整型常量可看作的类型可赋给整型变量的类型可赋给整型变量的类型-32768+32767shortshort或或int或或long-214783648214783647intint或或long065535(正数正数)unsignedshortunsignedshort或或unsignedint或或unsignedlong04294967295unsignedintunsignedlong(正数正数)或或unsignedint2)整型常量的表示方式整型常量的表示方式十进制整
5、数:十进制整数:123,-456三种方式三种方式八进制整数:八进制整数:以数字以数字0开头的数,开头的数,0123十六进制整数十六进制整数:以数字以数字0 x开头的数,开头的数,0 x123整型常量后加一个字母整型常量后加一个字母l或或L,则认为是,则认为是long型型2.实型常量实型常量(浮点数浮点数)(1)实型常量的表示方式实型常量的表示方式1)十进制形式十进制形式如:如:0.123,.123,123.0,123.,0.02)指数形式指数形式如:如:123e-3,123E3注意:注意:e或或E之前必须有数字;之前必须有数字;e或或E之后必须为整数。之后必须为整数。例:不合法例:不合法e32
6、.1e3.5.e3e2)实型常量的类型实型常量的类型一般双精度一般双精度double(8B)例:例:2.45678,4523.65可强制定义为可强制定义为float(4B)可在数后加可在数后加f或或F如:如:1.65f或或654.87F,目的:提高运算速度。目的:提高运算速度。也可强制定义为也可强制定义为longdouble(8B)可在数后加可在数后加l或或L如:如:1.65l或或654.87L有效位数3)实型数据内存的存放形式实型数据内存的存放形式(指数形式存放指数形式存放)符号位符号位有效位数有效位数(小数部分小数部分)有效数字有效数字,精度,精度指数部分指数部分指数位数指数位数,数值范围
7、数值范围2.2.3字符常量字符常量1.普通的字符常量普通的字符常量用单引号括起来的一个字符用单引号括起来的一个字符字符常量字符常量,如:如:a?A2.转义字符常量转义字符常量(以以开头的字符序列开头的字符序列)如:如:n(换行换行)endl见表见表2.2例:例:1、101101=182+180=65查查ASCII码表,码表,A2、01212=181+280=10查查ASCII码表,码表,n3、x4242=4161+2160=66查查ASCII码表,码表,B小结:小结:1、整型类型、整型类型short2Bint4Blong4Bunsignedshort2Bunsignedint4Bunsigne
8、dlong4B2、整型常量表示方法、整型常量表示方法(3种种)(可看作的类型可看作的类型)(强制的类型强制的类型)3、实型类型、实型类型float4Bdouble8Blongdouble8B小结小结4、实型常量表示方法、实型常量表示方法(2种种)1)注意内存的存放方式注意内存的存放方式2)可看作的类型可看作的类型(强制的类型强制的类型)5、字符型类型、字符型类型char1Bunsignedchar1B6、字符型常量表示方法、字符型常量表示方法(2种种)3.字符数据在内存中的存储形式及其使用方法字符数据在内存中的存储形式及其使用方法1、存储形式:、存储形式:1)不是把单个字符放入内存单元,而是将
9、该字符的不是把单个字符放入内存单元,而是将该字符的ASCII码码放入内存的存储单元。放入内存的存储单元。2)输出字符时,将输出字符时,将ASCII码转为字符。码转为字符。例:例:charc1;c1=a;在在C+中字符型数据和整型数据之间就可以通用。中字符型数据和整型数据之间就可以通用。例例2.1将字符赋给整型变量。将字符赋给整型变量。#include/包含头文件包含头文件iostream,预处理命令,预处理命令usingnamespacestd;/使用命名空间使用命名空间stdintmain()/主函数首部主函数首部/函数体开始函数体开始inti,j;/定义变量定义变量i=A;/赋值语句赋值语
10、句j=B;/赋值语句赋值语句coutijn;/输出语句输出语句return0;/如程序正常结束,向操作系统返回一个零值如程序正常结束,向操作系统返回一个零值/函数结束函数结束运行结果:运行结果:6566可以看到:可以看到:在一定条件下,字符型数据和整型数据是可以通用的。在一定条件下,字符型数据和整型数据是可以通用的。但是应注意字符数据只占一个字节,但是应注意字符数据只占一个字节,它只能存放它只能存放0255范围内的整数。范围内的整数。(-128127)例例2.2字符数据与整数进行算术运算。字符数据与整数进行算术运算。下面程序的作用是将小写字母转换为大写字母。下面程序的作用是将小写字母转换为大写
11、字母。#include/包含头文件包含头文件iostreamusingnamespacestd;/使用命名空间使用命名空间stdintmain()charc1,c2;c1=a;c2=b;c1=c1-32;c2=c2-32;coutc1c2endl;return0;运行结果为:AB4.字符串常量字符串常量1)用双撇号括起来的部分就是字符串常量。用双撇号括起来的部分就是字符串常量。如字符串常量:如字符串常量:abc,Hello!,a+b,Liping2)内存字节内存字节abc在内存中占在内存中占4个字节个字节(而不是而不是3个字节个字节)。编译系统会在字符串最后自动加一个编译系统会在字符串最后自动
12、加一个0作为字符串作为字符串结束标志。结束标志。但但0并不是字符串的一部分,它只作为字符串并不是字符串的一部分,它只作为字符串的结束标志。的结束标志。有效字符与内存长度。有效字符与内存长度。例:例:coutabcendl;内存:内存:4B输出输出3个字符个字符abc,而不包括,而不包括0。3)字符串有结束标志字符串有结束标志(目的:判断字符串是否结束目的:判断字符串是否结束)结束标志为结束标志为0(空操作空操作)ASCII码码=0(非空格,空格非空格,空格ASCII码码=32)例:例:1)a2Ba1B所以:所以:aaa0注意:注意:(1)字符串常量字符串常量abcn包含几个字符包含几个字符?不
13、是不是5个而是个而是4个字符,其中个字符,其中n是一个转义字符。是一个转义字符。但它在内存中占但它在内存中占5个字节个字节(包括一个包括一个0字符字符)。(2)abcn此时字符包括此时字符包括5个字符,即个字符,即a,b,c,n。(3)如果有以下输出语句:如果有以下输出语句:coutabcnendl;则会输出:则会输出:abc,然后换行。,然后换行。(4)如果有以下输出语句:如果有以下输出语句:coutIsayThankyou!n;则会输出是:则会输出是:IsayThankyou!(5)如果在一个字符串中最后一个字符为如果在一个字符串中最后一个字符为,则表示它是续行符,下一行的字符是该字符串的
14、则表示它是续行符,下一行的字符是该字符串的一部分,且在两行字符串间无空格。一部分,且在两行字符串间无空格。如如:coutWemuststudyC+hard!;则输出则输出:WemuststudyC+hard!小结小结1、字符型类型、字符型类型char1Bunsignedchar1B2、字符型常量表示方法、字符型常量表示方法(2种种)3、字符型在、字符型在ASCII范围内可与整型通用范围内可与整型通用4、字符串常量、字符串常量(内存中有结束标志内存中有结束标志)内存长度内存长度(有效字符长度)有效字符长度)2.2.4符号常量符号常量-用一个标识符代表一个常量的,称为符号常量。用一个标识符代表一个
15、常量的,称为符号常量。注意:注意:1)习惯上,符号常量用大写,变量用小写;习惯上,符号常量用大写,变量用小写;2)符号常量用符号常量用#define命令行定义命令行定义(命令行后无分号,因为:非语句命令行后无分号,因为:非语句)例例2.3求某一物体的总价钱。求某一物体的总价钱。设变量设变量-单价:单价:PRICE(字符常量字符常量)数量:数量:num总价:总价:total#definePRICE30/注意这不是语句,末尾不要加分号注意这不是语句,末尾不要加分号intmain()intnum,total;num=10;total=num*PRICE;couttotal=totalendl;ret
16、urn0;优点:优点:1)含义清楚含义清楚如:如:10,PRICE2)一改全改一改全改#definePRICE402.3变量变量2.3.1什么是变量什么是变量-其值可以改变的量称为变量其值可以改变的量称为变量变量名:变量的名字,有一个存储单元变量名:变量的名字,有一个存储单元(内存地址内存地址)变量值:在该存储单元存放变量的值变量值:在该存储单元存放变量的值使用变量时,须使用变量时,须定义定义初始化初始化如:如:inta;a=3;2.3.2变量名规则变量名规则(标识符标识符)标识符:有效的字符序列,或者说就是一个名字。标识符:有效的字符序列,或者说就是一个名字。可用来标识可用来标识-变量名,符
17、号常量名,函数名,变量名,符号常量名,函数名,数组名,类型名,文件名数组名,类型名,文件名(源文件源文件)1)C+语言规定标识符只能由字母、数字和下划线三种语言规定标识符只能由字母、数字和下划线三种符号组成符号组成,且第一个字母必须为字母或下划线且第一个字母必须为字母或下划线(一般长度一般长度b2)注意:注意:大小写不同大小写不同例:例:sum和和Sum、SUM均为不同的变量。均为不同的变量。3)不能用不能用C+的关键字、系统函数名和类名。例:的关键字、系统函数名和类名。例:int(另:另:iCount,cSex(表示类型表示类型),iint,c-char)2.3.3定义变量定义变量1.C+,
18、变量强制定义,变量强制定义(先定义,后使用先定义,后使用)目的:目的:1)未先定义的,不作为变量名未先定义的,不作为变量名例:例:intstudent;(编译出错编译出错)statent=30;2)每一变量,指定为确定类型,编译时则会分配相应每一变量,指定为确定类型,编译时则会分配相应的存储单元。的存储单元。例:整型变量和实型变量,分配的单元不同。例:整型变量和实型变量,分配的单元不同。2B或或4B4B或或8B3)每一变量属于一个类型,编译时检查运算是否合法。每一变量属于一个类型,编译时检查运算是否合法。例:例:inta,b;floata,b;求余求余a%b(合法合法)a%b(不合法不合法)如
19、:如:4%34.3%3.12.定义变量的形式定义变量的形式定义变量的一般形式是定义变量的一般形式是:变量类型变量类型变量名表列;变量名表列;(shortint,int,longint,unsigned,float,double,char)1)变量名表列指的是一个或多个变量名的序列。变量名表列指的是一个或多个变量名的序列。例例:floata,b,c,d,e;注意注意:各变量间以逗号分隔,最后是分号。各变量间以逗号分隔,最后是分号。2)可以在定义变量时指定它的初值。可以在定义变量时指定它的初值。例例:floata=83.5,b,c=64.5,d=81.2,e;3)只要求在第一次使用该变量之前进行定
20、义即可。也就只要求在第一次使用该变量之前进行定义即可。也就是说,它可以出现在语句的中间,如是说,它可以出现在语句的中间,如:inta;/定义变量定义变量a(在使用在使用a之前定义之前定义)a=3;/执行语句,对执行语句,对a赋值赋值floatb;/定义变量定义变量b(在使用在使用b之前定义之前定义)b=4.67;/执行语句,对执行语句,对b赋值赋值charc;/定义变量定义变量c(在使用在使用c之前定义之前定义)c=A;/执行语句执行语句,对,对c赋值赋值2.3.4为变量赋初值为变量赋初值1.变量初始化变量初始化允许在定义变量时对它赋予一个初值,这称为变量允许在定义变量时对它赋予一个初值,这称
21、为变量初始化。初始化。初值可以是常量,也可以是一个有确定值的表达式。初值可以是常量,也可以是一个有确定值的表达式。例例:floata,b=5.78*3.5,c=2*sin(2.0);2.如果对变量未赋初值,则该变量的初值是一个不可预如果对变量未赋初值,则该变量的初值是一个不可预测的值,即该存储单元中当时的内容是不知道的。测的值,即该存储单元中当时的内容是不知道的。例:若未对例:若未对a和和b赋值,执行输出语句:赋值,执行输出语句:coutabcendl;输出结果可能为输出结果可能为1.48544e-38151.81858(各次运行情况可能不同各次运行情况可能不同)3.初始化不是在编译阶段完成的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序设计
限制150内