C语言程序设计教程第2章北京邮电大学出版社

上传人:油条 文档编号:2657677 上传时间:2017-07-26 格式:PPT 页数:47 大小:339KB
返回 下载 相关 举报
C语言程序设计教程第2章北京邮电大学出版社_第1页
第1页 / 共47页
C语言程序设计教程第2章北京邮电大学出版社_第2页
第2页 / 共47页
C语言程序设计教程第2章北京邮电大学出版社_第3页
第3页 / 共47页
C语言程序设计教程第2章北京邮电大学出版社_第4页
第4页 / 共47页
C语言程序设计教程第2章北京邮电大学出版社_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《C语言程序设计教程第2章北京邮电大学出版社》由会员分享,可在线阅读,更多相关《C语言程序设计教程第2章北京邮电大学出版社(47页珍藏版)》请在金锄头文库上搜索。

1、第 2 章 C语言的基本数据类型与表达式 2.1 常量和变量 2.2 C语言的基本数据类型 2.3 数据类型转换 2.4 运算符与表达式,C语言程序设计教程,2,C语言的数据类型,第2章 C语言的基本数据类型与表达式,C语言提供的数据结构,是以数据类型形式出现的。具体分类如下:1.基本类型 分为整型、实型(又称浮点型)、字符型和枚举型四种。2.构造类型 分为数组类型、结构类型和共用类型三种。3.指针类型。在第9章中介绍。4.空类型 C语言中的数据,有常量和变量之分,它们分别属于上述这些类型。,3,本章将介绍基本类型中的整型、实型和字符型三种数据。,4,一、常量与符号常量 常量是指在程序运行中,

2、其数值不能被改变的量。 常量又可分为直接常量和符号常量。,第2章 C语言的基本数据类型与表达式,2.1 常量与变量,常量的类型,可通过书写形式来判别。,5,120 、 -100、 0; 0120、 072; 0xFFFF、 0x1e、0X28AF,0XED4 ; 120L, 200L ; 长整型常量 3.14、 -3.1、 5.12E-6 ; 099、12f、 0xg 、48EA ; 019.5 、1e-08; 实型常量只能用十进制形式表示 2.1E10.2、E-6、6.4E+4.8、E9 ; changsha 、+?ab ;,第2章 C语言的基本数据类型与表达式,1、直接常量:是在程序中直接

3、引用的数据。,请判断这些常量正确与否:,6,2、符号常量 是用标识符来表示一个数据;在程序不能给它赋值。 定义形式: #define 标识符 常量数据 例如: #define PI 3.14159 在程序预处理时,凡是出现标识符PI的地方都将用数据3.14159来替换。 如: 2*2.3*PI 就等价于 2*2.3*3.14159。二、 变量1.变量的概念 在程序运行过程中,其值可以被改变的量称为变量。2.变量的两个要素,第2章 C语言的基本数据类型与表达式,7,(1)变量名。每个变量都必须有一个名字变量名,变量命名遵循标识符命名规则。(2)变量值。在程序运行过程中,变量值存储在内存中。在程序

4、中,通过变量名来引用变量的值。3.标识符命名规则(1)有效字符:只能由字母、数字和下划线组成,且以字母或下划线开头。(2)有效长度:随系统而异,但至少前8个字符有效。如果超长,则超长部分被舍弃。例如,由于student_name和student_number的前8个字符相同,有的系统认为这两个变量,是一回事而不加区别。在TC V2.0中,变量名(标识符)的有效长度为132个字符,缺省值为32。,8,(3) C语言的关键字不能用作变量名。 注意:C语言对英文字母的大小敏感,即同一字母的大小写,被认为是两个不同的字符。 习惯上,变量名和函数名中的英文字母用小写,以增加可读性。思考题:在C语言中,变

5、量名total与变量名TOTAL、ToTaL、tOtAl等是同一个变量吗?标识符命名的良好习惯见名知意: 所谓“见名知意”是指,通过变量名就知道变量值的含义。通常应选择能表示数据含义的英文单词(或缩写)作变量名,或汉语拼音字头作变量名。例如,name/xm(姓名)、sex/xb(性别)、age/nl(年龄)、salary/gz(工资)。,9,4.变量的定义与初始化在语言中要求对所有用到的变量,必须先定义、后使用;且称在定义变量的同时进行赋初值的操作为变量初始化。,(2)变量初始化 在说明变量的同时给变量一个初始值。,int a=5, b=3; int a=b=c=3; int a,b,c; a

6、=b=c=3; ,例如,10,main( ) int x,y,z,w; /*定义x,y,z,w为整型变量*/ unsigned int k; /*定义k为无符号整型变量*/ x=10;y=-20;k=30; z=x+k;w=y+k; printf(“x+k=%d,y+k=%dn”,z,w);,第2章 C语言的基本数据类型与表达式,例2-1:,程序运行结果为: x+k=40,y+k=10,11,5、变量的作用域 C语言程序是由函数组成的,且有且只能有一个main函数。 变量定义可以出现在函数内,亦可出现在函数外或者是函数的参数中。,按照变量定义语句出现的位置,可以分为:,局部变量:在函数内定义;

