《c程序设计基础》第二章-基本数据类型与表达式.ppt
《《c程序设计基础》第二章-基本数据类型与表达式.ppt》由会员分享,可在线阅读,更多相关《《c程序设计基础》第二章-基本数据类型与表达式.ppt(152页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C+程序设计基础程序设计基础第第2 2章章 基本数据类型与表达式基本数据类型与表达式北京邮电大学信通院北京邮电大学信通院方莉方莉2v程序中最基本的程序中最基本的元素元素是数据类型,是数据类型,v根据数据类型可以为根据数据类型可以为变量变量或或常量常量分配内存空分配内存空间间,v将将变量变量、常量常量和和运算符运算符结合在一起组成结合在一起组成表达表达式式,进行复杂的运算和处理。,进行复杂的运算和处理。第第2 2章章 基本数据类型与表达式基本数据类型与表达式3v主要内容主要内容如何定义和使用如何定义和使用变量变量和和常量常量?如何使用如何使用表达式表达式?如何使用如何使用输入输入和和输出流输出流
2、?如何使用如何使用stringstring类型处理类型处理字符串字符串?第第2 2章章 基本数据类型与表达式基本数据类型与表达式4第第2 2章章 基本数据类型与表达式基本数据类型与表达式 2.1 2.1 词法记号和标识符词法记号和标识符1 2.2 2.2 基本数据类型基本数据类型2 2.3 2.3 变量和常量变量和常量3 2.4 2.4 运算符和表达式运算符和表达式4 2.5 2.5 基本输入输出基本输入输出5 2.2.6 6 使用使用stringstring类型处理字符串类型处理字符串652.1 2.1 词法记号和标识符词法记号和标识符1 1、C+C+字符集字符集2 2、C+C+关键字关键字
3、3 3、标识符、标识符4 4、分隔符、分隔符5 5、空白、空白62.1 2.1 词法记号和标识符词法记号和标识符1 1、C+C+字符集字符集v英文字母:英文字母:AZAZ,azazv数字字符:数字字符:0909v特殊字符:特殊字符:+-*/%=!+-*/%=!#&|_|_ “;.;.,(),()空格空格72.1 2.1 词法记号和标识符词法记号和标识符2 2、C+C+关键字关键字1 1)什么是关键字?什么是关键字?预先定义好的预先定义好的标识符标识符,C+C+编译器对其进行特编译器对其进行特殊处理。殊处理。auto,bool,break,case,catch,char,class,cons
4、t,contauto,bool,break,case,catch,char,class,const,continue,default,delete,do,inue,default,delete,do,.,while (.,while (P P11-1211-12)2 2)如何识别关键字?如何识别关键字?使用使用VC+6.0(VC2005)VC+6.0(VC2005)的编辑环境时,缺省是的编辑环境时,缺省是蓝色的蓝色的字符字符即为关键字。即为关键字。82.1 2.1 词法记号和标识符词法记号和标识符v3 3、标识符、标识符 标标识识符符是是程程序序员员声声明明的的单单词词,它它命命名名程程序序正
5、正文文中中的的一一些些实实体体,如如函函数数名名、变变量量名名、类类名名、对对象象名名等等。C+C+标识符的标识符的构成规则构成规则如下:如下:1 1、不能是、不能是C+C+的的关键字关键字;2 2、第一个字符必须是、第一个字符必须是大写、小写字母或下划线大写、小写字母或下划线;3 3、不包含空格和、不包含空格和“+、-、;、;”等等特殊字符特殊字符;4 4、为方便输入,长度一般、为方便输入,长度一般不超过不超过3131个字符个字符。92.1 2.1 词法记号和标识符词法记号和标识符 例如:例如:合法的标识符:合法的标识符:appleapple、_Student_Student、_123_12
6、3、No1No1、max_nummax_num 不合法的标识符:不合法的标识符:5151jobjob、maxmax numnum、-abcabcC+C+的表示符是大小写敏感的,即的表示符是大小写敏感的,即abcABCabcABC。102.1 2.1 词法记号和标识符词法记号和标识符v4 4、分隔符、分隔符 分分隔隔符符用用于于分分隔隔程程序序中中的的正正文文,在在C+C+中中使使用用下下列字符作为分隔符:列字符作为分隔符:()(),:;这这些些分分隔隔符符不不表表示示实实际际的的操操作作,仅仅用用于于构构造造程程序序。比如比如“;”,用来作为一句,用来作为一句完整语句的结束完整语句的结束。11
7、2.1 2.1 词法记号和标识符词法记号和标识符v5 5、空白、空白 在在C+C+语语句句中中经经常常出出现现空空白白(制制表表符符、空空格格、空空行)等,通常都忽略不计。行)等,通常都忽略不计。例如:例如:x=a+bx=a+b;也可写成:也可写成:x=x=a+b a+b;或或 x=ax=a +b +b;v合法合法v但不直观,缺乏但不直观,缺乏可读性可读性v使用空格要适当使用空格要适当12第第2 2章章 基本数据类型与表达式基本数据类型与表达式 2.1 2.1 词法记号和标识符词法记号和标识符1 2.2 2.2 基本数据类型基本数据类型2 2.3 2.3 变量和常量变量和常量3 2.4 2.4
8、 运算符和表达式运算符和表达式4 2.5 2.5 基本输入输出基本输入输出5 2.2.6 6 使用使用stringstring类型处理字符串类型处理字符串6132.2 2.2 基本数据类型基本数据类型v 什么是数据类型?什么是数据类型?数据是程序处理的对象,根据数据是程序处理的对象,根据数据本身的特点数据本身的特点进进行行分类分类,从而形成不同的数据类型。,从而形成不同的数据类型。例如:数学中有例如:数学中有自然数自然数、整数整数、实数实数v不同类型的数据有不同的表示和处理方法,具有不同类型的数据有不同的表示和处理方法,具有不同运算规则。不同运算规则。142.2 2.2 基本数据类型基本数据类
9、型v基本数据类型基本数据类型整型:整型:int int 字符型:字符型:char char、wchar_twchar_t实型:实型:floatfloat、double double 逻辑型:逻辑型:boolbool152.2 2.2 基本数据类型基本数据类型v自定义数据类型自定义数据类型数组:数组:type type 指针:指针:type*type*引用:引用:type&type&空类型:空类型:voidvoid结构:结构:structstruct联合:联合:unionunion枚举:枚举:enumenum类:类:classclass162.2 2.2 基本数据类型基本数据类型v修饰符修饰符
10、在在C+C+中描述为了更加准确的描述数据类型,提中描述为了更加准确的描述数据类型,提供了供了4 4个关键字个关键字用来修饰用来修饰基本数据类型基本数据类型:1 1、长型、长型 longlong 2 2、短型短型 shortshort 3 3、有符号有符号 signedsigned 4 4、无符号无符号 unsignedunsigned171 1、shortshort:仅仅用用来来修修饰饰intint,称称为为短短整整型型,占占2 2字字节节内内存存,也也可可直直接接简写为简写为shortshort;2 2、longlong:仅仅修修饰饰intint和和doubledouble,因因为为在在不不
11、同同的的编编译译环环境境中中使使用用longlong修修饰饰的的数数据据所所占占内内存存不不同同,这这里里列列出出的的是是在在VC+6.0(vc2005)VC+6.0(vc2005)的环境下的。的环境下的。3 3、unsignedunsigned:用用来来修修饰饰charchar、shortshort和和intint,表表示示该该数数据据类类型型为为无无符符号号数。数。4 4、signedsigned:用用来来修修饰饰charchar、shortshort和和intint,表表示示该该数数据据类类型型为为有有符符号号数,为缺省设置。数,为缺省设置。2.2 2.2 基本数据类型基本数据类型182
12、.2 2.2 基本数据类型基本数据类型v数据类型与内存空间数据类型与内存空间不同的不同的数据类型数据类型,加上不同的,加上不同的修饰符修饰符就具有了不同的特就具有了不同的特点,在内存中点,在内存中占用的空间也不同占用的空间也不同,因而其所能,因而其所能表示的数表示的数值范围也不尽相同值范围也不尽相同。内存单元的单位是内存单元的单位是字节字节,因此用来表示数据类型的长度,因此用来表示数据类型的长度的单位也是的单位也是字节字节。192.2 2.2 基本数据类型基本数据类型v注意注意 特特定定数数据据类类型型在在内内存存中中占占用用的的内内存存因因机机器器的的不同而不同。不同而不同。整型整型inti
13、nt的长度等于机器的字长:的长度等于机器的字长:16 16位机:位机:intint=2=2字节;字节;32 32位机:位机:intint=4=4字节。字节。但但是是shortshort和和longlong表表示示的的数数据据长长度度是是固固定定的的,任任何何支支持持标标准准C+C+的的编编译译器器都都是是如如此此,因因而而如如果果需需要要编编写写可可移移植植性性好好的的程程序序,应应将将整整型型声明为声明为shortshort或或longlong。202.2 2.2 基本数据类型基本数据类型数据类型数据类型字宽字宽取值范围取值范围说明说明charchar(signed signed charc
14、har)1 1-128127-128127有符号字符有符号字符unsigned charunsigned char1 102550255无符号字符无符号字符short intshort int2 2-2-21515221515-1-1短整型短整型unsigned short intunsigned short int2 202021616-1-1无符号短整型无符号短整型212.2 2.2 基本数据类型基本数据类型数据类型数据类型字宽字宽取值范围取值范围说明说明intint(signed intsigned int)4 4-2-23131223131-1-1整型整型unsigned intuns
15、igned int4 402023232-1-1无符号整型无符号整型long intlong int4 4-2-23131223131-1-1长整型长整型unsigned long intunsigned long int4 402023232-1-1无符号长整型无符号长整型floatfloat4 4-3.410-3.41038 38 3.4103.4103838浮点型浮点型doubledouble8 8-1.710-1.710308 308 1.7101.710308308双精度型双精度型long doublelong double8 8-1.710-1.710308 308 1.7101.
16、710308308长双精度型长双精度型22例例2.2.1 1:输出数据类型的长度:输出数据类型的长度v例题例题 编写一个程序,输出基本数据类型编写一个程序,输出基本数据类型char,int,float,char,int,float,double,booldouble,bool的长度,即的长度,即所占字节数所占字节数。v提示:提示:使用使用sizeof(sizeof(数据类型数据类型)能够获取不同数据类型的长能够获取不同数据类型的长度。度。23/例例2-12-1:输出基本数据类型的长度:输出基本数据类型的长度#include#include using namespace std;using n
17、amespace std;void main()void main()coutchar coutchar :sizeof(char)sizeof(char)字节字节n;n;coutint coutint :sizeof(int)sizeof(int)字节字节n;n;coutfloat coutfloat:sizeof(float)sizeof(float)字节字节n;n;coutdoublecoutdouble:sizeof(double)sizeof(double)字节字节n;n;coutbool coutbool :sizeof(bool)sizeof(bool)字节字节n;n;例例2.2
18、.1 1:输出数据类型的长度:输出数据类型的长度在在32位机上运行结果位机上运行结果 char :1字节字节 int :4字节字节 float :4字节字节 double :8字节字节 bool :1字节字节24第第2 2章章 基本数据类型与表达式基本数据类型与表达式 2.1 2.1 词法记号和标识符词法记号和标识符1 2.2 2.2 基本数据类型基本数据类型2 2.3 2.3 变量和常量变量和常量3 2.4 2.4 运算符和表达式运算符和表达式4 2.5 2.5 基本输入输出基本输入输出5 2.2.6 6 使用使用stringstring类型处理字符串类型处理字符串6252.3 2.3 变量
19、和常量变量和常量v概述概述 程序所处理的数据不仅分为不同的数据类型,而程序所处理的数据不仅分为不同的数据类型,而且每种类型的数据还分为且每种类型的数据还分为变量变量和和常量常量。程序在运。程序在运行中就是通过这些变量和常量来操作数据的。行中就是通过这些变量和常量来操作数据的。v什么是变量?什么是变量?在在C+C+中,变量是中,变量是存储信息存储信息的地方。变量的实质的地方。变量的实质是内存中的一个地址空间,在这个地址空间中可是内存中的一个地址空间,在这个地址空间中可以进行数据的以进行数据的存储和读取存储和读取。26变量定义的格式变量定义的格式v变量定义的格式:变量定义的格式:数据类型数据类型
20、变量名变量名1 1,变量名,变量名2 2,变量名变量名n n;v例如:定义各种类型的变量例如:定义各种类型的变量 int num;int num;float f;float f;char ch;char ch;short s;short s;double area,length;double area,length;27变量定义的格式变量定义的格式v 定义变量的实质定义变量的实质 例如:例如:int num;int num;系系统统根根据据所所指指定定的的数数据据类类型型intint,从从地地址址xxxxxxxHxxxxxxxH开开始始,为为变量变量numnum分配分配4 4个字节单元。个字节
21、单元。变变量量numnum的的取取值值范范围围为为 2 231312 23131 1 1。28变量定义的格式变量定义的格式v 定义变量的实质定义变量的实质 例如例如 int num;int num;编编程程时时,可可以以直直接接使使用用变变量量名名numnum对对存存储储在在该该内内存存空空间间的的数数据,也就是变量值进行存取。据,也就是变量值进行存取。变变量量名名和和地地址址xxxxxxxHxxxxxxxH之之间间的对应关系由系统来管理。的对应关系由系统来管理。29变量定义的格式变量定义的格式v说明说明在在创创建建或或定定义义变变量量时时,需需要要指指明明该该变变量量的的数数据据类型和名称类
22、型和名称。数数据据类类型型:决决定定变变量量的的存存储储方方式式和和可可以以进进行行的操作;的操作;变量名称变量名称:用来区分不同的变量。:用来区分不同的变量。例如:例如:short short intint s;s;double area,length;double area,length;变量一旦被定义,则系统自动为其分配应占的内存。变量一旦被定义,则系统自动为其分配应占的内存。30变量定义的格式变量定义的格式v说明说明在在C+C+程程序序中中使使用用变变量量,必必须须“先先定定义义或或声声明明,后使用后使用”,而且只能定义一次。,而且只能定义一次。变变量量定定义义语语句句的的位位置置,C
23、+C+中中没没有有要要求求,放放在在第一次使用该变量之前的任何位置均可以第一次使用该变量之前的任何位置均可以。v建议:把变量定义语句放在首次使用它的建议:把变量定义语句放在首次使用它的地方,这样可以提高程序的可读性。地方,这样可以提高程序的可读性。31变量名称的定义变量名称的定义v变变量量名名称称的的定定义义遵遵循循标标识识符符定定义义的的规规则则,实实际际上上变变量量名名称称就就是是一一种种标标识识符符。常常用用的的命命名名约约定定有有三三种:种:1 1、UnixUnix环境常用的命名法环境常用的命名法 my_agemy_age、num_of_studentnum_of_student 2
24、2、驼峰式命名法、驼峰式命名法 mymyA Agege、numnumOOf fS Studenttudent 3 3、匈牙利标记法、匈牙利标记法 iMyCariMyCar、ipMyCaripMyCar32给变量赋值给变量赋值v赋值赋值 使用赋值运算符使用赋值运算符“=”可以将一个值赋给变量。可以将一个值赋给变量。先定义后赋值,先定义后赋值,定义同时初始化定义同时初始化 例如:例如:unsigned short age;unsigned short age;age=18;age=18;或者或者 unsigned short age=18;unsigned short age=18;33给变量赋值
25、给变量赋值v可可以以一一次次定定义义多多个个相相同同数数据据类类型型的的变变量量,也也可可以以一次为一次为多个变量初始化多个变量初始化:char ch1=char ch1=a a,ch2=,ch2=b b;int height=10,width=6,area;int height=10,width=6,area;特性:特性:变量可以被多次赋值,但每次赋值变量可以被多次赋值,但每次赋值后,原值都会被新值覆盖。后,原值都会被新值覆盖。34例例2.22.2:赋值运算符的使用:赋值运算符的使用#include include using namespace std;using namespace st
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c程序设计基础 程序设计 基础 第二 基本 数据类型 表达式
限制150内