C语言基本的数据类型.ppt

上传人:wuy****n92 文档编号:70101486 上传时间:2023-01-16 格式:PPT 页数:59 大小:296KB
返回 下载 相关 举报
C语言基本的数据类型.ppt_第1页
第1页 / 共59页
C语言基本的数据类型.ppt_第2页
第2页 / 共59页
点击查看更多>>
资源描述

《C语言基本的数据类型.ppt》由会员分享,可在线阅读,更多相关《C语言基本的数据类型.ppt(59页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 第第3章章 基本数据类型(基本数据类型(1)本章内容介绍本章内容介绍u 引出:标示符引出:标示符u3.1 C语言的数据类型语言的数据类型u 3.2 整型和实型整型和实型u 3.3 字符型字符型u 3.4 库函数库函数补充:什么是标识符补充:什么是标识符n标识符是一个名字,是给程序中的实体(常量、标识符是一个名字,是给程序中的实体(常量、变量、类型、函数、数组、结构体以及文件起的变量、类型、函数、数组、结构体以及文件起的名称,文件名也是标示符。名称,文件名也是标示符。n组成:由组成:由字母、下划线、数字字母、下划线、数字组成,且标示符必组成,且标示符必须由须由字母或下划线开头字母或下划线开头,

2、否则程序出错。,否则程序出错。nC语言不允许同时定义语言不允许同时定义2个相同变量。个相同变量。nC语言不同于其它语言,区分大小写。语言不同于其它语言,区分大小写。nArea _abc 4ddn长度:只能识别前长度:只能识别前8位。建议变量名的长度最好不位。建议变量名的长度最好不要超过要超过8个字符个字符标识符分类标识符分类标识符有三类:标识符有三类:关键字关键字、预定义标识符预定义标识符和和用户定义用户定义标识符标识符。1)关键字关键字 已被已被C系统所占用的标识符称为关键字,每个系统所占用的标识符称为关键字,每个关键字在关键字在C程序中都有其特定的作用,程序中都有其特定的作用,关键字不关键

3、字不能作为用户标识符能作为用户标识符。Turbo C 20的关键字,共的关键字,共32个,所有关键个,所有关键字中只包含小写字母和下划线。字中只包含小写字母和下划线。标示符标示符ANSI标准定义的共标准定义的共32个关键字个关键字autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile标识符分类标识符分类2)预定义标识符预

4、定义标识符 C语言系统提供的库函数名和编译预处理命令等构语言系统提供的库函数名和编译预处理命令等构成了预定义标识符。成了预定义标识符。printf,scanf等等3)用户标识符用户标识符u 禁止使用禁止使用 关键字作为用户的标识符关键字作为用户的标识符u 尽量避免使用预定义标识符作为用户标识符尽量避免使用预定义标识符作为用户标识符u 标识符中标识符中不能出现全角字符、空格不能出现全角字符、空格u 使用标识符最好做到见名知义使用标识符最好做到见名知义u 标识符必须先定义后使用标识符必须先定义后使用,否则出现编译错误,否则出现编译错误 标识符标识符正确的标识符正确的标识符不正确的标识符不正确的标识

5、符不正确的原因不正确的原因area3area33area3area数字打头数字打头sort_scoresort_scoresort-scoresort-score标识符中使用了减号标识符中使用了减号“-”“-”DEFAULTDEFAULTdefaultdefault使用关键字作标识符使用关键字作标识符a123ba123ba12a1245b45b标识符中使用了全角字符标识符中使用了全角字符“”_915_915-915-915标识符中使用了减号标识符中使用了减号“-”“-”xandyxandyx&yx&y标识符中含有非法字符标识符中含有非法字符“&”“&”常量的类型常量的类型n在程序运行过程中在程

6、序运行过程中,其值不能被改变的量称为常量其值不能被改变的量称为常量n常量区分为不同类型,常量区分为不同类型,1)整型常量:)整型常量:100,-100,07623,0 xa3f 2)实型常量:)实型常量:3.14,1.2345e3,-3.789 3)字符型常量:)字符型常量:a,b,2 4)字符串常量:)字符串常量:123,Good morning!5)符号常量)符号常量:define PI 3.14159 PI、ESC与ID是符号常量 变量变量变量变量:是值可以改变的量。是值可以改变的量。实质:内存中的存储单元实质:内存中的存储单元定义方法:数据类型定义方法:数据类型 标示符标示符标识符的格

