第周数据类型.ppt

上传人:本田雅阁 文档编号:2540221 上传时间:2019-04-06 格式:PPT 页数:47 大小:1.08MB
返回 下载 相关 举报
第周数据类型.ppt_第1页
第1页 / 共47页
第周数据类型.ppt_第2页
第2页 / 共47页
第周数据类型.ppt_第3页
第3页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第周数据类型.ppt》由会员分享,可在线阅读,更多相关《第周数据类型.ppt(47页珍藏版)》请在三一文库上搜索。

1、1,C + 程序设计教程(第二版),第三章 数据类型 Chapter 3 Data Types,王磊 经济信息工程学院,2,编译过程: 1)启动Visual C+,选择“文件”菜单中的“新建”命令,选择“文件”标签中的“C+ Source File”选项。 2)选择源程序存放的目录和输入源程序名,单击“确定”。 3)在编辑器中编写源程序。 4)单击F7或“编译”中的“重建全部”编译源程序,若编译通过,单击“执行”,在DOS屏上看结果,任按一键返回编辑器。,3,启动VC+编译系统,4,VC+编译系统界面,单击“File”菜单中“New”命令,5,选择“Files”选项卡,选择C+源文件命令,输入

2、文件名,输入文件存放位置,单击选择驱动器,选择驱动器或目录,6,C+源文件编辑界面,输入C+源代码,7,可以将此源代码另起文件名存盘,8,选择编译命令,将源文件.cpp生成.obj文件,9,如果编译出错,会出现提示信息,指出错误的位置及种类,错误所在行,错误的原因,10,双击错误所在行,光标移到该行,11,生成可执行文件,通过后单击该命令运行程序,12,运行结果显示在DOS屏上,注意:不可以在软盘上运行程序!应该把保存在软盘中的源文件拷贝到硬盘的目录中再运行!,13,源程序所在目录,未编译前,只有一个源程序,14,编译运行后,出现众多附加文件,同时,产生一个子目录Debug,15,Debug目

3、录中,有obj和EXE文件,16,常量与变量,常量:在程序运行过程中,其值一直保持不变的量为常量。 常量也区分不同的类型:30,40 为整型,30.0,40.0为实型,编辑器只是根据其表面形式来判断其类型。,变量:在程序运行过程中,其值可以改变的量。 变量在程序的执行中能够赋值,发生变化。变量有一个名字,并在使用之前要说明其类型,一经说明,就在内存中占据与其类型相应的存储单元。,17,#include #define PRICE 30 /常量,在程序中保持不变 void main(void) int num, total; /定义变量,在内存中开辟区间 num=10; /变量赋值,10为常量

4、total=num*PRICE; cout“total=“total; /输出结果 ,其中:num=10 total=num*PRICE,是赋值号,不同于数学意义上的等号。,num,total,10,300,18,数据类型,数据类型: 一定的数据在计算机的内部表示; 该数据所表示的值的集合; 在该数据上的一系列操作。 内部数据类型: 1.整型 长整型,短整型,字符型,布尔型 2.浮点型 单精度,双精度,19,C+中有多种数据类型,均有常量与变量之分,各占不同的内存空间,正确定义与使用数据是编写程序的基本前提。,数据类型,20,变量名的命名方法: 变量名、数组名、函数名称为标识符。 标识符只能由

5、字母、数字、下划线这三种字符组成,且第一个字符必须为字母或下划线,长度不大于247个字符,大小写不通用。(关键字不能作为标识符)。 关键字即是VC+的语法要求中使用的字。 如 int if while 等。 正确的标识符:INT, sum , de12, SUM等。变量必须使用前定义,以分配空间。 举例说明,21,abc English 2xy x-y if Else b(3) def Chine_bb b3y AbsFloat float,一般变量都是用匈牙利命名法命名的。,int nCount; char chChoice;,数据类型,22,数据类型,3.1 整型int 3.2 整型子类

