C语言程序设计实例教程 教学课件 ppt 作者 管银枝 胡颖辉 第二章 数据的定义和运算

上传人:E**** 文档编号:89347148 上传时间:2019-05-23 格式:PPT 页数:75 大小:733KB
返回 下载 相关 举报
C语言程序设计实例教程 教学课件 ppt 作者  管银枝 胡颖辉 第二章 数据的定义和运算_第1页
第1页 / 共75页
C语言程序设计实例教程 教学课件 ppt 作者  管银枝 胡颖辉 第二章 数据的定义和运算_第2页
第2页 / 共75页
C语言程序设计实例教程 教学课件 ppt 作者  管银枝 胡颖辉 第二章 数据的定义和运算_第3页
第3页 / 共75页
C语言程序设计实例教程 教学课件 ppt 作者  管银枝 胡颖辉 第二章 数据的定义和运算_第4页
第4页 / 共75页
C语言程序设计实例教程 教学课件 ppt 作者  管银枝 胡颖辉 第二章 数据的定义和运算_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《C语言程序设计实例教程 教学课件 ppt 作者 管银枝 胡颖辉 第二章 数据的定义和运算》由会员分享,可在线阅读,更多相关《C语言程序设计实例教程 教学课件 ppt 作者 管银枝 胡颖辉 第二章 数据的定义和运算(75页珍藏版)》请在金锄头文库上搜索。

1、第二章 数据的定义和运算,2019/5/23,2.1 常量与变量,2.3 运算符及表达式,2.5 C语言的标识符,本章内容,2.2 数据类型,2.4 数据类型转换,2.6 本章小结,计算机程序从本质上来说就是对数据的定义、存储和运算处理,在进行C语言程序设计前,必须掌握数据的定义和运算,本章主要介绍C语言的常量与变量、数据类型、运算符和表达式、数据类型转换和标识符,这些都是C语言程序设计的基础。,2.1 常量与变量,已知一个圆的半径,编程求这个圆的周长和面积。,根据数学知识,圆的周长和面积都可以利用公式来求,如果我们用r代表圆的半径,用l代表圆的周长,用s代表圆的面积,用PI代表圆周率。这里圆

2、周率PI是固定不变的,而半径是可变的,则圆的周长与面积也是可变的,,程序清单如下: #define PI 3.1415926 /*PI为符号常量*/ main( ) float r,l,area; /*r,l,area为单精度型的变量*/ r=2.3; /*对r赋值*/ l=2*PI*r; /*求圆的周长*/ area=PI*r*r; /*求圆的面积*/ printf(“%f,%fn“,l,area); /*输出圆的周长和面积*/ ,C语言中的数据按其特性可分为常量与变量两大类。 常量是指在程序运行过程中,其值不能被改变的量。与数据类型结合起来分类,可分为整型常量、浮点型常量、字符常量、枚举常

3、量等。 变量是指在程序运行过程中,其值可改变的量。同样的,变量也可分为整型变量、浮点型变量、字符变量、枚举变量等。 *常量是可以不经说明而直接引用的,而变量则必须先定义后引用。,2.1.1 常量 常量分为直接常量和符号常量两种。 1、直接常量 直接常量又分为算术型运算常量(整型常量或实型常量)和字符型常量。 (1)整型常量:12、0、-35等 (2)实型常量(浮点型):45.63、.25、8.0 、8.等 (3)字符常量: a、b等。 (4)字符串常量:“123”,“HK”,“a+b=”等。,2、符号常量 即用一个标识符来代表一个常量(通常用大写字母表示)。 符号常量在使用之前必须先定义,其一

4、般形式为: #define 标识符 常量 其中, #define 也是一条预处理命令,其功能是把该标识符定义为其后的常量值。一经定义,以后在程序中所有出现该标识符的地方皆用该常量值代之。 例如,若程序中多次出现3.1415926这个直接常量,每次写起来比较麻烦,则我们用一名字(PI)代替它,这个名字PI就是符号常量。,关于符号常量的几点说明: (1)符号常量不同于变量,它的值在其作用域内不能改变,也不能再被赋值,如在前面的任务实施程序中使用如下语句是错误的: PI=3.14; (2)习惯上,符号常量名用大写,变量名用小写。 (3)使用符号常量的好处是:含义清楚,且能做到“一改全改”。例如,在前

