C程序设计数据类型及表达式

上传人:宝路 文档编号:48103222 上传时间:2018-07-09 格式:PPT 页数:66 大小:546.57KB
返回 下载 相关 举报
C程序设计数据类型及表达式_第1页
第1页 / 共66页
C程序设计数据类型及表达式_第2页
第2页 / 共66页
C程序设计数据类型及表达式_第3页
第3页 / 共66页
C程序设计数据类型及表达式_第4页
第4页 / 共66页
C程序设计数据类型及表达式_第5页
第5页 / 共66页
点击查看更多>>
资源描述

《C程序设计数据类型及表达式》由会员分享,可在线阅读,更多相关《C程序设计数据类型及表达式(66页珍藏版)》请在金锄头文库上搜索。

1、第4章 数据类型及表达式 4.1 数 据 结 构4.2 C语言程序中数据的表示方法4.3 运算符及其表达式4.4 C语言中的类型转换4.1 数 据 结 构数据结构是程序设计中计算机的操作对象 以及操作对象之间关系和操作的描述。一个函 数体中包括两大部分内容:其一是数据描述部 分,其二是算法实现部分。要完成数据描述部 分的内容,就必须寻找问题中的操作对象以及 它们之间的关系,然后用计算机语言加以描述 。著名的计算机科学家沃斯(Nikilaus Wirth )提出了公式:数据结构算法程序该公式表明除算法之外,一个程序中的数 据结构是编写程序首先要解决的问题。例4.1中 的“链表”、“树”和“图”就

2、是数据结构中的重要类 型。当然一个好的程序除了应该具备公式中两个 主要因素外,还应该选择合适的程序设计语言和 程序设计方法。C语言提供的数据结构是以数据类型形式表 示的。 C语言提供了丰富的数据类型,主要有以下 类型:注:其中()括起来的是对应类型的类型关键字及该类 型在内存中所占的字节数。4.2 C语言程序中数据的表示方法数据是组成程序的必要元素,根据数据在程 序中值的变化与否,数据在C语言程序中以常量 和变量两种形式表示。4.2.1 常量1整型常量数据类型为整型的常量即为整型常量,又称整 常数。在语言中,使用的整型常量有八进制、十 六进制和十进制3种。其中八进制、十六进制主要 用于表示整型

3、常量在内存中的存储形式,也就是表 示某整型常量的机器码;十进制表示外部数据,其 值表示的是真值。(1)八进制整型常量八进制整型常量必须以0开头,即以0作 为八进制数的前缀。其数码取值为07。由 于八进制数主要用于表示某整型常量的机器 码,所以当表示某数机器码时,八进制数前 面没有符号;如果有符号,则是对其所代表 的真值取反。如0123,0123代表的真值为 83,0123代表的常量则为83。(2)十六进制整型常量十六进制整型常量的前缀为0X或0x。其数 码取值为09,AF或af。当十六进制数中 出现af或AF时,数符码中出现字母时字母 的大小写应和前缀相匹配,即要么全部大写, 要么全部小写。十

4、六进制数主要也是用于表示 某整型常量的机器码,所以当表示某数机器码 时,十六进制数前面没有符号;如果有符号, 则是对其所代表的真值取反。如0x23,0x23 代表的真值为35,0x23代表的常量则为35。(3)十进制整型常量十进制整型常量没有前缀。整型常量的几点说明如下。 常量的类型常量的类型可以根据整型常量描述的数值 来确定其类型。当整型常量的值为3276832767时,可 以看作基本型整型常量。当整型常量的值为065535时,可以看作 无符号整型常量。当整型常量的值在大于32767或小于 32768时,可以看作长整型常量。 整型常数的后缀十进制无符号整型常量的范围为0 65535,有符号数

