资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第2章 数据与运算,2.1 常量与变量,常量:,是在程序运行过程中其值不能发生改变的量。,例如256、3.45、a等。,变量:,是在程序运行过程中其值可以发生改变的量。变量在内存中占据一定的存储单元。在该存储单元中存放变量的值。变量的标识通过给变量取名实现,所以一个变量应该有一个名字。,用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列称为,标识符,,简单地说,标识符就是一个名字。,第2章 数据与运算,2.1 常量与变量,C语言规定标识符必须满足以下规则:,(1)所有标识符必须由一个字母(az,AZ)或下划线(_)开头。,(2)标识符的其他部分可以用字母、下划线或数字,(09)组成。,(3)大小写字母表示不同意义,即代表不同的标识符。,(4)标识符只有前32个字符有效。,(5)标识符应当尽量遵循“简洁明了”和“见名知义”的原则。,(6)标识符不能使用C语言的关键字。,第2章 数据与运算,2.1 常量与变量,所谓,关键字,就是已被Turbo C 2.0本身使用、不能作其他用,途使用的字。Turbo C 2.0有以下关键字:,Turbo C 2.0扩展的共11个:,asm_cs _ds _es_ss cdecl,farnearhugeinterrupt pascal,由ANSI标准定义的共32个:,auto double int structbreak,else long switch caseenum,register typedef char externreturn,unionconstfloat shortunsigned,continueforsigned void default,gotosizeofvolatiledoif,whilestatic,第2章 数据与运算,2.1 常量与变量,C语言规定变量在使用前必须先定义。,变量定义的一般形式为:,类型说明符 变量标识符,变量标识符,;,示例:,int a,b,c;,float e,f;,char x,y;,以上int,float,char为类型说明符,a,b,c,e,f,x,y,为变量标识符。,第2章 数据与运算,2.2 数据类型,数据的组织形式称为数据结构。,C语言中的数据结构表现为数据类型。,数据类型,基本类型,构造类型,空类型,指针类型,数组类型,结构体类型,共用体类型,整型,字符型,实型,单精度,枚举类型,第2章 数据与运算,2.2 数据类型,1整型变量,数据类型,类型说明符,位(字节数),数的范围,基本整型,int,16,(,2,),-32768,32767,-2,15,(2,15,-1),短整型,short,16,(,2,),-32768,32767,-2,15,(2,15,-1),长整型,long int,32,(,4,),-2147483648,2147483647,-2,31,(2,31,-1),无符号基本整型,unsigned int,16,(,2,),0,65535,0,(2,16,-1),无符号短整型,unsigned short,16,(,2,),0,65535,0,(2,16,-1),无符号长整型,unsigned long,32,(,4,),0,4294967295,0,(2,32,-1),2.2.1 整型数据,第2章 数据与运算,2.2 数据类型,整型变量的定义:,整型类型说明符 变量标识符,变量标识符,;,示例:,int a,b,c;,/*定义a,b,c为基本整型变量*/,long d,e;,/*定义d,e为长整型变量*/,unsigned x,y;,/*定义x,y为无符号基本整型变量*/,在书写变量说明时,应注意以下几点:,(1)允许在一个类型说明符后说明多个相同类型的变量。各变量名之间用逗号间隔。类型说明符与变量名之间至少用一个空格间隔。,(2)最后一个变量名之后必须以“;”号结尾。,(3)变量说明必须放在变量使用之前,一般放在函数体的开头部分。,1整型变量,2.2.1 整型数据,第2章 数据与运算,2.2 数据类型,2整型常量,整型常量即整常数。,按不同的进制区分,整型常数有三种表示方法:,(1)十进制数:,以非0开始的数,,如:254,-10,45600。,(2)八进制数:,以0开始的数,,如:06,0106,057。,(3)十六进制数:,以0X或0 x开始的数,,如:0X2A,0XFF,0 x58。,1整型变量,2.2.1 整型数据,第2章 数据与运算,2.2 数据类型,(1)一个整常量,如果其值在-32768+32767范围内,认为它是int型。它可以赋值给int型和1ong int型变量。,(2)一个整常量,如果其值超过了上述范围,而在-21474836482147483647范围内,则认为它是1ong int型。可以将它赋值给一个1ong int型变量。,(3)如果某一计算机系统的C版本确定的short int 与int型数据在内存中占据的长度相同,则它表示的数据范围与int型相同,因此一个int型的常量也同时是一个short int型常量,可以赋给int型或short int型变量;,整型常量的类型:,2整型常量,1整型变量,2.2.1 整型数据,第2章 数据与运算,2.2 数据类型,(4)常量中无unsigned型。但一个非负值的整常量可以赋给unsigned型整变量,只要它的范围不超过变量表示的数据范围即可。例如,将50000赋给一个unsigned int型变量是可以的,而将70000赋给它则是不行的(溢出)。,(5)在一个整常量后面加一个字母l或L,则认为是1ong int型常量。,整型常量的类型:,2整型常量,1整型变量,2.2.1 整型数据,第2章 数据与运算,2.2 数据类型,2.2.2 实型数据,1实型变量,实型也称为浮点型,Turbo C中实型变量有以下两种类型:,(1)单精度浮点型。,类型说明符为float,占4个字节(32位)内存空间,其数值范围为3.4E-383.4E+38,只能提供七位有效数字。,(2)双精度浮点型。,类型说明符为double,占8个字节(64位)内存空间,其数值范围为1.7E-3081.7E+308,可提供十六位有效数字。,说明:,浮点数均为有符号浮点数,没有无符号浮点数。,第2章 数据与运算,2.2 数据类型,2.2.2 实型数据,1实型变量,实型变量定义:,实型类型说明符 变量标识符,变量标识符,;,示例:,float a,f;/*定义a,f为单精度浮点型变量*/,double b;/*定义b为双精度浮点型变量*/,第2章 数据与运算,2.2 数据类型,2.2.2 实型数据,1实型变量,2实型常量,实型常量又称实数或浮点数,有两种表示形式:,(1)十进制数形式。,十进制数形式由数字和小数点组成(注意必须有小数点)。例如:0.123、.123、123.0、123.、0.0、123.123等都是十进制数形式。,(2)指数形式。,指数形式由十进制数加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般形式为a E n(a为十进制数,n为十进制整数),表示值为 a10n,其中,a,n均不可缺省。,例:0.123E4 表示值为0.123104,-5.123E-4 表示值为-5.12310-4,第2章 数据与运算,2.2 数据类型,2.2.2 实型数据,1实型变量,2实型常量,说明:,(1)浮点常数只有一种进制(十进制)。,(2)所有实型常量都被默认为double类型。,(3)绝对值小于1的浮点数,其小数点前面的零可以省略。,(4)Turbo C以默认格式输出浮点数时,最多只保留小数点后六位。,第2章 数据与运算,2.2 数据类型,2.2.3 字符型数据,1字符常量,C语言的字符常量是用单引号(即撇号)括起来的一个字符。,例如:a、x,D、?、,$、A4等都是不同的字符常量。,C还允许用一种特殊形式的字符常量,这种特殊形式的字符常量称为,转义字符。,转义字符以反斜线“”开头,后跟一个或几个字符。,转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。转义字符主要用来表示那些用一般字符不便于表示的控制代码。,第2章 数据与运算,2.2 数据类型,2.2.3 字符型数据,1字符常量,转义字符,表示含义,n,回车换行,t,横向跳到下一制表位置,v,竖向跳格,b,退格,r,回车,f,走纸换页,反斜线符,单引号符,a,鸣铃,ddd,1,3,位八进制数所代表的字符,xhh,1,2,位十六进制数所代表的字符,第2章 数据与运算,2.2 数据类型,2.2.3 字符型数据,1字符常量,2字符变量,字符型变量用来,存放字符常量。,类型说明符为,char。,占,1个字节,(8位)内存空间。,字符变量的定义:,字符型类型说明符 变量标识符,变量标识符,;,示例:,char a,b;/*定义a,b为字符型变量*/,第2章 数据与运算,2.2 数据类型,2.2.3 字符型数据,1字符常量,2字符变量,字符值是以,ASCII,码的形式存放在变量的内存单元中的。,例如:,如果有,char a,b;,a=x;b=y;,查表可知,,x,的十进制,ASCII,码是,120,,,y,的十进制,ASCII,码是,121,,所以对字符变量,a,,,b,赋予,x,和,y,值,实际上是在,a,,,b,两个单元内存放,120,和,121,的二进制代码,即:,a,单元为:,b单元为:,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,1,第2章 数据与运算,2.2 数据类型,2.2.3 字符型数据,1字符常量,2字符变量,由此可见,,字符型量也可以看成是整型量。语言允许对整型变量赋以字符值,也允许对字符变量赋以整型值。在输出时,允许把字符变量按整型量输出,也允许把整型量按字符型量输出。整型量为二字节量,字符型量为单字节量,当整型量按字符型量处理时,只有低八位字节参与处理。,第2章 数据与运算,2.2 数据类型,2.2.3 字符型数据,1字符常量,2字符变量,3字符串常量,C语言的字符串常量是用双引号括起来的一个字符序列。,例如,“ABcd”、“9”、“a”等都是字符串常量。,第2章 数据与运算,2.2 数据类型,2.2.3 字符型数据,1字符常量,2字符变量,3字符串常量,字符串常量和字符常量是不同的量。它们之间主要有以下区别:,(1)字符常量由单引号括起来,字符串常量由双引号括起来。,(2)字符常量只能是单个字符,字符串常量则可以含多个字符。,(3)可以把一个字符常量赋给一个字符变量,但不能把一个字符串常量赋给一个字符变量。在语言中没有相应的字符串变量。,(4)字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字符数加1。增加的一个字节中存放字符0,这是字符串结束的标志。字符常量a和字符串常量“a”虽然看上去都只有一个字符,但在内存中的情况是不同的:a在内存中占一个字节,可表示为a;“a”在内存中占两个字节,可表示为a0。,第2章 数据与运算,2.3 运算符和表达式,2.3.1 算术运算符和算术表达式,1算术运算符,运算符,作用,运算符,作用,+,加,-,取负,-,减,-,减,1,*,乘,+,增,1,/,除,(,类型,),类型转换,%,取模,第2章 数据与运算,2.3 运算符和表达式,2.3.1 算术运算符和算术表达式,1算术运算符,2算术表达式,算术表达式是由算术运算符、括号以及操作对象组成的符合C语言语法规则的表达式。,C语言规定:,(1)模运算符%仅用于整型变量或整型常量。,(2)一个表达式中如有多个运算符,则按相应运算符的优先级顺序计算。,(3)当运算对象两侧的运算符的优先级别相同时,应按运算符的结合律处理。,第2章 数据与运算,2.3 运算符和表达式,2.3.1 算术运算符和算术表达式,1算术运算符,2算术表达式,运算符,优先级,(值小的优先
展开阅读全文