7、式:标识符的格式:1)只能使用字母、数字或下划线)只能使用字母、数字或下划线2)首字符必须为字母或下划线)首字符必须为字母或下划线3)字符个数不超过)字符个数不超过32个个4)区分大小写)区分大小写5)不能使用关键字(保留字)不能使用关键字(保留字)如:如:x,sum,_word,lotus_1_2_3 3df,$12,a+b,M.D.John,int注意注意:标识符要标识符要“见名知意见名知意”,变量应,变量应“先定义后使用先定义后使用”变量的特性:变量的特性:1)应先定义后使用;)应先定义后使用;2)每一变量被指为一确定类型每一变量被指为一确定类型,在编译时就能为其,在编译时就能为其分配相

8、同的存储单元;分配相同的存储单元;3)指定每一变量属于一类型,便于在)指定每一变量属于一类型,便于在编译时,据此编译时,据此检查该变量所进行的运算是否合法检查该变量所进行的运算是否合法内存内存x例例:#define PRICE 30void main()int num,total;num=10;total=num*PRICE;printf(total=%d,total);定义变量定义变量 赋值赋值 赋值赋值int x;x=-10;-103.1 C的数据类型的数据类型n数据有一个非常重要特征即数据有一个非常重要特征即数据的类型数据的类型。n数据类型不仅确定了数据类型不仅确定了变量的取值范围变量的

9、取值范围、占、占内存空间大小,而且还确定了变量所能参内存空间大小,而且还确定了变量所能参加的加的各种运算方式各种运算方式。n例如一个整型(例如一个整型(int)类型的数据,占内存)类型的数据,占内存空间空间2字节,取值范围规定为字节,取值范围规定为-3276832767之间的整数,能参与算术运算、位运之间的整数,能参与算术运算、位运算等。算等。C语言中,每个变量在使用之前必须语言中,每个变量在使用之前必须定义其数据类型。定义其数据类型。C的数据类型的数据类型构造类型构造类型字符型字符型实型实型空类型空类型(void)数组数组()指针类型指针类型(*)结构体结构体(struct)共用体共用体(u

10、nion)枚举枚举(enum)字符型字符型(char)无符号字符型无符号字符型(unsigned char)单精度单精度(float)双精度双精度(double)长双精度长双精度(long double)数据类型数据类型基本类型基本类型整型整型整型整型(int)短整型短整型(short int)长整型长整型(long int)无符号整型无符号整型(unsigned int)无符号短整型无符号短整型(unsigned short int)无符号长整型无符号长整型(unsigned long int)C的数据类型的数据类型n基本类型基本类型:由系统:由系统事先定义好的不可再分割事先定义好的不可再分