7、 只在该函数中才能使用。 全局变量:在函数外定义; 从它被定义的位置起,在之后的所有函数中有效。形式参数:定义为函数的参数; 只在该函数中才能使用。,第2章 C语言的基本数据类型与表达式,12,变量的特点: 变量是指以标识符为名字,其值可以改变的量。 变量代表计算机内存中的某一存储空间,该存储空间中存放的数据就是变量的值。 在同一程序块中,变量不能被重复定义。 使用变量时必须“先定义,后使用”,13,1、整型常量表示方法: (1) 十进制形式:与数学上的整数表示相同; 例如: 12, -100, 0 (2) 八进制形式:在数码前加数字0; 例如: 012=1*81+2*80=10(十进制) (

8、3) 十六进制形式:在数码前加0X(数字0和字母X)。 例如: 0x12=1*161+2*160=18(十进制) * 八进制的数码范围为07; 018 * 十六进制的数码除了数字09外, 还使用英文字母a f (或A F)表示1015。 如:0x1e ,注意!,2.2 C语言的基本数据类型一、整型数据,第2章 C语言的基本数据类型与表达式,14,2、整型变量分类: 根据数据所占的二进制位数分为:int、short、long; 同样存储长度的数据又分unsigned、signed; 故可组合出六种类型。3、整型变量值域: 由机器中数据的存储长度决定。 如Turbo C中,有 short(2字节)

9、int(2字节) long(4字节) 关键字 所占位数 取值范围 short 16 -3276832767 unsigned short 16 065535 int 16 -3276832767 unsigned 16 065535 long 32 -21474836482147483647 unsigned long 32 04294967295,第2章 C语言的基本数据类型与表达式,15,4.数据在内存中的形式以二进制的形式存放,以补码表示。 数据在内存中是以二进制的形式存放的, 如定义 int i=12; 根据在C编译系统一个整型变量所占的字节数为2,变量i在内存中的实际存放情况如图2-

10、1所示。 图2-1 整型变量i在内存中的存放示意图 实际上,数值是以补码表示的。正数的补码: 与原码相同负数的补码: 负数取绝对值二进制按位取反再加1补码,16,3的原码 按位取反 加1 得-3的补码 由此可知,在整数的16位中,最左边的一位为符号位,为0,表示数值为正;为1,表示数值为负,例如:求-3在内存中的存放形式,17,5.整型数据的溢出:,不同的整型数据有不同的取值范围,在程序运行过程中,如果出现数值超出整型数据的允许值范围,就会出现“溢出”。例如:一个int型的变量的最大值为(215-1)=32767,如果再加1,则产生溢出,其结果为: -215 =-32768,32767,-32

11、768,18,1、实型常量表示方法:(1) 十进制小数形式:由数字和小数点组成; 例如: 3.4, 4., .3。(2) 指数形式:“十进制小数”+“ e(或E)”+“十进制数整数”。 例如: 12.5e-6 表示12.510-6 。 小数点不能单独出现; 0. .0 . e或E的两边必须有数,且其后面必须为整数; 如: 6E0.2 e5 2、实型变量分类: 关键字 字节数 取值范围 精度(位) float 4 3.410-38 3.41038 7 double 8 1.710-308 1.710308 15,注意,第2章 C语言的基本数据类型与表达式,二、实型数据,19,3实型数据的舍入误差

12、,void main() float a=1234567.896; float b=1234567.848; printf(“a=%fnb=%fn”,a,b);,void main() double a=1234567.896; double b=1234567.848; printf(“a=%fnb=%fn”,a,b);,结果: a=1234567.875000 b=1234567.875000,结果: a=1234567.896000 b=1234567.848000,20,为什么会出现这种情况?是由于实型数据是用有限的存储单元进行存储的,因而能提供的有效数字有限,在有效数字以外的数字将被

13、舍弃。对于float型变量,只能保证前7位数字是准确的,后面的数字是无意义的,而采用double型变量后,其精度大幅度提高,能保证前15位有效数字是准确的。另外,同样因为有效数字的位数问题,在程序中应避免用一个很大的数加上或减去一个很小的数,否则会丢失小的数。,21,1、字符常量: (1) 用单引号括起来的一个字符;如:A、 1、?等。 (2) 用单引号括起来的由反斜杠()引导的转义字符。 转义是指在源程序中碰到这种字符组合时,反斜杠的意义已经发生转变,变成控制代码和具有某些特殊用途的单个字符。例如,n已不再代表英文小写字母n,而转义成了“换行符”。 字符形式 功能 n 换行 t 横向跳格 b 退格 r 回车 反斜杠字符 单引号字符 ddd 8进制数表示的ASCII码对应的字符 xhh 16进制数表示的ASCII码对应的字符,

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

当前位置:首页 > 行业资料 > 其它行业文档

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