第3章_数据类型运算符与表达式课件

上传人:我*** 文档编号:140690103 上传时间:2020-07-31 格式:PPT 页数:46 大小:597KB
返回 下载 相关 举报
第3章_数据类型运算符与表达式课件_第1页
第1页 / 共46页
第3章_数据类型运算符与表达式课件_第2页
第2页 / 共46页
第3章_数据类型运算符与表达式课件_第3页
第3页 / 共46页
第3章_数据类型运算符与表达式课件_第4页
第4页 / 共46页
第3章_数据类型运算符与表达式课件_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《第3章_数据类型运算符与表达式课件》由会员分享,可在线阅读,更多相关《第3章_数据类型运算符与表达式课件(46页珍藏版)》请在金锄头文库上搜索。

1、第3章 数据类型、 运算符与表达式, C程序设计,本章要点 数据的描述规则 数据的操作规则,主要内容 C的数据类型 (3.1) 常量与变量 (3.2) 整型数据 (3.3) 浮点型数据 (3.4) 字符型数据 (3.5) 变量赋初值 (3.6) 各类数值型数据间的混合运算 (3.7) 算术运算符和算术表达式 (3.8) 赋值运算符和赋值表达式 (3.9) 逗号运算符和逗号表达式 (3.10),C语言的数据类型 (3.1),一个程序应包括两个方面的内容: 对数据的描述:数据结构(data structure) 对操作的描述:算法(algorithm) 著名计算机科学家N. Wirth提出一个公式

2、: 数据结构 + 算法 = 程序 完整的程序设计应该是: 数据结构算法程序设计方法语言工具,C语言的数据类型 (3.1),数据:程序处理的对象。 数据类型:用以描述数据,每种数据类型决定: 该类型数据的存储方式: 所占用的存储空间长度(字节数) 在内存中的表示方式。 该类型数据的取值范围 对该类型数据所允许的操作 在程序中数据为各种数据类型的常量和变量。,C语言的数据类型 (3.1),C语言的数据类型:,常量与变量 (3.2),标识符 (3.2.2) 标识符(identifier):标识变量、常量、函数、数组、类型等的有效字符序列。 作用:用来为变量、常量、函数、数组、类型等命名。 组成规则:

3、只能由字母、数字和下划线组成,且第一个字符必须是字母或下划线。 长度限制:依不同的编译系统而异。 注意: 标识符区分大小写字母 不能使用关键字作标识符(关键字见附录B) 不宜混淆: 如l与I, o与0 注意长度限制 命名原则: 见名知意,常量与变量 (3.2),标识符 (3.2.2) 例:判断下列标识符号合法性 sum Sum D.John day Date 3days book_price -123 list_1_2 $123 char a=b _above,常量与变量 (3.2),常量 (3.2.1) 常量:在程序运行过程中,其值不能被改变的量。 C语言的常量分直接常量和符号常量。 直接常

4、量(字面常量):从其字面形式可判别。 整型常量 例: 100,12,-100,0 实型常量 例: 3.14, 0.125,-3.789, 0.0 字符型常量 例: a, b,2, + 字符串常量 例: a, ab, 1232,常量与变量 (3.2),常量 (3.2.1) 符号常量:用标识符表示的常量。 定义格式: # define 标识符 常量 例:# define PI 3.14 #define LENGTH 10 注意:#与define之间可加或不加空格,最后不能加分号。 用法:定义一个符号常量之后,程序中凡出现该标识符均代表相应的常量。 例3.1 符号常量的使用,/例3.1 #defin

5、e PRICE 30#include void main ( ) int num, total; num=10; total=num * PRICE; printf(total=%dn,total); ,说明: 符号常量的值不可改变 符号常量的标识符习惯上用大写 关于编译预处理命令 使用符号常量的好处:含义清楚,修改方便。,常量与变量 (3.2),变量 (3.2.2) 变量:在程序运行过程中,其值可以被改变的量。 变量名与变量值 变量名用标识符表示,用以标识变量。 变量值为变量表示的数据,可以改变。 变量与存储空间 一个变量代表内存中具有特定属性的一个存储空间,它用来存放数据,即相应变量的值。

6、 变量某存储空间 变量值相应存储空间中的数据 变量的地址相应存储空间的首地址,常量与变量 (3.2),变量 (3.2.2) 变量的定义:指定变量的数据类型。 为何要定义变量? 一般格式: 数据类型 变量1,变量2,变量n; 注意: 变量应先定义后使用。 一个变量不能重复定义。 变量取名遵循见名知义的原则。 变量名中一般用小写字母。,常量与变量 (3.2),变量 (3.2.2) 变量的赋值:将数据存入变量所对应的存储空间。 赋值运算符:= 赋值的一般形式:变量=表达式 例如: a=100; x=3.5; i=i+1;,整型数据 (3.3),计算机中数的表示及进制 数码、基与权 数码:表示数的符号

7、 基:数码的个数 权:每一位所具有的值 数制,十进制:4956= 410+910 +510+610,二进制:1011=12+02 +12+12,十六进制:81AE=816+116 +1016+1416,八进制:4275=48+28 +78+58,整型数据 (3.3),计算机中数的表示及进制 字节和位 每个二进位的值是0或1 一个字节由8个二进制位组成 内存以字节为单元组成 一般每个字节有一个地址 数据在计算机中以二进制形式存储 数值以补码表示(关于补码的知识在其它课程中学习) 有符号数符号的表示: 最高位0-表示正数 最高位1-表示负数 表示的数值范围:n位二进制表示的范围 有符号整数:-2n

