基本数据类型及输入输出.ppt_第1页
基本数据类型及输入输出.ppt_第2页
基本数据类型及输入输出.ppt_第3页
基本数据类型及输入输出.ppt_第4页
基本数据类型及输入输出.ppt_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,2,第二章,基本数据类型及输入输出,数据是程序处理的基本对象 在程序中每种数据都应有确定的类型 每种数据类型的变量都有确定的存储长度、取值范围及允许的操作。 C+具有数据类型检查与控制机制; C+具有控制I/O流机制,以完成输入输出的操作管理。 2. C+的字符集(CHARACTER SET) 每种语言都使用一组字符构造程序的基本单元, C+的字符集由下列字符组成: 大小写英文字母 和 数字字符 其他字符 * & ( ), ? 等,.标识符和关键字 (Identifiers and Reserved words) 程序设计语言中为变量、常量、类型、函数等 取的名字称为标识符。 标识符由大小写字母、数字和下划线组成,并 且只能以字母或下划线开始。 关键字是编译器已预定义好的,具有特定含义 的标识符,也称为保留字。 如: int char float double if else switch for while do class const delete new friend private public protected this virtual 等,2.1.2 词法及词法规则,1) C+的字符集 大小写英文字母、数字字符 特殊字符: 空格 ! # % ? “ ( ) ,2) 单词及词法规则 单词又称词法记号,它是由若干字符组成的具有一定意义的最小词法单元。 C+共有6种单词:,标识符,关键字,运算符,分隔符,常量,注释符,以字母或下划线开始 长度是任意的 大小写字符是有区别的 尽量使用有意义的单词作标识符 用户不能使用系统已预定义的标识符,关键字是系统预定义的单词,用户不可重新定义。,运算符实际是系统预定义的函数名,将它作用于被操作的对象,将获得一个结果值。 C+中大多数运算符可以重载。,分隔符即标点符号,如空格、,、;、:、等。,常量是在程序中直接使用符号表示的数据,有数字常量、字符常量、字符串常量等。,注释符仅仅对程序起注解和说明的作用,目的是为了便于阅读。在程序编译的词法分析阶段,注释将被从程序中删除。,.基本数据类型(Fundamental data type) 程序中数据分为变量或常量,每个变量或常量都有确定的数据类型。,数 组 type 指 针 type * 空类型 void 结 构 struct 联 合 union 枚 举 enum 类 class,类型修饰符 Short long signed unsigned .变量定义(Variable declaration) 程序中的变量必须先定义后使用,为变量命名时 应符合标识符的规定。 、变量定义方式 ; int numberOfTeacher; char charA, charB; float area, width, length;,标识符的构成,字母、数字和下划线 不能以数字开头,大小写有区别。,例:_under_bar, m9909, t5, b7, Bb等等,问题:下列哪些是正确的标识符? Her_sales ( ) MyAdd ( ) 9_class ( ) class_9 ( ) class 9 ( ) 2h ( ),2、变量赋值与初始化 赋值运算符“=”可用于对变量赋值 unsigned color; color = 16; unsigned color=16; /定义并赋初值 long counter1, counter2=52347; 、类型定义typedef 为已有类型名取一个新名字。 typedef int integer; integer intergerA;,2 变量,变量名 变量类型 变量的值 变量的定义,变量的三个基本要素,变量名的命名规则同标识符。,在定义或说明变量时要指出其类型。变量类型可以是基本数据类型和构造数据类型。,变量有两个有用值:一是变量所表示的数据值,另一个是变量的地址值。,C+中任何一个变量必须在被引用之前定义; C+中可以随时定义变量,不必集中在执行语句之前; 在同一程序块内,不能定义同名变量,不同程序块内可以定义同名变量; 变量可以在定义时初始化。未初始化的变量中有默认值或无效值。,.常量(constants) 、整型常数 整型常数即整型常量,有三种表示方法: 十进制整数 123,-784 八进制整数 0123= 十六进制整数,八进制和十六进制只能表示无符号整数 长整数表示为 123l 123L 无符号整数表示为 123u 、实型常数 即实型常量,也称浮点数。 两种表示方法: ()定点数形式 1.123, 3.1415; ()指数形式 123e5, 123E5都表示 有效位 float (4字节) 7位 double (8字节) 15位 long double (10字节) 19位,3、字符常量(Charater constants) 单引号括起的字符,称为字符常量。 如: a, 9, + 转义字符(Escape Sequences)表示控制字符或 具有特定用途的字符。 a 0x07 响铃 0x27 单引号 n 0x0A 换行 ddd 13位八进制数 t 0x09 制表符 xhh 12位十六进制数 0x5c 反斜杠字符 ” 0x22 双引号 字符常量的初始化 Char c=007, b=r;,在内存中,字符数据以ASCII码存储, int a=b; char c=97; coutendl; 输出:a,4、字符串常量(String Literals) 由一对双引号括起的字符序列称为字符串常量。 “How do you do?” “china” 字符串常量以0结束。,5、枚举常量(Enum constants) 枚举常量可以通过建立枚举类型来定义。 enum color RED,BLUE,GREEN,WHITE,BLACK; 枚举常量是一种符号常量。枚举成员RED,BLUE, GREEN等都是符号常量,枚举成员值按序初始化为0N。 REDBLACK的值分别为0。 也可以指定枚举值 enum colorRED,BLUE=100,GREEN,WHITE,BLACK; 此时,RED 为0,BLUEBLACK分别为100 103。 color point=GREEN; 正确 color point=YELLOW; 错误,6、常量定义 在程序中,常量是指常数或代表固定不变值的名称。 const float pi=3.14159; 常量只能读不能修改,定义时必须初始化。 在语言中定义常量的方法是: define PI 3.14159; 通常,+中定义常量都用const而不用#define 预处理命令。,Overflow (溢位),# include using namespace std; int main(void) int i = 2147483647; cout “i =“ i endl; cout “i+1 = “ i + 1 endl; cout “i+2 = “ i + 2 endl; return 0; ,结果超出了整数可以表示的范围了!,Overflow (溢位,溢出),解决方式,检查数值范围 run-time error 用较大的资料型态来表示 自动型态转换 (automatic type conversion) short - int, long,2. I/O流控制 、I/O的书写格式 I/O流是指输入输出的一系列数据流。 输出使用插入操作符“”从cin输入流中抽取字符。 int myage; cin myage; 又如: int i; float f; long l; cin i f l; cin 能抽取输入变量的类型,i, f, l分别接收输入的整型,浮点型 和长整型。,、使用控制符控制输出格式 输出流的缺省位数为六位有效位。如需指定的 输出方式,可使用控制符。 控制符是在头文件iomanip.h中定义的对象,可直接 插入流中。使用控制符时,应在程序的头上加上头文件。 下面是一些常用的控制字符:,例、设置输出宽度 cout setw(8) 10 20 endl; 输出结果是: 若数值10和20均按照宽度8输出,则 cout setw(8) 10 setw(8) 20 endl; 输出结果是: 如果一个值的位数大于setw(n)确定的宽度位数,则按原宽度输出 。 float amount = 4.53671; count setw(4) amount endl; 输出结果是:,_ _ _ _ _ _1020,_ _ _ _ _ _ 10_ _ _ _ _ _20,4.53671,例2、输出八进制,十六进制和十进制数 #include #include void main( ) int number=1001; cout “Decimal:” decnumberendl “Hexadecimal:”hexnumberendl “Octal:”octnumberendl “Hexadecimal:”hex setiosflags(ios:uppercase) numberendl; ,Decimal:1001 Hexadecimal:3e9 Octal:1751 Hexadecimal:3E9,输出结果:,例3、用字符填充输出宽度 #include #include void main( ) coutsetfill(*) setw(2)25endl setw(3)25endl setw(4)25endl; coutsetfill( ); /恢复缺省设置 输出结果:,25 *25 *25,例4、控制左右对齐输出 缺省时,I/O流以右对齐格式显示 #include #include void main( ) coutsetiosflags(ios:right)setw(5)1setw(5)2 setw(5)3endl; coutsetiosflags(ios:left)setw(5)1setw(5)2 setw(5)3endl; 输出结果为:,_ _ _ _ 1_ _ _ _ 2_ _ _ _ 3 1_ _ _ _2_ _ _ _

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论