5、面的任务实施序中可以用“#define PI 3.14”替代原有的“#define PI 3.1415926”,以达到修改圆周率的目的。,变量是指其值可以改变的量。一个变量应该有一个名字,在内存中占据一定的存储单元。变量名就是这个量的代号。如每个人都有名字一样,而变量值是这个量的取值。 1、变量定义的一般形式如下: 存储类型符 数据类型符 变量名列表; (1)存储类型符用来说明变量的存储类型,存储类型可以是自动类型(auto)、寄存器类型(register)、静态类型(static)、外部类型(extern),默认为自动类型(auto),如果对存储类型未作任何说明,则按默认的自动类型处理。关于

6、存储类型在本书的第7章中会详细介绍。 (2)数据类型符用来说明变量的数据类型,数据类型可以是C语言中任意一种基本数据类型或构造数据类型。 (3)变量名列表中多个变量之间用逗号隔开,数据类型符与变量名之间必须用空格隔开。 (4)最后一个变量名之后必须以“;”结尾。 例:char c1,c2,c3;,2.1.2 变量,定义变量后,在使用之前需要给定一个初始值。在C语言中,可以通过赋值运算符“=”给变量赋值。变量赋值语句的一般格式是: 变量名=表达式; 变量的赋值,一般有以下两种情况: (1)先定义变量,后赋值。如: int r; r=1; (2)变量的初始化。 在定义变量的同时为其赋值,称为变量的

7、初始化。定义的变量可以全部初始化,也可以部分初始化。对于上面的语句我们也可以这样写: int r=1; 即定义了整型变量r的同时,对其赋初值为1。,2、变量的赋值,在给变量赋值时,应注意以下几个问题: (1)变量在某一时刻只有一个确定的值,变量获得新值后,其原值将不再存在(喜新厌旧)。如: int r;r=1; r=2; 该程序执行后,变量r的值是2,而不是1。 (2)定义多个同类型变量时,如果给所有变量赋同一个值,只能逐个处理。如有三个整型变量x、y、z,且初值均为10,可以写成下面的形式: int x=10,y=10,z=10; (3)如果变量的类型与所赋数据的类型不一致,所赋数据将被转换

8、成与变量相同的类型。 例如,下面的定义是合法的: int x=10.5; long y=99; 该程序执行后,变量x的值是整数10(只将整数部分赋给变量x),变量y的值是长整数99。 (4) C语言中严格区分变量名字母的大小写。 如abc与Abc代表两个不同的变量。,程序离不开数据,数据是程序的处理对象。 C语言中可以使用的数据类型包括: 基本类型、构造类型、指针类型、空值类型四大类。,2.2 数据类型,C语言的数据结构是以数据类型形式出现的,所谓数据类型是按定义变量的性质、表示形式、占据存储空间的多少、构造特点来划分的。在C语言中,数据类型可分为基本数据类型、构造数据类型、指针类型、空类型四

9、大类,如下图2-1所示:,2.2.1 基本数据类型,C语言的基本类型修饰符有四种:sign(有符号)、unsign(无符号)、long(长整型)和short(短整型),这些类型修饰符可以与字符型或整型数据配合使用。C语言的基本数据类型和取值范围详见课本表2-1。 如: char型在内存中占1个字节 int型在内存中占2个字节,取值范围为-3276832767 long int型在内存中占4个字节 float型在内存中占4个字节 double型在内存中占8个字节等等。,1整型常量 整型常量就是数学中提到的整数。在C语言中,整型常量有十进制、八进制、十六进制三种表示方式,如表2-2所示。 应注意的

10、是,在程序中出现的八进制或十六进制一定要以前缀开头,但当程序以八或十六进制输出结果时前缀将消失。,2.2.2 整型数据,用来存储整型数(变量值是整型数)的变量为整型变量。 (1)整型变量的分类。 整型变量可分为以下四种类型: 基本型,以int表示 短整型,以short表示 长整型,以long表示 无符号整型,以unsigned表示。unsigned可以加在int、short和long的前面表示有符号整形数,省略表示为有符号整型数。如: int x,y; /*指定变量x,y为整型变量*/ long a,b,c; /*指定变量a,b,c为长整型变量*/ unsigned age,height; /

