c语言教学课件之第3章数据类型表达式

上传人:san****019 文档编号:70077447 上传时间:2019-01-15 格式:PPT 页数:61 大小:1.19MB
返回 下载 相关 举报
c语言教学课件之第3章数据类型表达式_第1页
第1页 / 共61页
c语言教学课件之第3章数据类型表达式_第2页
第2页 / 共61页
c语言教学课件之第3章数据类型表达式_第3页
第3页 / 共61页
c语言教学课件之第3章数据类型表达式_第4页
第4页 / 共61页
c语言教学课件之第3章数据类型表达式_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《c语言教学课件之第3章数据类型表达式》由会员分享,可在线阅读,更多相关《c语言教学课件之第3章数据类型表达式(61页珍藏版)》请在金锄头文库上搜索。

1、第1张,没有规矩,不成方圆。,第2张,3.1 C的数据类型 3.2 常量与变量 3.3 整型数据 3.4 实型数据,第3章 数据类型、运算符与表达式,第3张,3.5 字符型数据 3.6 变量赋初值 3.7 各类数值型数据间的混合运算 3.8 算术运算符和算术表达式 3.9 赋值运算符和赋值表达式 3.10 逗号运算符和逗号表达式,第4张,本章大纲,数据类型、运算符与表达式(7学时) 教学内容: C的数据类型:基本数据类型;自定义的数据类型 常量和变量:符号常量与一般常量;变量的定义和赋值 各类型数据的混合运算 运算符与表达式:算术运算符;关系运算符与逻辑运算符;表达式的执行顺序,第5张,基本要

2、求: 了解C语言的数据类型; 了解常量的概念、常量的分类; 了解整型、实型和字符型数据的存储形式; 掌握变量的概念、变量的分类及变量的初始化方法; 掌握各类数值型数据间的混合运算规则; 掌握常见的各种运算符及表达式; 理解运算符的优先级与结合性。 重点:基本数据类型;变量定义和赋值;运算符与表达式 难点:自定义的数据类型;运算符优先级。,第6张,数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作。,基本类型:整型,字符型,浮点型(单精度型,双精度型),枚举类型; 构造类型:数组类型,结构体类型,共用体类型,指针类型,空类型。,数据类型决定: 1.数据占内存字节数 2.数据取

3、值范围 3.可对数据进行的操作,3.1 C的数据类型,第7张,数据结构是指同一数据元素类中各数据元素之间存在的关系。数据结构分别为逻辑结构、存储结构(物理结构)和数据的运算。数据的逻辑结构是对数据之间关系的描述,有时就把逻辑结构简称为数据结构。数据结构在计算机中的表示(映像)称为数据的物理(存储)结构。,数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。数据结构不仅是一般程序设计的基础,而且是设计和实现编译程序、操作系统、数据库系统及其他系统程序的重要基础。,常用数据结构 :数组、线性表、链表、队列、栈、树、图等的定义、存储和操作,数据结构,补充了解,第8张,(1)不同的计算机

4、语言所允许定义和使用的数据结构是不同的。 (2)处理同一类问题,如果数据结构不同,算法也会不同。,第9张,3.2 常量与变量,常量: 在程序运行过程中,其值不能被改变的量称为常量。,3.2.1 常量和符号常量,字面常量或直接常量,符号常量:以用一个标识符代表一个常量,例如 : 12,0,-3为整型常量; 4.6、-1.23为实型常量; a,d为字符常量。,#define PRICE 30,第10张,例3.1符号常量的使用。,#define PRICE 30 main ( ) int num, total; num=10; total=num * PRICE; printf(“total=%d“

5、,total); ,total=300,1.习惯上,符号常量名用大写 2.程序中不能再次对符号常量赋值。,#define PRICE 30 main ( ) PRICE=40; ,第11张,这么麻烦给常量起了名字,有什么好处吗?,(1)含义清楚。定义符号常量名时应考虑“见名知意”。 (2) 在需要改变一个常量时能做到“一改全改”。,#define PRICE 30 一看就知道PRICE表示价格,但千万不要在定义圆周率的时候也这样写,虽然不错,但达不到“见名知意”的目的了。 #define PRICE 3.1415926,第12张,3.2.2 变量,变量是指在程序运行期间,其值可以改变的量。 1

6、.用来存放数据 2.对应内存中的一个特定的存储单元 3.有名字,以便被引用,1.怎么对应到特定的存储单元呢? 由编译系统完成。 (参阅编译原理),2.变量的名字要怎么起呢?,第13张,?,变量怎么对应到特定的存储单元呢?,存储单元地址,3,变量值,变量名,存储单元地址一般用十六进制数表示 ,与变量名一一对应,类似于身份证号,唯一但难记,类似于身份证号。,存储单元,每个存储单元都由一个唯一的存储单元地址和存储在单元里面的内容组成,为了便于引用存储单元而起的名字。 类似于人名,2004H,存储单元的内容,a,第14张,标识符(identifier):用来标识变量名、符号常量名、函数名、数组名、类型