6、3.2.1 字符型char 3.3.3 布尔型bool 3.3 浮点型float,23,整型常量: 常量是根据其表面形式来判定,整型量即是没有小数点的整数,范围:-231(231-1) ,有三种形式: 1)十进制(默认方式) 43 1345 87654 2)八进制 以0开头 043, 056, 011 3)十六进制 以0x开头 0x12 0xa3 0x34 0xdf(举例说明),3.1整型数据,24,#include void main(void) int int10,int8,int16; /定义3个整型变量 int10=10; /默认为十进制 int8=010; /八进制 int16=0x

7、10; /十六进制 cout“int10=“int10endl; cout“int8=“int8endl; cout“int16=“int16endl; ,输出 int10=10 int8=8 int16=16,25,整型变量: (表示范围参见表3-1,3-2) 分为有符号型与无符号型。 有符号型: short 在内存中占两个字节,范围为-215(215-1) int 在内存中占四个字节,范围为-231(231-1) long在内存中占四个字节,范围为-2-31231-1,无符号型:最高位不表示符号位 unsigned short 在内存中占两个字节,范围为0216-1 unsigned in

8、t 在内存中占四个字节,范围为0232-1 unsigned long在内存中占四个字节,范围为0232-1,26,3.2 字符型数据(char),字符型数据实际上是作为整型数据在内存中存储的。 计算机是以字符编码的形式处理字符的,因此,我们在计算机内部是以ASCII码的形式表示所有字符的。所以7位二进制数即可表示出一个字符,我们用一个字节的容量(8位)存储一个字符。,例如:字符A的ASCII码为0x41或65,在内存中表示为:,在程序中表示为: char grade ;/定义一个字符型的变量空间(1个字节) grade=A; /必须用 表示,否则易与标识符混同, 内括起来的字符表示该字符的A

9、SCII码。,27,进一步,由于在内存中的形式与整型数据相同,所以,可以直接用其整型值给变量赋值。,char grade; grade=65;,以下的赋值形式均是等同的。 grade=A; grade=65 ; grade=0x41; grade=0101;,#include void main(void) char a,b; a=A; /输入ASCII码 b=65; /输入十进制数 cout“a=“aendl; cout“b=“bendl; ,输出: a=A b=A,即在内存中的表示均是相同的,28,非打印字符 有些ASCII的字符代表某些操作,不能打印出来,如回车、退格等,可用两种方式表示

10、这些字符。 1)用ASCII码的形式 char re=13; 2)用转义字符 char re=n;(p15),29,30,典型转义字符 : n换行 b 退格 t 下一个输出区 若输出中包含这些特定格式,则再加一个,输出 c:tctc 表示为cout“c:tctc“;,可以用转义字符表示任一一个ASCII字符 ddd (八进制) xhh (十六进制) 101 x41 x61 141,31,#include void main(void) char c1,c2,c3,c4; char n1,n2; c1=a; /字符常量 c2=97; /十进制 c3=x61; /转义字符 c4=0141; /八进

11、制 cout“c1=“c1t“c2=“c2endl; cout“c3=“c3t“c4=“c4endl; n1=n; /转义字符:回车 n2=t; /转义字符:下一个输出区(Tab) cout“使用转义字符n“; cout“c1=“c1n2“c2=“c2n1; cout“c3=“c3n2“c4=“c4n1; ,输出: c1=a c2=a c3=a c4=a 使用转义字符 c1=a c2=a c3=a c4=a,32,表示范围仅含整数和1,也可以表示成true和false, 因为条件表达式、逻辑运算的结果都是或,所以,相当大数量的表达式的值与布尔型对应, 例如, ab的值?,3.2.3 布尔型bo

12、ol,33,3.2.3 布尔型bool,任何非0的整数都可以为bool型变量赋值,其值均为1. bool a=3; /变量a的值为ture或1 bool b=1; /变量b的值为true或1 bool c=a+b; /变量c的值为ture或1 bool d=a-b; /变量d的值为false或0,34,3.3 浮点型数据,浮点型数又称实型数,它的常量有两种表示方式: 1)十进制形式: 23.0 24.5 3.56789 指数形式: 23E1 145e-1 356789e1 e前有数字,后面必须是整数。,实型变量分单精度 float 和双精度 double 两种形式: float:占四个字节,提