11、*指定变量age,height为无符号整型变量*/,2整型变量,(2)整型数据在内存中的存放形式。 任何数据在计算机内部都以二进制形式存放。 数值在计算机中是以补码表示的(有符号数的第一位为符号位): 正数的补码和原码(即该数的二进制代码)相同。 如,1000 0000 0000 000132769 负数的补码:将该数的绝对值的原码取反加1,也可以是将该原码除符号位外按位取反后加1, (最高位是符号位)。 如,1000 0000 0000 0001-32767,2整型变量,整型数据取值范围的确定,unsigned int型: 最小值为0000 0000 0000 0000即0, 最大值为111

12、1 1111 1111 1111即65535。 int型: 最大值为0111 1111 1111 1111即32767, 最小值为1000 0000 0000 0000即-32768。,(3)整型数据的溢出。 整型数据取值范围: unsigned int型: 最小值为0000 0000 0000 0000即0, 最大值为1111 1111 1111 1111即65535。 int型: 最大值为0111 1111 1111 1111即32767, 最小值为1000 0000 0000 0000即-32768。 在给整型变量赋值时,要注意其取值范围,如果将一个大于32767或小于32768的数据赋

13、值一个int型变量就会产生溢出。,【例2-1】写出下列程序的运行结果。 程序清单如下: main() int x,y; x=32767; y=x+1; /*x+1后超出了整型数据范围,造成数据溢出*/ printf(“%d,%dn“,x,y); 运行结果: 32767,-32768,例:整型变量的定义使用举例 main( ) int i; long j,m; i=32767;j=32768; m=i*j; printf(“%ld“,m); ,/*在程序的中定义了一基本整型变量i*/,/*在程序的中定义了长整型变量j、m*/,/*输出长整型变量m的值*/,1、实型常量 实型也叫浮点型,在C语言中

14、,实型常量有两种表示形式: (1)十进制小数形式。 小数形式是由数码09和小数点组成(注意:必须有小数点)。例如:6.789,.789,6.,0.0都是十进制小数形式的合法表示。 (2)指数形式。 指数形式又称科学计数法。由十进制小数加上阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般形式为: a E n 其中a为十进制数,n为十进制整数,其值为 a*10n。 注意:e或E的前后必须有数字,且其后的数字必须是整数,如E2,e,3.2e+2.1都是不合法的。,2.2.3 实型数据,2、实型变量 用来存储实数(变量值是实数)的变量称为实型变量。 (1)实型变量的分类。 实型变量

15、分为以下三种类型: 单精度型,以float表示。 双精度型,以double表示。 长双精度型,以long double表示。 (2)实型数据在内存中的存储形式。 实型数据在内存中占4个字节(32位),一律为二进制指数形式存储。 分为数符、小数部分、指数部分。具体存放如下: 应当注意: 数符占一位,用来表示数据的符号。 小数部分占的位(bit)数越多,数的有效数字越多,精度越高。 指数部分占的位数越多,则能表示的数值范围越大。,(3)实型数据的误差。 由于实型变量的存储单元有限,单精度实型的有效位数是7位,双精度实型的有效位是16位,Turbo C中规定小数点后最多保留6位,因此,在进行赋值和计

16、算时会产生误差。 【例2-2】写出下列程序的运行结果。 main() float x=123456789; /*数值位数超过了单精度的有效位7位,从第8位开始数据不准确*/ float y=33333.33333; /*单精度有效位7位,而整数部分就占了5位,所以小数2位之后的为无效数字*/ double z=11111.777777777; /*z为双精度型数据,有效位为16位,但 C规定小数后保留6位小数,其余部分四舍五入*/ printf(“x=%fny=%fnz=%lf“,x,y,z); ,运行结果: x=123456792.000000 y=33333.332031 z=11111.777778,1、语言的字符集 字符是组成语言的最基本的元素。语言字符集由字母,数

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

当前位置:首页 > 高等教育 > 大学课件

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