11、割的类型,的类型,可以直接利用这些类型名定义数据。可以直接利用这些类型名定义数据。n构造类型构造类型:由基本类型:由基本类型组成组成的更为复杂的类型。的更为复杂的类型。n指针类型指针类型:一种特殊的、具有重要作用的数据类型,:一种特殊的、具有重要作用的数据类型,其值用来表示某个量在内存中的地址其值用来表示某个量在内存中的地址。n空类型空类型:主要用于特殊指针变量和无返回值函数的:主要用于特殊指针变量和无返回值函数的说明说明注意:注意:数据类型的位数和取值范围与所运行环境有很数据类型的位数和取值范围与所运行环境有很大关系(例如大关系(例如Turbo C与与Visual C+6.0会有不同会有不同

12、)C的数据类型的数据类型类类型名型名名称名称位数位数取取值值范范围围(signed)char字符型字符型8-128127unsigned char无符号字符型无符号字符型80255(signed)short(int)短整型短整型16-3276832767unsigned short(int)无符号短整型无符号短整型16065535(signed)int整型整型16-3276832767unsigned(int)无符号整型无符号整型16065535(signed)long(int)长长整型整型32-21474836482147483647unsigned long(int)无符号无符号长长整型整

13、型3204294967295float 单单精度精度实实型型323.4(10-381038),6位精度位精度double双精度双精度实实型型641.7(10-30810308),15位精度位精度3.2 整型整型3.2.1整型常量整型常量一、整型常量的表示方法一、整型常量的表示方法 整型常量即整常数。在语言中,整常数可用以下三种形整型常量即整常数。在语言中,整常数可用以下三种形式表示:式表示:(1)十进制整数十进制整数。如:如:123,-456.4。(2)八进制整数八进制整数。以数字。以数字0开头的数是八进制数。开头的数是八进制数。如:如:0123表示八进制数表示八进制数123,等于十进制数,等

14、于十进制数83 -011表示八进制数表示八进制数-11,即十进制数即十进制数-9。(3)十六进制整数十六进制整数。以。以0 x或或X开头的数是开头的数是16进制数。进制数。如:如:0 x123,代表,代表16进制数进制数123,等于十进制数等于十进制数 291。-0 x12等于十进制数等于十进制数18 -0X8000L,16进制长整型,等于十进制数进制长整型,等于十进制数32768二、不合法的整型常量二、不合法的整型常量 09876(非十进制,非八进制,因为有数字(非十进制,非八进制,因为有数字8和和9)20fa(非十进制,非八进制,不是以(非十进制,非八进制,不是以0 x开头)开头)0 xf

15、g(出现了非法字符)(出现了非法字符)三、整数的表数范围三、整数的表数范围 16位字长的整数表数的范围为位字长的整数表数的范围为-3276832767用八进制表示则为用八进制表示则为00177777,用十六进制表示为,用十六进制表示为0 x00 xFFFF。超出上述范围的整常数,要用长整。超出上述范围的整常数,要用长整型(型(32位)表示。位)表示。在在C语言中,整型数后加语言中,整型数后加l或字母或字母L为长整型为长整型。四、整型常量的分类:四、整型常量的分类:基本整型、短整型、常整型、基本整型、短整型、常整型、无符号整型无符号整型3.2.2整型变量整型变量一、分类一、分类:基本整型、短整型

16、、常整型、无符号整:基本整型、短整型、常整型、无符号整型。型。二、定义二、定义:1)基本整型变量用)基本整型变量用int进行定义;进行定义;2)一个定义语句必须用分号)一个定义语句必须用分号“;”结束,在一个定结束,在一个定义语句中可同时定义多个变量,变量之间用逗号义语句中可同时定义多个变量,变量之间用逗号”,”隔开。隔开。3)一般微机为)一般微机为基本整型开辟基本整型开辟2个字节个字节的存储单元,的存储单元,允许存放的数值范围是允许存放的数值范围是-32768327674)C语言规定,可以语言规定,可以在变量定义的同时给其赋值在变量定义的同时给其赋值,称为变量,称为变量的初始化。的初始化。v

17、oid main()int a=3;float f=3.56;char c=a;int i,j,k=5;int x=3,y=5;如果变量没有被初始化,变量的初始值将不能确定,如果变量没有被初始化,变量的初始值将不能确定,变量参与运算前,必须先赋值,否则运算无效!变量参与运算前,必须先赋值,否则运算无效!先定义后使用:1、必须首先声明;2、参与运算前必须先赋值查看运行结果,想想为什么?查看运行结果,想想为什么?程序一:程序一:main()int i,j,k;printf(“i=%d,j=%d,k=%dn”,i,j,k);程序二:程序二:main()int i,j,k;i=10;j=20;k=30