13、供78位有效数字。 double: 占八个字节,提供1516位有效数字。,举例说明,35,#include void main(void) float a, b; double c, d; a=0.01; b=3.45678e-2; c=3.45678e-2; d=9.7654e-5; cout“a=“at“b=“bendl; cout“c=“ct“d=“dendl; ,a=0.01 b=0.0345678 c=0.0345678 d=9.7654e-005 Press any key to continue,36,如果为实数,则用浮点数的形式在内存存储,表示如下:,浮点数是既有整数又有小数的

14、数。 浮点数可以表示成:N=SRJ S 称为尾数,尾数决定有效数字,即数字的精度。 J 表示指数(阶码)。 R 是基数,可取2,4,8,16等,对具体机器而言,基数取好后,就不能再变了。 数有正有负, 所以设置数符; 阶码亦有正负, 所以设置阶符,37,一般用4个字节表示一个浮点数,也有用8个字节表示的。,字长一定,尾数越多,精度越高;阶码越多,范围越大。 当计算机中出现小于机器所能表示的最小数时,机器只能当零来处理,当出现超过机器所能表示的最大数时,出现溢出现象,一旦出现溢出,就会停止运算。定点数,浮点数均会出现溢出现象。 参见教材报表3-4理解浮点数的表示范围。,38,3.4 字符串类型:

15、 字符串常量 用“ “表示,在内存中顺序存放,以0结束。 如:“CHINA“,a在内存中占一个字节 “a“占两个字节,实际上内存是对应字符的ASCII码形式,39,3.4 字符串类型:,3.4.3 字符串变量string类型 string是C+的STL提供的一种自定义数据类型, 需要包含文件 #include using namespace std; 定义字符串型变量: string s=“Hello world”; string t;,40,类串string举例: string a, s1 = “Hello “; string s2 = “123“; a = s1; / copy cout(

16、a=s1 ? “ : “ not“)“equaln“; / compare couta+s2endl; / concatenate reverse(a.begin(), a.end(); coutaendl; / reverse couta.replace(0,9,9,c)endl; / set cout(s1.find(“ell“)!= -1 ? “ : “not “)“foundn“;/ find string cout(s1.find(c)!= -1 ? “: “not “)“foundn“; / find char,41,3.5 数组,数组是同一类型的一组值(10个 char 或15个

17、 int) ,在内存中顺序存放。,整个数组共用一个名字,而其中的每一项又称为一个元素。,一、定义方式:,类型说明符 数组名常量表达式; int a4; / 表明a数组由4个int型元素组成,定义类型,数组名称,元素个数,42,int a4; / 表明a数组由4个int型元素组成 其元素分别为:a0, a1, a2, a3 其序号从0开始。若存放首地址为2000H,则在内存中为:,C+不允许对数组的大小作动态的定义,即数组的大小不能是变量,必须是常量。,必须是常数,43,一维数组的初始化,在定义数组的同时给数组元素赋值。,注意: 1、对数组中的一部分元素列举初值,未赋值的部分是0。,int a1

18、0= 0,1, 2, 3, 4, 5;,2、不能给数组整体赋值,只能一个一个地赋值。,int a10= 0,1,2,.,9;,非法,int a10= 0,1, 2, 3, 4, 5,6,7,8,9;,int a10= 0,1, 2, 3, 4, 5, 0, 0, 0, 0;,44,3、可以用 int a = 0,1, 2, 3, 4, 5, 6, 7, 8, 9; 给数组赋值,编译器会自动计算出内的元素项数,并将数组定义为该长度。,4、数组在内存中顺序存放,第一个元素位于地址的最低端。,45,一维数组元素的引用,数组必须先定义,具体引用时(赋值、运算、输出)其元素等同于变量。,void main(void ) int i, a10; for ( i=0; i=0 ; i-) coutait; cout“n”; ,输出:9_ _8_ _7_ _6_ _5_ _4_ _3_ _2_ _1_ _0,定义,赋值,输出,i=0, a0=0,i=1, a1=1,a,0,1,2,i=2, a2=2,9,i=9, a9=9,46,3.7. 5 引用 ( Reference ),引用必须初始化,因为引用总是附属于某个实体 int someInt = 5; int 结果为: 8 引用多用在函数参数的传递上,47,课后作业:,预习教材第2章、第4章,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1