8、-12n-1-1 无符号整数:02n-1,整型数据 (3.3),整型常量 (3.3.1) 整型常量(整常数)的形式 十进制整数 例: 123, -456, 0 八进制整数:由数字0开头。 例: 011, -0123 十六进制整数:由0 x或0X开头。(0 x中是数字0) 例: 0 x123, 0Xff, -0 x11 计算下列整常数的十进制值: 011 -012 -0 x11 0Xff 整型常量的类型 根据其值所在范围确定其数据类型 在整常量后加限定词l或L、U或UL,认为它是long int 型或无符号整型、无符号长整型常量,整型数据 (3.3),整型变量 (3.3.2) 整型变量的分类 分

9、3类: 基本整型:int 短整型: short int 长整型: long int 根据是否有符号,分6种: 有符号基本整型: signed int 无符号基本整型: unsigned int 有符号短整型: signed short int 无符号短整型: unsigned short int 有符号长整型: signed long int 无符号长整型: unsigned long int 整数类型的长度和取值范围 长度: shortintlong (具体长度依计算机系统而异) 取值范围依长度而定,整型数据 (3.3),整型变量 (3.3.2) 整型变量的定义 一般格式: 整数类型 变量1

10、,变量2,变量n; 例: int a,b; (定义整型变量、) unsigned short c,d;(定义无符号短整型变量、) long e, f ; (定义整型变量、),整型数据 (3.3),整型变量 (3.3.2) 整型变量的定义 例3.2 整型变量的定义与使用 #include void main( ) int a,b,c,d; /*指定a、b、c、d为整型变量*/ unsigned u; /*指定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=

11、-14 说明:可以看到不同种类的整型数据可以进行算术运算。,整型数据 (3.3),整型变量 (3.3.2) 整型数据的溢出 一个整型变量的值若超出其数据类型的取值范围,则出现溢出,此时将得到不正确的值。 为何会溢出? 例3.3 整型数据的溢出(修改后的例子) #include void main() short a,b; a=32767; b=a+1; printf (%d, %dn,a,b); ,输出结果: 32767, -32768 注意:C语言编译时不检查溢出,程序设计时要注意避免数据溢出。,实型(浮点型)数据 (3.4),实型常量 (3.4.1) 实型常量也称实数或浮点数。 实型常量的

12、表示形式 十进制数形式:(必须有小数点) 如 0.123, .123, -123.0, 0.0, 123. 指数形式:(e或E之前必须有数字;指数必须为整数) 如 12.3e3, 123E2, 1.23e-4, -1e10 为何用指数形式? 判别合法的指数形式的浮点数: 0E1 -0.1234e12 e-5 1e-10 1.2E-3.5 1.2e .e3 规范化的指数形式:小数点左边有且仅有一位非零数字。 例:2.378e2 3.0999E5 6.46832e12 实型常量的类型 C编译系统将实型常量作为双精度来处理。 后面加f或F则作为单精度处理。,实型(浮点型)数据 (3.4),实型变量

13、(3.4.2) 浮点型数据在内存中的存放形式 浮点型数据是按照指数形式存储的。系统把一个浮点型数据分成小数部分和指数部分,分别存放。指数部分采用规范化的指数形式。,小数部分所占位数越多,数据的精度越高,指数部分所占的位数越多,数据的取值范围越大。,实型(浮点型)数据 (3.4),实型变量 (3.4.2) 实型变量的分类 分3类 单精度:float 双精度:double 长双精度:long double 实型数据的长度、精度和取值范围,实型(浮点型)数据 (3.4),实型变量 (3.4.2) 实型变量的定义 例: float x, y; double z; 实型数据的舍入误差 对实型数据运算时注

14、意数据的精度,控制由于精度限制导致的舍入误差。 例3.4 浮点型数据的舍入误差,/例3.4 浮点型数据的舍入误差#include void main( ) float a,b; a = 123456.789e5; b = a + 20 ; printf(%fn,b);,输出结果: ?,字符型数据 (3.5),字符常量 (3.5.1) 一般的字符常量:单引号括起来的一个字符。 例:a , A, 2, # 转义字符: 以开头的特殊字符。 转义字符及其作用(表3-3 P48) 例: n 换行 t 横向跳格 r 回车 反斜杠 ddd 1到3位八进制数所代表的字符 xhh 1到2位十六进制数所代表的字符

15、 为何用转义字符? 例:转义字符的使用,/例:转义字符的使用 #include void main( ) printf(I say:How are you?n); printf(C Programn); printf( ab ct derftgn); printf(“Yb=n”); ,屏幕上的显示结果: I say: How are you? C Program f gde =,打印结果: I say: How are you? C Program fab c gde ,字符型数据 (3.5),字符变量 (3.5.2) 字符型变量用来存放字符,注意只能放一个字符。 字符类型标识符:char 字

16、符变量的定义形式如下:char c1,c2; 字符数据在内存中的存储形式 (3.5.3) 一个字符型数据在内存中占一个字节,存储字符的ASCII码二进制形式。 ASCII码共256个,见附录A。 例: char c1,c2; c1=a; c2=b;,字符型数据 (3.5),字符数据和整型数据的通用性 字符数据可以当作整型数据运算,即对其ASCII码运算。 在ASCII码范围内的整数也可当作字符数据,即对ASCII码对应的字符运算。 为何可通用? 应用示例 例3.6 向字符变量赋以整数。 例3.7 大小写字母的转换。,例3.6 向字符变量赋以整数。 #include void main() char c1,c2; c1=97; c2=98; printf(“%c %cn”,c1,c2); printf(“%d %dn”,c1,c2);,/ 例3.7 大小写字母的转换

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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