数据类型和输入输出幻灯片.ppt
《数据类型和输入输出幻灯片.ppt》由会员分享,可在线阅读,更多相关《数据类型和输入输出幻灯片.ppt(129页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、华南师范大学计算机学院华南师范大学计算机学院 庞雄文庞雄文 2011 2011数据类型和输入输出第1页,共129页,编辑于2022年,星期六3.1 C3.1 C程序的组成程序的组成w/3_1.cppw#include wusing namespace std;wint main()ww coutHello!n;w coutWelcome to c+!n;ww运行结果:运行结果:wHello!wWelcome to c+!第2页,共129页,编辑于2022年,星期六wC程序的组成有1个main函数,是应用程序的入口,程序从main函数的第一行开始运行程序的后缀名是.c或者.cppmain函数可以
2、调用其他函数,包括:自己写的函数标准语言的库函数,要包含对应的定义文件(.h)编译环境提供的库函数,要包含对应的定义文件(.h)3.1 C3.1 C程序的组成程序的组成第3页,共129页,编辑于2022年,星期六 所有的语言系统都是由字符集和规则集组成的“字符”是语言的不可分解的最基本语法单位 由字符可以组成“词”,由词组成“表达式”、“句子”,又由各种句子构成“函数”、“程序”3.2 3.2 标识符标识符第4页,共129页,编辑于2022年,星期六C+语言的字符集是ASCII码的子集,有:26个小写字母:a b c d e f g h i j k l m n o p q r s t u v
3、w x y z26个大写字母:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z10个数字:0 1 2 3 4 5 6 7 8 9其他符号:空格 !#%&()*+-/:;?_|.3.2 3.2 标识符标识符第5页,共129页,编辑于2022年,星期六 单词单词是语言中有意义的最小语法单位。根据形成规则,一个单词由一个或多个字符组成。3.2 3.2 标识符标识符第6页,共129页,编辑于2022年,星期六1关键字关键字又称保留字关键字是系统预定义的单词。C+不允许对关键字重定义。3.2 3.2 标识符标识符C+常用的关键字:auto break
4、 case char class const continue default delete elseenum explicit extern float for friend goto if inline int long new operator private protected public register return short signed sizeof static struct switch this typedef union unsigned virtual void while第7页,共129页,编辑于2022年,星期六2标识符标识符(Identifier)由程序员定
5、义的命名符 3.2 3.2 标识符标识符语法:以字母或下划线开始,由字母、数字和下划线组成语法:以字母或下划线开始,由字母、数字和下划线组成的符号串的符号串 注意注意:break main int 等等不能用于命名程序中的自定义不能用于命名程序中的自定义函数、变量、常量函数、变量、常量(1)不能使用关键字作用户标识符;不能使用关键字作用户标识符;(2)C+中,字母大小写敏感;中,字母大小写敏感;(3)标识符尽可能做到见文知义。标识符尽可能做到见文知义。Aa 和和 aa是两个不同的标识符是两个不同的标识符第8页,共129页,编辑于2022年,星期六2标识符标识符 由程序员定义的命名符 3.2 3
6、.2 标识符标识符语法:以字母或下划线开始,由字母、数字和下划线组成的符号语法:以字母或下划线开始,由字母、数字和下划线组成的符号串串 例例 判断以下标识符的正确性:判断以下标识符的正确性:合法标识符有:合法标识符有:a x1 no_1 _a2c sum Name name不合法标识符有:不合法标识符有:2a x+y a,b a&b const 第9页,共129页,编辑于2022年,星期六3.2 3.2 标识符标识符例例 判断以下标识符的正确性:判断以下标识符的正确性:合法标识符有:合法标识符有:a x1 no_1 _a2c sum Name name不合法标识符有:不合法标识符有:2a x+
7、y a,b a&b const 它们是不同的标识符2标识符标识符 由程序员定义的命名符 语法:以字母或下划线开始,由字母、数字和下划线组成的符号串语法:以字母或下划线开始,由字母、数字和下划线组成的符号串 第10页,共129页,编辑于2022年,星期六3.2 3.2 标识符标识符例例 判断以下标识符的正确性:判断以下标识符的正确性:以数字开头合法标识符有:合法标识符有:a x1 no_1 _a2c sum Name name不合法标识符有:不合法标识符有:2a x+y a,b a&b const 2标识符标识符 由程序员定义的命名符 语法:以字母或下划线开始,由字母、数字和下划线组成语法:以字
8、母或下划线开始,由字母、数字和下划线组成的符号串的符号串 第11页,共129页,编辑于2022年,星期六3.2 3.2 标识符标识符例例 判断以下标识符的正确性:判断以下标识符的正确性:合法标识符有:合法标识符有:a x1 no_1 _a2c sum Name name不合法标识符有:不合法标识符有:2a x+y a,b a&b const 非法符号2标识符标识符 由程序员定义的命名符 语法:以字母或下划线开始,由字母、数字和下划线组成的符号串语法:以字母或下划线开始,由字母、数字和下划线组成的符号串 第12页,共129页,编辑于2022年,星期六3.2 3.2 标识符标识符例例 判断以下标识
9、符的正确性:判断以下标识符的正确性:关键字合法标识符有:合法标识符有:a x1 no_1 _a2c sum Name name不合法标识符有:不合法标识符有:2a x+y a,b a&b const 2标识符标识符 由程序员定义的命名符 语法:以字母或下划线开始,由字母、数字和下划线组成的语法:以字母或下划线开始,由字母、数字和下划线组成的符号串符号串 第13页,共129页,编辑于2022年,星期六3 3运算符运算符 运算符是对数据进行操作的简洁表达,以单词的形式调用系统预定义函数 3.2 3.2 标识符标识符例如:例如:+加加 -减减 *乘乘 /除除 大于大于 =大于或等于大于或等于 =等于
10、等于 !=!=不等于不等于=小于或等于小于或等于第14页,共129页,编辑于2022年,星期六4 4分隔符分隔符 用于在程序分隔不同的语法单位,便于编译系统的识别用于在程序分隔不同的语法单位,便于编译系统的识别3.2 3.2 标识符标识符常常用用的的分分隔隔符符有有:空空格格,逗逗号号,分分号号,冒冒号号,括括号号,注注释释符符等,等,有些单词,例如运算符,也起到分隔符的作用有些单词,例如运算符,也起到分隔符的作用 例如:例如:int a,b,c;a=b+c;必须用空格作分隔符第15页,共129页,编辑于2022年,星期六3.2 3.2 标识符标识符例如:例如:int a,b,c;a=b+c;
11、运算符也用作分隔符4 4分隔符分隔符 用用于于在在程程序序分分隔隔不不同同的的语语法法单单位位,便便于于编编译译系系统统的的识识别别常用的分隔符有:空格,逗号,分号,冒号,括号,注释符等,常用的分隔符有:空格,逗号,分号,冒号,括号,注释符等,有些单词,例如运算符,也起到分隔符的作用有些单词,例如运算符,也起到分隔符的作用 第16页,共129页,编辑于2022年,星期六5 5常数常数 常数由数据的书写形式定义它的类型和值 基本类型常数在程序运行时直接参与运算,不占用内存存储 例如:例如:500 3.14159 0.263e-10 N3.2 3.2 标识符标识符第17页,共129页,编辑于202
12、2年,星期六例如:例如:500 3.14159 0.263e-10 N整数3.2 3.2 标识符标识符5 5常数常数 常数由数据的书写形式定义它的类型和值 基本类型常数在程序运行时直接参与运算,不占用内存存储 第18页,共129页,编辑于2022年,星期六例如:例如:500 3.14159 0.263e-10 N浮点数3.2 3.2 标识符标识符5 5常数常数 常数由数据的书写形式定义它的类型和值 基本类型常数在程序运行时直接参与运算,不占用内存存储 第19页,共129页,编辑于2022年,星期六例如:例如:500 3.14159 0.263e-10 N字符3.2 3.2 标识符标识符5 5常
13、数常数 常数由数据的书写形式定义它的类型和值 基本类型常数在程序运行时直接参与运算,不占用内存存储 第20页,共129页,编辑于2022年,星期六类型相同的数据有相同的表示形式、存储格式以及相关的操作 程序中使用的所有数据都必定属于某一种数据类型 3.3 3.3 数据类型数据类型第21页,共129页,编辑于2022年,星期六3.3.1 C+3.3.1 C+的数据类型的数据类型 整型整型 (int)浮点型浮点型(float,double)基本类型基本类型 字符型字符型(char)空类型空类型(void)用户定义类型用户定义类型 枚举类型枚举类型(enum)数据类型数据类型 数组数组()结构结构(
14、struct)联合联合(union)类类 (class)指针类型指针类型(*)简单类型简单类型结构类型结构类型第22页,共129页,编辑于2022年,星期六3.3.2 3.3.2 数据存储数据存储:一个二进制位(bit)存储阵列存储阵列只能是只能是“0”或者或者“1”第23页,共129页,编辑于2022年,星期六:8位一个字节(byte)存储阵列存储阵列3.3.2 3.3.2 数据存储数据存储可以表示数字可以表示数字0255表示一个字符(英文字表示一个字符(英文字母、数字、符号)母、数字、符号)ACSII码码第24页,共129页,编辑于2022年,星期六:16位一个字(word)存储阵列存储阵
15、列3.3.2 3.3.2 数据存储数据存储两个字节两个字节(字字)保存一个宽字保存一个宽字符,符,UNICODE编码编码第25页,共129页,编辑于2022年,星期六b,B,KB,MB,GB,TBwTerabyte(TB),中文叫法:TwGigabyte(GB),中文叫法:GwMegabyte(MB),中文叫法:兆wKilobyte(KB),中文叫法:KwByte,中文叫法:字节wbit,中文叫法:位1 TB 1 TB=1,024 GB1,024 GB1 GB1 GB =1,024 MB1,024 MB1 MB1 MB =1,024 KB1,024 KB1 KB1 KB =1,024 B1,0
16、24 B1 B 1 B=8 b8 b第26页,共129页,编辑于2022年,星期六3.3.3 3.3.3 基本类型基本类型 int整数,在目前绝大多数机器上占4个字节所占字节数取决于机器字长float单精度浮点数,一般是4个字节长double双精度浮点数,一般是8个字节长char字符,一般是1个字节长用来表示256个ASCII字符,或者0255的整数第27页,共129页,编辑于2022年,星期六shortshort int,短整数,2个字节长,简称shortlonglong int,长整数,4个字节长,简称longlong double,高精度浮点数,一般是10个字节长。signed用来修饰c
17、har、int、short和long,说明他们是有符号的整数(正整数、0和负整数)。一般缺省都是有符号的,所以这个修饰符通常省略unsigned用来修饰char、int、short和long,说明他们是无符号的整数(正整数和0)数据类型修饰符数据类型修饰符在定义变量时,计算机根据变在定义变量时,计算机根据变量的类型分配存储空间,并且量的类型分配存储空间,并且以该类型解释存放的数据以该类型解释存放的数据第28页,共129页,编辑于2022年,星期六数据类型的取值范围数据类型的取值范围第29页,共129页,编辑于2022年,星期六超出取值范围会怎样?(overflow)小蛇能吞下小蛇能吞下小蛇能吞
18、下小蛇能吞下大象吗?大象吗?大象吗?大象吗?short int的范围是的范围是-3276732767如果我们给它一个小于如果我们给它一个小于-32767或者大于或者大于32767的数会如何呢?的数会如何呢?现场编程测验现场编程测验第30页,共129页,编辑于2022年,星期六#include void main()short int si_Exceed=40000;short int si_normal=10000;if(si_Exceedsi_normal)cout 40000 is bigger than 10000n;elsecout 40000 is smaller than 1000
19、0n;w运行结果会是什么?运行结果会是什么?第31页,共129页,编辑于2022年,星期六溢出所带来的问题w一台安装了Windows 95/98的机器,如果连续运行49.7天没有重新启动,可能死机 w原因:Windows自启动时刻起,有一个计数器,记录系统已经运行了多少毫秒。这个计数器是个unsigned long 类型的变量unsigned long的最大值是:4294967295一天有 24*60*60*1000=86400000毫秒4294967295/86400000=49.71026961805当49.7天的时候,此计数器会溢出,引起死机第32页,共129页,编辑于2022年,星期六
20、1 1整型,有整型,有8 8进制、进制、1010进制和进制和1616进制进制3 3种进制种进制 以数字以数字“0”开始的整型常数是八进制数开始的整型常数是八进制数010和10大小不一样因为八进制并不常用,所以此种表示法比较少见,因而常被用错以以“0 x”或者或者“0X”开始的整型常数是十六进制开始的整型常数是十六进制AF和af用来表示十进制的10150 x11,0 x05,0 xFA,0 xFF十六进制的形式比较常用,可以很方便地转换为二进制第33页,共129页,编辑于2022年,星期六w补充知识(仅供了解)补充知识(仅供了解)原码:增加了一位符号位(即最高位为符号位),该原码:增加了一位符号
21、位(即最高位为符号位),该位为位为0表示正数,该位为表示正数,该位为1表示负数,其余位表示数表示负数,其余位表示数值的大小值的大小反码:正数的反码与其原码相同;负数的反码是对反码:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外其原码逐位取反,但符号位除外 补码:正数的补码与其原码相同;负数的补码是在其补码:正数的补码与其原码相同;负数的补码是在其反码的末位加反码的末位加1 1 1整型,有整型,有8 8进制、进制、1010进制和进制和1616进制进制3 3种进制种进制 第34页,共129页,编辑于2022年,星期六1 1整型,有整型,有8 8进制、进制、1010进制和进制和1
22、616进制进制3 3种进制种进制 w补充知识(仅供了解):补充知识(仅供了解):3和和-2原码表示?原码表示?反码表示?反码表示?补码表示?补码表示?w数值在计算机中是用补码来存储的数值在计算机中是用补码来存储的第35页,共129页,编辑于2022年,星期六 float 4 字节单精度浮点型double8 字节双精度浮点型long double 16 字节长双精度浮点型2 2浮点型浮点型 第36页,共129页,编辑于2022年,星期六小数表示法小数表示法+|-Digits.Digits F|f|L|l 2 2浮点型有小数表示法和指数表示法两种形式浮点型有小数表示法和指数表示法两种形式 指数表示
23、法指数表示法+|-Digits.Digits指数 F|f|L|l(e|E)+|-Digits第37页,共129页,编辑于2022年,星期六3.23E10 0.23E-4 45.e+23 -23.68E123.23E10F 0.23E-4f 45.e+23L -23.68E12L指数计数法例子:指数计数法例子:第38页,共129页,编辑于2022年,星期六x=s*(1+m)*2e尾数,在0-1之间指数,也称为阶码符号位浮点数在计算机中的存储方式(IEEE 754)如果用如果用4 4个字节个字节(一个字节表示阶码一个字节表示阶码,3,3个字节表示尾数个字节表示尾数)来表示来表示浮点数,则在计算机的
24、存储方式为:浮点数,则在计算机的存储方式为:浮点数的存储方式浮点数的存储方式(仅供了解,以后会学仅供了解,以后会学):第39页,共129页,编辑于2022年,星期六浮点数的存储方式浮点数的存储方式(仅供了解,以后会学仅供了解,以后会学):浮点数实际存储时,为了表示最大值和最小值,指数浮点数实际存储时,为了表示最大值和最小值,指数使用了偏移量使用了偏移量(float(float是是127,double=1023)127,double=1023):存储存储e=e=实际实际e+127e+127 实际实际e=e=存储存储e-127e-127深入了解参见:深入了解参见:IEEE-754百度百科百度百科浮
25、点数计算器:浮点数计算器:浮点数计算器浮点数计算器浮点数计算器:浮点数计算器:浮点数计算器浮点数计算器第40页,共129页,编辑于2022年,星期六浮点数的陷阱#include void main()float f;f=123.456;if(f=123.456)coutf is equal to 123.456 indeed.;elsecout“In fact,f is not equal totf;w运行结果会是什么?运行结果会是什么?第41页,共129页,编辑于2022年,星期六wfloat的精度低,较易发生精度带来的相等性判断问题wdouble精度高,这个问题发生的概率小一些,但也存在w
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据类型 输入输出 幻灯片
限制150内