18、;printf(“i=%d,j=%d,k=%dn”,i,j,k);5)当程序中用以上方式定义变量)当程序中用以上方式定义变量i,j,k时,编译程序时,编译程序会为变量会为变量i,j,k都开辟存储单元,但并没用在存储单都开辟存储单元,但并没用在存储单元中存放任何初值。元中存放任何初值。因此这些存储单元中原有的信息垃圾并没有被因此这些存储单元中原有的信息垃圾并没有被清除。这时,变量中的值无意义,只有赋初值才有清除。这时,变量中的值无意义,只有赋初值才有意义。意义。3.2.3整型数据的分类整型数据的分类1、分类、分类1)有符号整型)有符号整型signed基本整型(基本整型(int)2个字节个字节-3

19、276832767短整型(短整型(short int)2个字节个字节-3276832767长整型(长整型(long)4-214748364821474836472)无符号整型无符号整型unsignedunsigned int 2 065535unsigned short 2 065535unsigned long 4 042949672952、C语言如何表示语言如何表示若要表示一个若要表示一个长整型常量长整型常量,则应该在一个整型常量,则应该在一个整型常量后加一个字母后加一个字母后缀后缀l或或L。如:。如:long i;i=200l;注意:如果一个足够大的数,即使注意:如果一个足够大的数,即使

20、面值在长面值在长整型范围内整型范围内,但,但数字后未加字母数字后未加字母l,也,也不可代表长整不可代表长整型型。3、无论是短整型还是长整型,都被识别为有符号整、无论是短整型还是长整型,都被识别为有符号整型,型,无符号整数应该在数字末尾加上无符号整数应该在数字末尾加上u或或U,长整型,长整型无符号整数常数,加无符号整数常数,加lu或或LU注意:无符号常量不能表示成小于注意:无符号常量不能表示成小于0的负数。的负数。-200u不合法不合法 一个整数,如果其值在一个整数,如果其值在-32768-32768+32767+32767范围内,认范围内,认为它是为它是intint型,它可以赋值给型,它可以赋

21、值给intint型和型和long intlong int型变量。型变量。一个整数,如果其值超过了上述范围,而在一个整数,如果其值超过了上述范围,而在-2147483637-2147483637+2147483647+2147483647范围内,则认为它是为长整范围内,则认为它是为长整型。可以将它赋值给一个型。可以将它赋值给一个long intlong int型变量。型变量。一个整常量后面加一个字母一个整常量后面加一个字母u u或或U U,认为是,认为是unsigned unsigned intint型,如型,如12345u12345u,在内存中按,在内存中按unsigned intunsign

22、ed int规定的方规定的方式存放式存放(存储单元中最高位不作为符号位,而用来存储存储单元中最高位不作为符号位,而用来存储数据数据)。如果写成。如果写成-12345u-12345u,则先将,则先将-12345-12345转换成其补码转换成其补码5319153191,然后按无符号数存储。,然后按无符号数存储。3.2.4整数在内存中的存储形式整数在内存中的存储形式1、存储单位、存储单位1)在计算机中,内存储器的最小存储单位为)在计算机中,内存储器的最小存储单位为“bit”,8个二进制位组成一个字节个二进制位组成一个字节byte.2)如果一台计算机系统以两个字节()如果一台计算机系统以两个字节(16

23、个二进制个二进制位)来存放一条机器指令,就称这台计算机的字长位)来存放一条机器指令,就称这台计算机的字长为为16位。位。3)最右边一位为)最右边一位为“最低位最低位”,最左边一位为,最左边一位为“最高最高位位”4)若是)若是正整数,最高位为正整数,最高位为“0”,若是,若是负整数,最负整数,最高位为高位为“1”。2、存储方式、存储方式1)正整数:用两个字节存放最大整数)正整数:用两个字节存放最大整数327672)负整数)负整数 a)C语言中,语言中,对于负整数,在内存中是以整数的对于负整数,在内存中是以整数的“补码补码”形式存放形式存放;b)两个字节存放两个字节存放最小整数最小整数-32768

24、3)无符号整数:用两个字节存放一个整数时,若说)无符号整数:用两个字节存放一个整数时,若说明为明为无符号整数,其中最高位不再用来存放整数的符无符号整数,其中最高位不再用来存放整数的符号号,16个二进制数位全部用来存放整数,因此个二进制数位全部用来存放整数,因此无符无符号整数不可能是负数号整数不可能是负数。这时,。这时,16个二进制位中全部个二进制位中全部是是1,它所代表的整数就是最大数,它所代表的整数就是最大数655351 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0=-327681 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1=-1例如:整数13在内存中实际存放的

25、情况:例:整型变量的定义与使用例:整型变量的定义与使用#include“stdio.h”void main()int a,b,c,d;unsigned u;a=12;b=-24;u=10;c=a+u;d=b+u;printf(“a+u=%d,b+u=%dn”,c,d);运行结果:运行结果:a+u=22,b+u=-14 例:整型数据的溢出例:整型数据的溢出#include#include void main()void main()int a,b;int a,b;a=32767;a=32767;b=a+1;b=a+1;printf(“%d,%dn”,a,b);printf(“%d,%dn”,a,

