资源预览内容
第1页 / 共86页
第2页 / 共86页
第3页 / 共86页
第4页 / 共86页
第5页 / 共86页
第6页 / 共86页
第7页 / 共86页
第8页 / 共86页
第9页 / 共86页
第10页 / 共86页
亲,该文档总共86页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第二章 数据类型、运算符与表达式一个程序应包括两个方面的内容:数据的描述。操作步骤,即动作的描述。数据是操作的对象,操作的结果会改变数 据的状况。厨师做菜肴,菜谱上一般应包括:配料,指出应使用哪些原料:操作步骤。面对同一些原料可以加工出不同风 味的菜肴。作为程序设计人员,必须认真考虑和设计数据结构和操作步骤(即算法)。因此,著名计算机科学家沃思(Niklklaus Wirth)提出一个公式:数据结构十算法=程序 实际上,一个程序除了以上两个主要要 素之外,还应当采用结构化程序设计方法进 行程序设计,并且用某一种计算机语言表示 。因此,可以这样表示。程序算法十数据结构十程序设计方法 十语言工具和环境也就是说,以上四个方面是一个程序设计 人员所应具备的知识。2.1 的数据类型 语言提供的数据结构是以数据类型形式出现 的。所谓类型,就是对数据分配存储单元的安排, 包括存储单元的长度(占多少字节)以及数据 的存储形式。 不同的类型分配不同的长度和存储形式。C语言允许使用的数据类型: 基本类型整型类型基本整型短整型长整型双长整型字符型布尔型u浮点类型 l单精度浮点型 l双精度浮点型 l复数浮点型 C语言允许使用的数据类型: 基本类型 枚举类型 空类型 派生类型指针类型数组类型结构体类型共用体类型函数类型算术类型纯量类型2.2 常量与变量2.2.1常量和符号常量在程序运行过程中,其值不能被改变的量称为常量。 常量区分为不同的类型, 整型常量:如1000,12345,0,-345 实型常量 0.34 -56.79 0.0 12.34e3 (代表12.34103) 字符常量:如?转义字符:如n 字符串常量:如”boy” 符号常量:#define PI 3.1416例#define PI 3.1415926 main() float s,r,l; r=10.;l=2.*PI*r;s=PI*r*r; printf(“l=%f s=%fn“,l,s); printf(“PI=%fn“,PI); 程序中用#define命令行定义PI代表常量 3.1415926,此后凡在此文件中出现的PI都代表 3.1415926,可以和常量一样进行运算.这种用一个标识符代表一个常量的,称为符号 常量,即标识符形式的常量,注意符号常量不同于 变量,它的值不能改变,也不能再被赋值。如再用 以下赋值语句给PI赋值:PI=3.1416 是错误的。习惯上,符号常量名用大写,变量用小写,以 示区别 #define PRICE 30 main() int num,total; num=10; total=num* PRICE; printf(“total=%d”,total); 2.2.2变量变量名3变量值a其值可以改变的量称为变量。一个变量应该有一个 名字,在内存中占据一定的存储单元。在该存储单 元中存放变量的值。请注意区分变量名和变量值这 两个不同的概念。2.2.3 常变量常变量具有变量的基本属性:有类型,占存 储单元,只是不允许改变其值。 举例 const int a=3; 注意:1、常变量是有名字的不变量,常量是 没有名字的不变量。 2、符号常量不分配存储单元,而常变量占用 存储单元 2.2.3标识符 标识符:用来标识变量名、符号常量名、函 数名、数组名、类型名、文件名的有效字符 序列称标识符(identifier),简单他说,标 识符就是一个名字。 C语言规定标识符只能由字母、数字和下 划线三种字符组成,且第一个字符必须为字 母或下划线。如 sum,average,class,day,month,student_na me, 下面是不合法的标识符和变量名: M.D, $123. #33, 3D64,a b 注意:1、大写字母和小写字母被认为是两个 不同的字符。习惯上,变量名用小写字母表 示,以增加可读性。 2、标识符长度建议在4-25个字符之间。 在选择变量名和其它标识符时,应注 意做到“见名知意”,即选有含意的英 文单词(或其缩写)作标识符,如 count, name, day, month, class, city, country等,以增加程序的可读 性。这是结构化程序的一个特征。 在语言中,要求对所有用到的变量 作强制定义,也就是“先定义,后使用 ”,否则,在编译时会指出有关“出错 信息”。 关键字又叫保留字, 是C编译系统已规定某些标识符有特定含义,用户只能按规定使用。在程序中定义标识符时, 不能与关键字同名。例如: int 是用来说明某个量是整型的关键字, 用户不能用int作为变量名, 尽管它符合标识符的命名要求。什么是关键字在C中共有32个基本的关键字 , 都是用小写字母组成的。用户不能用。 见 P. 378 2.3 整型数据2.3.1 整型常量 整型常量即整常数。语言中整常数可 用以下三种形式表示: 十进制整数。如、一、 。 八进制整数。以O开头的数是八进制数 。如 O123表示八进制数123,即(123)8等于十进 制数。 -011表示八进制数-11,即十进制数-9。 十六进制整数。以开头的数是 进制数。 ,代表进制数,即 ()16 0=。 一等于十进制数一。 main() int a=0123,b=0x123; printf(“a=%d,b=%d”,a,b);2.3.2 整型变量一、整型变量的分类整型变量可分为:基本型、短整型、长整型和无符号型四种。基本型,以int表示。2.短整型,以short int表示,或以short表示。3.长整型,以1ong int表示,或以1ong表示。4.双长整型,以long long int表示,C99新增的 4. 无符号型,存储单元中全部二进位(bit)用作存放数本身,而不包括符号。 无符号型中又分为无符号整型、无符号短整型、无符号长整型和无符号双长整型,分别以unsigned int,unsigned short, unsigned long,unsigned long long 表示。 无符号型变量只能存放不带符号的整数。 一个无符号整型变量中可以存放的数的范围比一般整型变量中正数的范围扩大一倍。如果整型量在内存中占2个字节(16位),则int型变量数的范围为: -32768 32767.unsigned int型变量的范围为0 65535 数值 | 补码 -|-0 | 00000000 -1 | 11111111-2 | 11111110-3 | 11111101-4 | 11111100 .| . (往下不断减1). .-127 | 10000001-128 | 10000000 -|- 1 | 00000001 2 | 00000010 . | . . | .(往下不断加1 ) . | . 126 | 01111110 127 | 01111111类型说明符数的范围字节 数 基本型int-215(215-1)2int-231(231-1)4无符号 基本型unsigned int0(232-1)4短整量short int-215(215-1)2无符号 短整型unsigned short int0(216-1)2长整型long int-231(231-1)4无符号 长整型unsigned long0(232-1)4 二、整型变量的定义 前已提到,C规定在程序中所有用到的变量 都必须在程序中指定其类型,即“定义”。 例如: int a,b ;/指定变量a,b为整型) unsigned short c,d; /指定变量c,d为 无符号短整型) 1ong e,f; /指定变量e,f为长整型 ) 对变量的定义,一般是放在一个函数的开 头部分例2.2main()int a,b,c,d; /指定a,b,c,d为整型变量 unsigned u; /指定为无符号整型变量 a=12;b=-24;u=10;c=a+u;d=b+u;printf(“c=%d d=%d“,c,d);运行结果为 c,d=-14结论: 可以看到不同种类的整型数据 可以进行算术运算。 例如:#include main() short int a,b; a=32767; b=a+1; printf(“%d%d”,a,b); 三、整型常量的类型在将一个整型常量赋值给不同类别的整 型变量时请注意以下几点:1.一个整常量,如果其值在一32768 +32767范围内。认为它是int型,它可以赋值 给int型和short int型等变量。 一个整常量,如果其值超过了上述范 围,而在一21474836482147483647范围内, 则认为它是1ong int型。可以将它赋值给一 个1ong int型变量。3如果某一计算机系统的版本确定的short int 与int型数据在内存中占据的长度相同,则它的 表述范围与int型相同,因此一个int型的常量也 同时是一个short int型常量,可赋给int型或 short int型变量。4.常量中无unsigned型。但一个非负值的整常量可 以赋值给unsigned型整变量,只要它的范围不超 过变量的表述范围即可,例如,将50000赋给一个 unsigned int型变量是可以的,而将70000赋给 它是不行的(溢出)。5.不能将负数赋值给无符号整型。 unsigned short a=-1; printf(“%dn”,a);6.在一个整常量后面加一个字母l或L则认为 是1ong int型常量。例如123l、432L. 2.4 实型数据 2.4.1 实型常量 实数在语言中又称浮点数,实数有两种表
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号