清华大学C语言谭浩强.pptx
《清华大学C语言谭浩强.pptx》由会员分享,可在线阅读,更多相关《清华大学C语言谭浩强.pptx(129页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、会计学1清华大学清华大学C语言谭浩强语言谭浩强2.1 C语言的数据类型语言的数据类型n n2.1.1 C语言具有的数据类型语言具有的数据类型n n2.1.2 C 语言的基本数据类型语言的基本数据类型n n2.1.3 基本数据类型的修饰基本数据类型的修饰第1页/共129页2.1.1 C语言具有的数据类型语言具有的数据类型n n数据类型是指数据的内在表现形式。不同的数据类型数据类型是指数据的内在表现形式。不同的数据类型数据类型是指数据的内在表现形式。不同的数据类型数据类型是指数据的内在表现形式。不同的数据类型在内存中的存储方式不同,在内存中所占的字节数也在内存中的存储方式不同,在内存中所占的字节数
2、也在内存中的存储方式不同,在内存中所占的字节数也在内存中的存储方式不同,在内存中所占的字节数也不相同。不相同。不相同。不相同。n n通俗地说,数据在加工计算中的特征就是数据类型。通俗地说,数据在加工计算中的特征就是数据类型。通俗地说,数据在加工计算中的特征就是数据类型。通俗地说,数据在加工计算中的特征就是数据类型。n n例如,职工的年龄和工资都可以进行加减等算术运算,例如,职工的年龄和工资都可以进行加减等算术运算,例如,职工的年龄和工资都可以进行加减等算术运算,例如,职工的年龄和工资都可以进行加减等算术运算,具有一般数值的特点,在具有一般数值的特点,在具有一般数值的特点,在具有一般数值的特点,
3、在C C语言中称为数值型。其中语言中称为数值型。其中语言中称为数值型。其中语言中称为数值型。其中年龄是整数,所以称为年龄是整数,所以称为年龄是整数,所以称为年龄是整数,所以称为整型整型整型整型;工资一般为实数,所以;工资一般为实数,所以;工资一般为实数,所以;工资一般为实数,所以称为称为称为称为实型实型实型实型。第2页/共129页 C语言的数据类型有以下几种语言的数据类型有以下几种,如图如图2-1所示。所示。图图2-1 C语言的数据类型语言的数据类型 第3页/共129页2.1.2 C 语言的基本数据类型语言的基本数据类型n n基本数据类型是不可再分的基本数据类型是不可再分的基本数据类型是不可再
4、分的基本数据类型是不可再分的最基本的数据类型,是构造最基本的数据类型,是构造最基本的数据类型,是构造最基本的数据类型,是构造其他数据类型的基础。其他数据类型的基础。其他数据类型的基础。其他数据类型的基础。n nC C语言提供的五种基本的数语言提供的五种基本的数语言提供的五种基本的数语言提供的五种基本的数据类型及其对应的关键字如据类型及其对应的关键字如据类型及其对应的关键字如据类型及其对应的关键字如表表表表2-12-1所示。所示。所示。所示。n n字符型用来描述单个的字符;字符型用来描述单个的字符;字符型用来描述单个的字符;字符型用来描述单个的字符;整型用来描述整数;浮点型整型用来描述整数;浮点
5、型整型用来描述整数;浮点型整型用来描述整数;浮点型和双精度型用来描述实数,和双精度型用来描述实数,和双精度型用来描述实数,和双精度型用来描述实数,其中双精度型比浮点型表示其中双精度型比浮点型表示其中双精度型比浮点型表示其中双精度型比浮点型表示的精度高;无值类型用来描的精度高;无值类型用来描的精度高;无值类型用来描的精度高;无值类型用来描述无形式参数的述无形式参数的述无形式参数的述无形式参数的C C函数、无函数、无函数、无函数、无返回值的返回值的返回值的返回值的C C函数或无定向指函数或无定向指函数或无定向指函数或无定向指针等。针等。针等。针等。数据类型数据类型数据类型数据类型关键字关键字关键字
6、关键字字符型字符型字符型字符型charchar整型整型整型整型intint浮点(单精度)型浮点(单精度)型浮点(单精度)型浮点(单精度)型 floatfloat双精度型双精度型双精度型双精度型doubledouble无值型无值型无值型无值型voidvoid表2-1 C语言基本的数据类型及其对应的关键字第4页/共129页n nC C C C语语语语言言言言规规规规定定定定,可可可可以以以以在在在在基基基基本本本本数数数数据据据据类类类类型型型型关关关关键键键键字字字字前前前前面面面面加加加加上上上上 类类类类 型型型型 修修修修 饰饰饰饰 符符符符“signedsignedsignedsigne
7、d、unsignedunsignedunsignedunsigned、shortshortshortshort、long”long”long”long”,从从从从而而而而扩扩扩扩展展展展基基基基本本本本数数数数据据据据类类类类型型型型的的的的数数数数值值值值范范范范围围围围或或或或提提提提高基本数据类型的精度。高基本数据类型的精度。高基本数据类型的精度。高基本数据类型的精度。n nTurbo C Turbo C Turbo C Turbo C 编译系统中的基本数据类型修饰有如下编译系统中的基本数据类型修饰有如下编译系统中的基本数据类型修饰有如下编译系统中的基本数据类型修饰有如下的规定:的规定:
8、的规定:的规定:(1 1 1 1)charcharcharchar型数据可以用型数据可以用型数据可以用型数据可以用signedsignedsignedsigned、unsignedunsignedunsignedunsigned加以修饰,加以修饰,加以修饰,加以修饰,即可以有即可以有即可以有即可以有charcharcharchar、signed charsigned charsigned charsigned char、unsigned char unsigned char unsigned char unsigned char 三种形式。三种形式。三种形式。三种形式。2.1.3 基本数据类型
9、的修饰基本数据类型的修饰 第5页/共129页(2 2 2 2)int int int int 型数据可以用型数据可以用型数据可以用型数据可以用signedsignedsignedsigned、unsignedunsignedunsignedunsigned、shortshortshortshort、longlonglonglong加以修饰,即可以有加以修饰,即可以有加以修饰,即可以有加以修饰,即可以有intintintint、signed intsigned intsigned intsigned int、unsigned intunsigned intunsigned intunsigned
10、 int、short intshort intshort intshort int、long intlong intlong intlong int、signed signed signed signed long int long int long int long int、unsigned long intunsigned long intunsigned long intunsigned long int等形式。对于等形式。对于等形式。对于等形式。对于intintintint而言,当使用类型修饰后,关键字而言,当使用类型修饰后,关键字而言,当使用类型修饰后,关键字而言,当使用类型修饰后,
11、关键字intintintint可省略不写,可省略不写,可省略不写,可省略不写,例如例如例如例如signed long intsigned long intsigned long intsigned long int可以写成可以写成可以写成可以写成longlonglonglong,unsigned unsigned unsigned unsigned long intlong intlong intlong int可以写成可以写成可以写成可以写成unsigned longunsigned longunsigned longunsigned long。(3 3 3 3)C C C C语言的语言的语
12、言的语言的ANSI CANSI CANSI CANSI C标准指出:各种变量的取值范标准指出:各种变量的取值范标准指出:各种变量的取值范标准指出:各种变量的取值范围应在标题文件围应在标题文件围应在标题文件围应在标题文件limits.hlimits.hlimits.hlimits.h和和和和float.hfloat.hfloat.hfloat.h中作出定义。中作出定义。中作出定义。中作出定义。第6页/共129页2.2 常量及其类型常量及其类型n n2.2.1 整型常量整型常量n n2.2.2 实型常量实型常量n n2.2.3 字符型常量字符型常量n n2.2.4 字符串常量字符串常量n n2.2
13、.5 符号常量符号常量第7页/共129页2.2.1 2.2.1 整型常量整型常量整型常量整型常量 n n1.十进制整数十进制整数n n2.八进制整数八进制整数n n3.十六进制整数十六进制整数第8页/共129页n n十进制是整数的通常写法,十进制整数没有前缀,十进制是整数的通常写法,十进制整数没有前缀,十进制是整数的通常写法,十进制整数没有前缀,十进制是整数的通常写法,十进制整数没有前缀,其数码为其数码为其数码为其数码为0 09 9。例如:例如:例如:例如:437437n n八进制整数必须以数字八进制整数必须以数字八进制整数必须以数字八进制整数必须以数字0 0开头,即以开头,即以开头,即以开头
14、,即以0 0作为八进制作为八进制作为八进制作为八进制数的前缀。数码取值范围为数的前缀。数码取值范围为数的前缀。数码取值范围为数的前缀。数码取值范围为0 07 7。例如:例如:例如:例如:01230123n n十六进制整常数的前缀为十六进制整常数的前缀为十六进制整常数的前缀为十六进制整常数的前缀为0X0X或或或或0 x0 x。其数码为。其数码为。其数码为。其数码为0 09 9,A AF F或或或或a af f。例如:例如:例如:例如:0 x1230 x123第9页/共129页2.2.2 实型常量实型常量 1.1.小数形式小数形式小数形式小数形式2.2.指数形式指数形式指数形式指数形式第10页/共
15、129页1.小数形式小数形式n n由正负号、整数部分、十进制小数点和小数部分组成。整数部分由正负号、整数部分、十进制小数点和小数部分组成。整数部分由正负号、整数部分、十进制小数点和小数部分组成。整数部分由正负号、整数部分、十进制小数点和小数部分组成。整数部分和小数部分是由数字和小数部分是由数字和小数部分是由数字和小数部分是由数字0 09 9和小数点组成,其中小数点是不能缺少和小数点组成,其中小数点是不能缺少和小数点组成,其中小数点是不能缺少和小数点组成,其中小数点是不能缺少的。的。的。的。第11页/共129页2.指数形式指数形式n n在在在在小小小小数数数数的的的的基基基基础础础础上上上上,后
16、后后后面面面面加加加加阶阶阶阶码码码码标标标标志志志志(“e”e”e”e”或或或或“E”E”E”E”)以以以以及及及及阶阶阶阶码码码码组组组组成。其一般形式为:成。其一般形式为:成。其一般形式为:成。其一般形式为:a E na E na E na E n或或或或 a e na e na e na e nn n其其其其中中中中的的的的a a a a为为为为十十十十进进进进制制制制数数数数,E E E E或或或或e e e e为为为为阶阶阶阶码码码码标标标标志志志志,n n n n为为为为十十十十进进进进制制制制整整整整数数数数。需需需需要要要要注注注注意意意意的的的的是是是是,字字字字母母母母“
17、e”e”e”e”或或或或“E”E”E”E”之之之之前前前前必必必必须须须须有有有有数数数数字字字字,且且且且e e e e后后后后面面面面的的的的指指指指数数数数必必必必须须须须为整数,如为整数,如为整数,如为整数,如e5e5e5e5、3.24e3.23.24e3.23.24e3.23.24e3.2、e e e e等都是不合法的指数形式。等都是不合法的指数形式。等都是不合法的指数形式。等都是不合法的指数形式。第12页/共129页例例例例2.12.1以实数的形式输出三个数。以实数的形式输出三个数。以实数的形式输出三个数。以实数的形式输出三个数。main()main()printf(%fn,365
18、.);printf(%fn,365.);printf(%fn,365);printf(%fn,365);printf(%fn,365f);printf(%fn,365f);n n该程序的运行结果如下:该程序的运行结果如下:该程序的运行结果如下:该程序的运行结果如下:从输出结果可以看出第二行输出的从输出结果可以看出第二行输出的0.000000不是期望不是期望的数值。原因是实数不仅要有数字部分,而且还要有的数值。原因是实数不仅要有数字部分,而且还要有小数点,否则,小数点,否则,C程序运行结果将不是期望值。程序运行结果将不是期望值。365.000000 0.000000 365.000000第13页
19、/共129页2.2.3 字符型常量字符型常量 n n1.单引号表示法单引号表示法n n2.转义字符表示法转义字符表示法第14页/共129页1.单引号表示法单引号表示法n n对于可显示的字符常量,可直接用单引号将该字符括起来,如对于可显示的字符常量,可直接用单引号将该字符括起来,如对于可显示的字符常量,可直接用单引号将该字符括起来,如对于可显示的字符常量,可直接用单引号将该字符括起来,如 a a 、9 9 、Z Z 、=、+、?等。也可用字符的等。也可用字符的等。也可用字符的等。也可用字符的ASCIIASCII码值表码值表码值表码值表示字符,如十进制的示字符,如十进制的示字符,如十进制的示字符,
20、如十进制的8585表示大写字母表示大写字母表示大写字母表示大写字母 U U ,八进制数,八进制数,八进制数,八进制数01020102表示大写表示大写表示大写表示大写字母字母字母字母 B B 。第15页/共129页2.转义字符表示法转义字符表示法n n对于不能显示的字符(主要指控制字符,如回对于不能显示的字符(主要指控制字符,如回对于不能显示的字符(主要指控制字符,如回对于不能显示的字符(主要指控制字符,如回车符、换行符、制表符等)和一些在车符、换行符、制表符等)和一些在车符、换行符、制表符等)和一些在车符、换行符、制表符等)和一些在C C语言中语言中语言中语言中有特殊含义和用途的字符(如单引号
21、、双引号、有特殊含义和用途的字符(如单引号、双引号、有特殊含义和用途的字符(如单引号、双引号、有特殊含义和用途的字符(如单引号、双引号、反斜杠线等),只能用转义字符表示。反斜杠线等),只能用转义字符表示。反斜杠线等),只能用转义字符表示。反斜杠线等),只能用转义字符表示。n n转义字符是一种特殊的字符常量。转义字符以转义字符是一种特殊的字符常量。转义字符以转义字符是一种特殊的字符常量。转义字符以转义字符是一种特殊的字符常量。转义字符以反斜线反斜线反斜线反斜线“”开头,后面跟一个或几个字符。开头,后面跟一个或几个字符。开头,后面跟一个或几个字符。开头,后面跟一个或几个字符。转义字符具有特定的含义
22、,它不同于字符原有转义字符具有特定的含义,它不同于字符原有转义字符具有特定的含义,它不同于字符原有转义字符具有特定的含义,它不同于字符原有的意义,所以称的意义,所以称的意义,所以称的意义,所以称“转义转义转义转义”字符。常用的转义字字符。常用的转义字字符。常用的转义字字符。常用的转义字符及其含义如表符及其含义如表符及其含义如表符及其含义如表2-32-3所示。所示。所示。所示。第16页/共129页转义字符转义字符转义字符转义字符含义含义含义含义ASCIIASCII代码代码代码代码 nn换行换行换行换行 1010r r回车回车回车回车1313f f换页换页换页换页1212t t水平制表(水平制表(
23、水平制表(水平制表(TabTab)9 9vv垂直制表垂直制表垂直制表垂直制表1111bb退格符(退格符(退格符(退格符(backspacebackspace)8 8 反斜杠符反斜杠符反斜杠符反斜杠符 9292 单引号符单引号符单引号符单引号符 3939”双引号符双引号符双引号符双引号符 3434ddd ddd 1 13 3位八进制数所代表的字符位八进制数所代表的字符位八进制数所代表的字符位八进制数所代表的字符 xhh xhh 1 12 2位十六进制数所代表的字符位十六进制数所代表的字符位十六进制数所代表的字符位十六进制数所代表的字符 表表2-3 常用的转义字符及其含义常用的转义字符及其含义 第
24、17页/共129页vv说说说说明明明明:语语语语言言言言字字字字符符符符集集集集中中中中的的的的任任任任何何何何一一一一个个个个字字字字符符符符均均均均可可可可用用用用转转转转义义义义字字字字符符符符来来来来表表表表示示示示。表表表表中中中中的的的的dddddd和和和和xhhxhh正正正正是是是是为为为为此此此此而而而而提提提提出出出出的的的的。dddddd和和和和hhhh分分分分别别别别为为为为八八八八进进进进制制制制和和和和十十十十六六六六进进进进制制制制的的的的ASCIIASCII代代代代码码码码。如如如如101101表表表表示示示示字字字字母母母母“A”A”,102102表表表表示示示
25、示字字字字母母母母“B”B”,X0AX0A表示换行等。表示换行等。表示换行等。表示换行等。vv字符常量的特点:字符常量的特点:字符常量的特点:字符常量的特点:(1 1)字符常量只能用单引号括起来,不能用双引号或字符常量只能用单引号括起来,不能用双引号或字符常量只能用单引号括起来,不能用双引号或字符常量只能用单引号括起来,不能用双引号或其他符号。其他符号。其他符号。其他符号。(2 2)字符常量只能是单个字符,不能是字符串。)字符常量只能是单个字符,不能是字符串。)字符常量只能是单个字符,不能是字符串。)字符常量只能是单个字符,不能是字符串。(3 3)字符常量可以是字符集中任意字符。)字符常量可以
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 清华大学 语言 谭浩强
限制150内