5、为3276832767。八进制数表示的机器码范围为00177777。十六进制数表示的机器码范围为0X0 0XFFFF。如果希望将整型常量按照长整型常量来 运算,可以使用长整型数的后缀“L”或“l”来 表示。例如,十进制长整型常量 158L 358000L2浮点常量实型也称为浮点型。实型常量也称为实 数或者浮点数。实型常量不分单、双精度, 都按双精度double型处理,其有效位数为15 16位。(1)小数形式小数形式由数码0 9和小数点组成。当某 浮点数整数部分或小数部分为0时,0可以省略 ,但小数点不可省略。例如:0.0,.25,5.789,0.13,5.0,300., 267.8230,12

6、3.等均为合法的实数。345(无小数点),a7.(数码不可以是字母) 等均为非法的浮点数。(2)指数形式指数形式由尾数加阶码标志e或E以及阶码 (只能为整数,可以带符号)组成。其一般形式为a En(a为尾数,n为阶码) 其值为 a10n例如,2.1105可以表示为2.1E5,3.7 可以表示为3.7E2 3单字符常量单字符常量是用单引号括起来的一个字符。单字 符常量可以有如下几种表示方法。(1)直接形式直接形式即在单引号内直接书写字符。例如a 、b、? (2)八进制形式八进制形式格式为ddd,其中“ddd”表示13 位八进制数,其值代表的是某字符的ASCII值。“” 是转义字符。八进制形式可以

7、表示所有的字符。例如 101(等于A),007(响铃控制字符),343 (表示ASCII值为227的字符)。 (3)十六进制形式十六进制形式格式为xhh,其中“hh”表示1 2位十六进制数,其值代表的是某字符的ASCII 值,“”是转义字符,“x”是十六进制前缀。十六 进制形式可以表示所有的字符。例如x41(等于 A),x07(响铃控制字符),xe3(表示 ASCII值为227的字符)。(4)转义字符转义字符是一种特殊的字符常量。转义字符 以反斜线“”开头,后跟一个或几个字符。转义 字符具有特定的含义,不同于字符原有的意义, 故称“转义”字符。表4-5常用的转义字符转 义 字 符转义字符的意义

8、转 义 字 符转义字符的意义n回车换行r回车t横向跳到下一制表 位置f走纸换页v竖向跳格反斜线符“b退格单引号符“双引号 4字符串常量字符串常量是由一对双引号括起的字符序 列,可以没有字符,也可以只有一个字符。例 如,“CHINA“ ,“How are you ! “, “$12.5“ ,“ “,“A“,“nc234“ 等都是合法的字符 串常量。字符串 “program“在内存存储的形式如图 4.1所示。 该字符串占用8个字节的存储空间,但其 有效字符的个数却是7,最后一个字节存储字 符串结束标志“0”。图4.1 字符串存储形式字符串的有效字符的个数是第一个“0”前字符 的个数的总和,有效字符

9、的个数也称为字符串长度 。例如: “computer“ 长度为8。 “n“ 长度为1。 “abcn3450china“ 长度为5,而不是16,因为“0” 后的字符是无意义的,“n”是一个转义字符, “345”是八进制表示的一个字符。 “ 长度为3,因为“”、“”与“”分别为一个 字符。5符号常量 在语言中,可以用一个标识符来表示一 个常量,称之为符号常量。符号常量在使用之 前必须先定义,其一般形式为: #define 标识符 常量 其功能是把该标识符定义为其后的常量值。 例4.2#define PI 3.14159 /*定义符号常量PI*/ main() float area,r; /*定义a

10、rea,r为float型变量*/r=5; /*使r的值为5*/area=PI*r*r; /*计算以r为半径的圆面积*/printf(“area=%fn“,area); /*输出圆面积*/ 4.2.2 变量1变量的基本知识在程序的执行过程中值可以发生变化的量 称为变量。(1)变量的命名。变量的命名符合标识符的规定。变量名 决定了某一变量在内存中的位置,即地址。 如变量a的地址就是 /*初始化变量a为5*/ float x=3.2,y=1.2e10; /*初始化x为3.2,y为 1.2x1010*/ char ch=K; /*初始化ch为K*/ int d=5; /*初始化d为5*/ int b=