7、名、文件名的有效字符序列称为标识符。,标识符的命名规则: (1)只能由字母、数字和下划线三种字符组成, (2)且第一个字符必须为字母或下划线。 必须同时满足以上两个条件。,不合法的标识符名: dohn,¥123,3d64,ab,合法的标识符名: while, _total,student_name,lotus_1_2_3,Class,class ,BASIC,C语言区分大小写! Class和CLASS,Class,cLass 都不同!,第15张,(1)符合标识符的2个命名规则; (2)不能和关键字(32个)重名。 必须同时满足以上两个条件。,变量的名字要怎么起呢?,合法的变量名:num,day

8、,x1,不合法的变量名:3num,day,while,“先定义,后使用”,我是君子,先说了才会用啊!,强制类型定义,第16张,3.3 整型数据,3.3.1 整型常量的表示方法,整型常量即整常数。 (1) 十进制整数。 (2) 八进制整数。 (3) 十六进制整数。,如123表示十进制数123,以0开头的数是八进制数。如0123表示八进制数123, -011表示八进制数-11,以0x开头的数是十六进制数。如0x123,代表十六进制数123 -0x12等于十进制数-18,还记得进制间如何转换吗?忘了的赶快找找啊!,单片机程序设计中经常用到,第17张,1.整型数据在内存中的存放形式,数据在内存中是以二

9、进制形式存放的。,每一个整型数据(包含变量和常量)在内存中占2个或4个字节。,(a)存放的示意图 (b)实际存放图,10=(1010)2,例子:,3.3.2 整型变量,第18张,在计算机系统中,数值一律用补码来表示(存储)。 主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。,补码(complement),一个正数的补码和其原码的形式相同。,负数补码的求法: (1)写出该数的绝对值的二进制形式; (2)按位取反; (3)再加1。,原码又是什么呢?,掌握,第19张,原码是一种计算机中对数字的二进

10、制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位),该位为0表示正数,该位为1表示负数,其余位表示数值的大小。,补充内容:原码(true form),小数原码的定义 X = X (0X1) =1X (1X0 ) 例如: X=+0.1011 , X原= 0.1011 X=0.1011 , X原= 1.1011,整数原码的定义 X原=X (0X 2n) =2nX(-2nX0)例如:+1011原=00001011 -1011原=10001011,了解,第20张,2. 整型变量的分类,(1) 基本整型(int) (2) 短整型(short int) (3) 长整型(long in

11、t),修饰符: (1)有符号(signed) (2)无符号(unsigned),有符号基本整型 signed int 无符号基本整型 unsigned int,有符号短整型 signed short int 无符号短整型 unsigned short int,有符号长整型 signed long int 无符号长整型 unsigned long int, 里的关键字可以省略!,第21张,如果内存中有个数据是这样存储的,那么它是多少?,如果是无符号数,它是65535,如果是有符号数,它是-1,例子,第22张,3. 整型变量的定义,int a,b; unsigned short c,d; long

12、 e,f;,C规定在程序中所有用到的变量都必须在程序中定义,即“强制类型定义”,对变量的定义,一般是放在一个函数的开头部分的声明部分(也可以放在函数中某一分程序内,但作用域只限它所在的分程序)。,第23张,例3.2整型变量的定义与使用。,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); ,第24张,0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 (a=12) 0 0 0 0 0

13、 0 0 0 0 0 0 0 1 0 1 0 (u=10) 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 (c=22),第25张,0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 ( b=24的补码) 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 (u=10) 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 (d的补码) 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0

14、 0 0 0 0 0 0 0 0 0 1 1 1 0 (d的绝对值14),求b=24的补码,a+u=22,b+u=-14,第26张,4. 整型数据的溢出,在Turbo c中一个int型变量的最大允许值为32767,如果再加1,会出现什么情况?,main() int a,b; a=32767; b=a+1; printf(“%d,%d“,a,b); ,32767,-32768,32767+1不等于32768吗?,第27张,0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 (a=32767) 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (负数)? 1 0 1

15、1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (b的绝对值,即32768 ) 真值为 - 32768,既然是这样,那要怎么改才能得到预期的结果32768呢?想一想啦!,第28张,3.3.3 整型常量的类型,(1) 一个整数,如果其值在-32768+32767范围内,认为它是int型,它可以赋值给int型和long int型变量。 (2) 一个整数,如果其值超过了上述范围,而在-2147483648+2147483647范围内,则认为它是长整型,可以将它赋值给一个long int型变量。 (3)一个整常量后面加一个字母u,认为是unsigned int型,如12345u,在内存中按unsigned int规定的方式存放。如果写成-12345u,则先将-12345转换成其补码53191,然后按无符号数

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

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

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