26、b);说明:说明:说明:说明:数值是以补码表示的。一个整型变量只能容纳-3276832767范围内的数,无法表示大于32767或小于-32768的数。遇此情况就发生“溢出”。运行结果:运行结果:32767,-3276832767,-327683.3实型实型3.3.1实型常量(也称浮点型常量)实型常量(也称浮点型常量)一、实型常量的表示方法一、实型常量的表示方法 实型常量只能用十进制形式表示。实型常量只能用十进制形式表示。(1)小数形式:)小数形式:0.123 345.0 -34.679 0.0 小数点不能省略,不能只有一个小数点小数点不能省略,不能只有一个小数点 绝对值小于绝对值小于1的实型常

27、量,其的实型常量,其小数点前面的零可以省略小数点前面的零可以省略,如;如;0.123可写为可写为.123,-0.0123e-5可写为可写为.0123e-5。(2)指数形式:指数部分前加字母)指数形式:指数部分前加字母e或或E 1.2345e3、12345E2、1.2345e3 指数部分必须是整数指数部分必须是整数,字母字母e或或E之前必须有数字之前必须有数字,字母,字母e或或E 前后以及数字之间不得插空格。前后以及数字之间不得插空格。1e31e3、1.8e-31.8e-3、-123e-6-123e-6、-.1e-3-.1e-3e3e3、2.1e3.52.1e3.5、.e3.e3、e e 规范化

28、的指数形式:规范化的指数形式:在字母在字母e e(或(或E E)之前的小数部分中,小数点左边应)之前的小数部分中,小数点左边应有一位(且只能有一位)非零的数字有一位(且只能有一位)非零的数字.例如例如:123.456可以表示为:可以表示为:123.456e0,12.3456e1,1.23456e2,0.123456e3,0.0123456e4,0.00123456e 其中的其中的1.23456e3称为称为“规范化的指数形式规范化的指数形式”。C C编译系统将浮点型常量作为双精度来处理。编译系统将浮点型常量作为双精度来处理。例如例如:f=2.45678*4523.65f=2.45678*4523

29、.65 系统先把系统先把2.45678和和4523.65作为双精度数,然后进行相乘的作为双精度数,然后进行相乘的运算,得到的乘也是一个双精度数。最后取其前运算,得到的乘也是一个双精度数。最后取其前7位赋给浮点位赋给浮点型变量型变量f。如是在数的后面加字母。如是在数的后面加字母f或或F(如(如1.65f,654.87F),),这样编译系统就会把它们按单精度(这样编译系统就会把它们按单精度(32位)处理。位)处理。实型常量实型常量不分单精度和双精度,可赋给单精度和双精度。不分单精度和双精度,可赋给单精度和双精度。根据变量的类型,截取实型常量中相应的有校数位根据变量的类型,截取实型常量中相应的有校数

30、位。float a;a=111111.111;由于由于float只能接收只能接收7位有效数位,位有效数位,最后两位小数不起作用,若改为最后两位小数不起作用,若改为double,则全部接收。,则全部接收。3.3.2实型变量实型变量1、C语言实型变量分为单精度和双精度语言实型变量分为单精度和双精度单精度定义:单精度定义:float a,b;双精度定义:双精度定义:double a,b;2、浮点型数据在内存中的存放形式、浮点型数据在内存中的存放形式 一个浮点型数据一般在内存中占一个浮点型数据一般在内存中占4 4个字节个字节(32(32位位)。与整。与整型数据的存储方式不同,型数据的存储方式不同,浮点

31、型数据是按照指数形式存储的浮点型数据是按照指数形式存储的。系统把一个浮点型数据分成小数部分和指数部分,分别存放。系统把一个浮点型数据分成小数部分和指数部分,分别存放。指数部分采用规范化的指数形式。指数部分采用规范化的指数形式。小数部分所占位数越多,数据的精度越高,指数部分所小数部分所占位数越多,数据的精度越高,指数部分所占的位数越多,数据的取值范围越大。占的位数越多,数据的取值范围越大。3、浮点型变量的分类浮点型变量的分类 浮点型变量分为单精度(float型)、双精度(double型)和长双精度型(long double)三类形式。类型类型类型类型位数位数位数位数数的范围数的范围数的范围数的范

32、围有效数位有效数位有效数位有效数位floatfloat32321010-37-37 10 10383867 67 位位位位doubledouble型型型型64641010-307-307101030830815161516位位位位long long doubledouble1281281010-4931-493110104932493218191819位位位位4、单精度和双精度的区别、单精度和双精度的区别1)一般计算机系统中,)一般计算机系统中,为为float类型变量分配类型变量分配4个字节个字节的存储单元的存储单元,为,为double类型变量分配类型变量分配8个字节个字节的存储的存储单元;单