11、d; /*初始化b为5,在int b=d;定义时d应有确定的 值*/4不同类型变量的说明(1)整型变量整型变量可分为基本型、短整型、长整型和 无符号型4类。 基本型基本型的类型说明符为int,在内存中占2个字 节,其取值的范围为2152151,即32768 32767。 短整型短整型的类型说明符为short int或short,所占 字节和取值范围均与基本型相同。 长整型长整型的类型说明符为long int或long,在内 存中占4个字节,其取值范围是2312311,即 21474836482147483647。 无符号型无符号型的类型说明符为unsigned。无符号 型又可与上述3种类型匹配

12、而构成。 无符号基本型。类型说明符为unsigned int或unsigned,取值范围是065535。 无符号短整型。类型说明符为unsigned short,与无符号基本型一样。 无符号长整型。类型说明符为unsigned long int 或unsigned long,取值范围为02321, 即04294967295。整型变量的说明形式为: 修饰符 int 变量表列;(2)浮点变量浮点变量分为单精度浮点型和双精度 浮点型两类。单精度浮点型类型说明符为 float,双精度浮点型类型说明符为double。 浮点变量说明的格式为: float变量表列; 或 double 变量表列;例如: fl

13、oat x,y; /*定义x,y为单精度浮点型*/ double a,b,c; /*定义a,b,c为双精度浮点型*/ float x=1234.56789; /*定义x为单精度浮点型,并初 始化值为1234.567*/(3)字符型变量字符型变量的取值是字符型数据。字符型 变量的类型说明符是char。字符型变量类型说明的格式:char 变量表列;例如: char c1,c2; /*定义c1,c2为字符型*/4.3 运算符及其表达式4.3.1 C运算符概述运算是对数据进行加工的过程,描述各种不 同运算的符号称为运算符。参加运算的数据称为 运算对象或操作数。用运算符和括号将运算对象 连接起来的符合C

14、语言语法规则的式子称为C语 言表达式。语言的运算符不仅具有不同的优先级,而 且还有结合性的特性。表达式中各运算对象参与 运算的先后顺序不仅要遵守运算符优先级别的规 定,还要受运算符结合性的制约,以便确定运算 符是和左侧的运算对象结合,还是和右侧的运算 对象结合。 4.3.2 算术运算符及算术表达式1算术运算符 C语言提供了5个基本的算术运算符: 加法运算符 - 减法运算符,负号运算符 * 乘法运算符 / 除法运算符 % 取余运算符或称模运算符运算符,的优先级相同,*,/,%的优先级相同,* ,/,%的优先级高于和运算符,算术运算符都是左结 合的运算符。2算术表达式用算术运算符和括号运算符将运算

15、对象连接起来的 符合C语言规则的式子,称为算术表达式。算术表达式的计算符合运算符优先级和结合性的原 则。计算表达式时的具体过程是:对表达式自左向右扫 描运算对象,然后考察运算对象两侧的运算符。如果优 先级不相同,则该运算对象和高优先级的运算符结合, 当某运算符所需的运算对象全部都和该运算符结合后进 行运算,运算后的结果就是下一个被处理的运算对象, 否则继续扫描下一个运算对象;如果两侧的运算符优先 级相同,则按照运算符的结合性原则去结合运算。如果 运算符是左结合的,则和左侧的运算符结合,如果是右 结合的,则和右侧的运算符结合。例如,表达式a+b*5/6 /*假定a=3,b=1*/图4.3 表达式计算过程4.3.3 自增自减运算符及含自增自减表达式C语言中提供了两个特殊的运算符,自增运 算符和自减运算符。它们都是单目运算符 ,运算对象可以位于运算符前面,也可以位于 运算符后面。当运算符位于运算对象前面时, 称为前缀运算符,如 i和i;当运算符位于 运算对象后面时,称为后缀运算符,如i和 i。自增自减运算符的功能是将运算对象加1或 减1后,再将结果保存到运算对象中去,如i 等同于ii1。自增自减运算符的运算对象只能

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

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号