33、元;2)Turbo c中单精度实数的取值范围:中单精度实数的取值范围:10-37 1038并提供并提供7位有效位;小于位有效位;小于-1038的数被处理成零值;双的数被处理成零值;双精度实数的取值范围:精度实数的取值范围:10-30710308 并提供并提供16位有位有效位;小于效位;小于10308的数被处理成零值;的数被处理成零值;因此因此double类型的变量中存放的数据比类型的变量中存放的数据比float类型类型中存放的数据精确很多。中存放的数据精确很多。3)在)在程序中一个实数可以用小数形式表示程序中一个实数可以用小数形式表示,也,也可以可以用指数形式表示用指数形式表示,但,但在内存中

34、,实数一律是以指数在内存中,实数一律是以指数形式存放形式存放;4)注意:在)注意:在计算机内存中可以精确地存放一个整数计算机内存中可以精确地存放一个整数,不会出现误差,但整型数值的存放范围小,使用实不会出现误差,但整型数值的存放范围小,使用实型数的范围大,但往往存在误差。型数的范围大,但往往存在误差。n例例3.4 浮点型数据的舍入误浮点型数据的舍入误差差#include main()float a,b;a=123456.789e5;b=a+20;printf(%fn,b);说明:说明:说明:说明:一个浮点型变量一个浮点型变量只能保证的有效数位只能保证的有效数位是是7 7位有效数位,后面位有效数

35、位,后面的数字是无意义的,的数字是无意义的,并不准确地表示该数。并不准确地表示该数。应当避免将一个很大应当避免将一个很大的数和一个很小的数的数和一个很小的数直接相加或相减,否直接相加或相减,否则就会则就会“丢失丢失”小的小的数数理解理解7位有效数字位有效数字main()float a=123.456789;double b=123.456789;clrscr();printf(“a=%f,k=%lfn”,a,b);输出结果:输出结果:a=123.456787,b=123.4567893.3字符型数据字符型数据 3.3.1字符型常量字符型常量一、字符型常量的表示方法一、字符型常量的表示方法 C语

36、言的字符常量是语言的字符常量是ASCll码字符集里的一个字符码字符集里的一个字符,包括字包括字母母(大、小写有区别大、小写有区别)、数字和标点符号以及特殊字符等,、数字和标点符号以及特殊字符等,均均为半角字符为半角字符,一个,一个字符常量在内存中占字符常量在内存中占1个字节个字节,因此,因此字符字符常量不能是全角字符常量不能是全角字符。C语言字符常量有三种表示方法:语言字符常量有三种表示方法:(1)普通字符常量:)普通字符常量:用单引号用单引号 a A 0 +单引号内,不能使单撇或反斜杠。单引号内,不能使单撇或反斜杠。单引号内空格也是一个字符常量,但不能写成两个连续的单引号内空格也是一个字符常

37、量,但不能写成两个连续的单引号单引号 (2)用该字符的)用该字符的ASCll码值表示的字符常量码值表示的字符常量 例如:例如:十进制数十进制数65表示大写字母表示大写字母A 十六进制数十六进制数0X41也表示也表示A 八进制数八进制数0101表示大写字母表示大写字母 A 。一些不能用符号表示的特殊字符一些不能用符号表示的特殊字符(如控制符等如控制符等),可以用可以用ASCll码值来表示,如换行可用码值来表示,如换行可用10表示,也表示,也可用十六进制数可用十六进制数0 x0a或八进制数或八进制数012来表示来表示(3)转义字符:是以)转义字符:是以 开头的用单引号括起来的开头的用单引号括起来的

38、字符序列。字符序列。转义字符转义字符含义含义nvradddtbfxhh转义字符转义字符含义含义换行换行垂直制表垂直制表回车回车响铃响铃单引号单引号3位位8进制数代表的字符进制数代表的字符水平制表水平制表退格退格换页换页反斜线反斜线双引号双引号2位位16进制数代表的字符进制数代表的字符例如:例如:用用 r表示回车表示回车 用用n表示换行。换行也可用表示换行。换行也可用12或或012换行还可用换行还可用xa或或x0a反斜杠后跟十六进制数表反斜杠后跟十六进制数表示示 101 用八进制表示的字符用八进制表示的字符A 在在C语言中,语言中,字符常量与整数是互通的字符常量与整数是互通的。经常将字。经常将字

39、符常量等价为整数参与运算:符常量等价为整数参与运算:如:如:A+32 结果为结果为 a 0-48 为为 0 /例例例例3.13.1:转义字符的使用:转义字符的使用:转义字符的使用:转义字符的使用#include#include void main()void main()printf(printf(abtcdnabtcdn););printf printf(12345678012student x42n);12345678012student x42n);程序运行结果:程序运行结果:程序运行结果:程序运行结果:ab cdab cd1234567812345678student Bstudent

40、 B3.3.2字符变量字符变量1 1、字符变量的定义、字符变量的定义 字字符符型型变变量量用用来来存存放放字字符符常常量量,注注意意只只能能放放一一个字符。个字符。字符变量的定义形式如下字符变量的定义形式如下:char c1,c2;char c1,c2;在本函数中可以用下面语句对在本函数中可以用下面语句对c1,c2c1,c2赋值:赋值:c1 c1a a;c2c2 b b ;一个字符变量在内存中占一个字节。一个字符变量在内存中占一个字节。3.3.3字符数据在内存中的存储形式及其使用方法字符数据在内存中的存储形式及其使用方法 一个字符常量存放到一个字符变量中,实际上并不是一个字符常量存放到一个字符

41、变量中,实际上并不是把该字符的字型放到内存中去,而是把该字符的字型放到内存中去,而是将该字符的相应的将该字符的相应的ASCIIASCII代码放到存储单元中代码放到存储单元中。这样使字符型数据和整型数据。这样使字符型数据和整型数据之间可以通用。之间可以通用。注意:一个字符数据既可以以字符形式输出,也可以以整数形式输出。例:向字符变量赋以整数例:向字符变量赋以整数#includemain()char c1,c2;c1=97;c2=98;printf(%c,%cn,c1,c2);printf(%d,%dn,c1,c2);说明:说明:说明:说明:在第和第4行中,将整数97和98分别赋给c1和c2,它的

42、作用相当于以下两个赋值语句:c1;c2;因为a和b的ASCII码为97和98运行结果:运行结果:,97,98 97,98例:大小写字母的转换例:大小写字母的转换#includemain()char c1,c2;c1=a;c2=b;c1=c1-32;c2=c2-32;printf(%c,%cn,c1,c2);n n说明:说明:说明:说明:程序的作用是将两个小写字母a和b转换成大写字母A和B。从代码表中可以看到每一个小写字母比它相应的大写字母的ASCII码大32。语言允许字符数据与整数直接进行算术运算。n运行结果:运行结果:,3.3.4字符串字符串n字符串常量字符串常量表示形式:用双引号括起来的字

43、符序列。表示形式:用双引号括起来的字符序列。nHow do you do.,CHINA,a,$123.45,%dn字符常量与字符串常量的区别字符常量与字符串常量的区别na与与 a 是否相同?是否相同?abc是否是字符串常量?是否是字符串常量?n 是否是字符串常量?两个连续的双引号也是字符是否是字符串常量?两个连续的双引号也是字符串常量,称为空串,占一个字节存放串常量,称为空串,占一个字节存放0 字符串的存储形式:存储时字符串的存储形式:存储时每个字符串末尾自动加一每个字符串末尾自动加一个个 0作为字符串结束标志。作为字符串结束标志。h e l l o 0h e l l o 0字符串字符串hel

44、lohello在内存中在内存中a a a 0a 0aaaa 如:如:如果有一个字符串常量如果有一个字符串常量 ,实际上在内,实际上在内存中是:存中是:CHNIA0它占它占内存单元不是个字符,而是个字符内存单元不是个字符,而是个字符,最后一个字,最后一个字符为符为0。但。但在输出时不输出在输出时不输出0。符号常量符号常量nC语言中可语言中可以用一个变量名来代表一个常量以用一个变量名来代表一个常量,这个变量名就这个变量名就称为称为符号常量符号常量。可以用两种方式来定义。可以用两种方式来定义C语言中的符号常语言中的符号常量。量。n利用宏定义利用宏定义#define来定义符号常量来定义符号常量。例如:

45、。例如:#define PI 3.14159#define PRICE 30 则则PI、PRICE是符号常量是符号常量,在程序中在程序中它们的值不能被改变。程序中它们的值不能被改变。程序中用符号常量来代替一串不易用符号常量来代替一串不易记忆的数字或一串字符串记忆的数字或一串字符串,不仅增加了程序的可读性不仅增加了程序的可读性,也减也减轻了程序设计人员的负担轻了程序设计人员的负担n特点:便于维护、提高程序可读性、语言中习惯特点:便于维护、提高程序可读性、语言中习惯用大写用大写字母表示符号常量字母表示符号常量,以区别变量以区别变量例例3.2 符号常量的使用符号常量的使用#include#defin

46、e PI 3.14 /*定义符号常量定义符号常量PI*/void main()double r,s;r=20.0;s=PI*r*r;/*使用符号常量使用符号常量PI*/printf(s=%fn,s);补充例题补充例题#define PRICE 12.5main()int num=3;float total;char ch1,ch2=D;total=num*PRICE;ch1=ch2-A+a;printf(“total=%f,ch1=%cn,total,ch1);运行结果:运行结果:total=37.500000,ch1=dn为了方便程序设计者实现一些常用的功能模块,为了方便程序设计者实现一些常

47、用的功能模块,各个编译系统都提供了各个编译系统都提供了函数库函数库(将一些基本的常(将一些基本的常用功能定义成为函数,并将用功能定义成为函数,并将相关的原型声明放在相关的原型声明放在相应的头文件中相应的头文件中),库里的这些函数称为库函数。),库里的这些函数称为库函数。nC的函数库中的的函数库中的每个库函数是一系列的可共享的每个库函数是一系列的可共享的可执行函数可执行函数,当我们在自己的,当我们在自己的C源程序中使用某源程序中使用某个库函数时,我们并不需要重复书写一遍该库函个库函数时,我们并不需要重复书写一遍该库函数的源代码,数的源代码,只需要直接使用该函数即可只需要直接使用该函数即可。n如:

48、求一个角如:求一个角 x 的正弦值的正弦值sin(x),或一个正数,或一个正数 x 的开平方的开平方sqrt(x)等等等等3.4库函数库函数n库函数是库函数是系统预先定义好的系统预先定义好的,分为若干类。,分为若干类。n需要注意的是:在程序中调用库函数时,需要注意的是:在程序中调用库函数时,应当根应当根据库函数的种类,在程序的开头使用据库函数的种类,在程序的开头使用#include,例如要使用例如要使用sin(),或或sqrt()等数学函数时等数学函数时,就应当就应当在程序开头加上:在程序开头加上:#include#include math.h 例例3.3 库函数的调用方式库函数的调用方式#i

49、nclude void main()double a=3.5,b=4.5,c=5.5;/*a,b,c表示三角形的三个边表示三角形的三个边*/double p,s;p=0.5*(a+b+c);s=sqrt(p*(p-a)*(p-b)*(p-c);/*用劳伦公式计算三角形面积用劳伦公式计算三角形面积*/printf(area=%f,s);n头文件包含头文件包含#include 或或#include math.h 1.三角函数三角函数sin、cos、tann函数原型:函数原型:double sin(double x);double cos(double x);double tan(double x)

50、;n函数功能:函数功能:函数函数x以弧度为单位,求正弦、余弦及正切以弧度为单位,求正弦、余弦及正切值值n函数使用:函数使用:sin(x)cos(x)tan(x)/例例3.4 sin、cos、tan函数计算函数计算#include#include#include#include#define PI 3.14159#define PI 3.14159void main()void main()double x,y,z,t;x=0.5*PI;y=sin(x);z=cos(x);t=tan(x);printf(%f,%f,%f,x,y,z);常用数学函数2.绝对值函数绝对值函数abs、fabs、lab

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