C语言教学课件之第3章数据类型表达式.ppt
《C语言教学课件之第3章数据类型表达式.ppt》由会员分享,可在线阅读,更多相关《C语言教学课件之第3章数据类型表达式.ppt(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嘉应学院杨久红嘉应学院杨久红20102010年末年末没有规矩,不成方圆。没有规矩,不成方圆。13.1 C的数据类型的数据类型3.2 常量与变量常量与变量3.3 整型数据整型数据3.4 实型数据实型数据第3章 数据类型、运算符与表达式第第2张张嘉应学院杨久红嘉应学院杨久红20102010年末年末3.5 字符型数据字符型数据3.6 变量赋初值变量赋初值3.7 各类数值型数据间的混合运算各类数值型数据间的混合运算3.8 算术运算符和算术表达式算术运算符和算术表达式3.9 赋值运算符和赋值表达式赋值运算符和赋值表达式3.10 逗号运算符和逗号表达式逗号运算符和逗号表达式3嘉应学院杨久红嘉应学院杨久红2
2、0102010年末年末本章大纲数据类型、运算符与表达式(数据类型、运算符与表达式(7 7学时)学时)教学内容:教学内容:1.C的数据类型:基本数据类型;自定义的数据类型2.常量和变量:符号常量与一般常量;变量的定义和赋值3.各类型数据的混合运算4.运算符与表达式:算术运算符;关系运算符与逻辑运算符;表达式的执行顺序4嘉应学院杨久红嘉应学院杨久红20102010年末年末基本要求:基本要求:1.了解C语言的数据类型;2.了解常量的概念、常量的分类;3.了解整型、实型和字符型数据的存储形式;4.掌握变量的概念、变量的分类及变量的初始化方法;5.掌握各类数值型数据间的混合运算规则;6.掌握常见的各种运
3、算符及表达式;7.理解运算符的优先级与结合性。重点:重点:基本数据类型;变量定义和赋值;运算符与表达式难点:难点:自定义的数据类型;运算符优先级。5嘉应学院杨久红嘉应学院杨久红20102010年末年末 数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作。基本类型:整型,字符型,浮点型(单精度型,双精度型),枚举类型;构造类型:数组类型,结构体类型,共用体类型,指针类型,空类型。数据类型决定:数据类型决定:1.1.数据占内存字数据占内存字节数节数2.2.数据取值范围数据取值范围3.3.可对数据进行可对数据进行的操作的操作3.1 C的数据类型6嘉应学院杨久红嘉应学院杨久红201
4、02010年末年末 数据结构是指同一数据元素类中各数据元素之间存在的关系。数据结构分别为逻辑结构、存储结构(物理结构)和数据的运算。数据的逻辑结构是对数据之间关系的描述,有时就把逻辑结构简称为数据结构。数据结构在计算机中的表示(映像)称为数据的物理(存储)结构。数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。数据结构不仅是一般程序设计的基础,而且是设计和实现编译程序、操作系统、数据库系统及其他系统程序的重要基础。常用数据结构常用数据结构 :数组、线性数组、线性表、链表、队表、链表、队列、栈、树、列、栈、树、图等的定义、图等的定义、存储和操作存储和操作数据结构补充了解补充了解7
5、嘉应学院杨久红嘉应学院杨久红20102010年末年末(1)(1)不同的计算机语不同的计算机语言所允许定义和使用言所允许定义和使用的数据结构是不同的。的数据结构是不同的。(2)(2)处理同一类问题,处理同一类问题,如果数据结构不同,如果数据结构不同,算法也会不同算法也会不同。8嘉应学院杨久红嘉应学院杨久红20102010年末年末3.2 常量与变量常量:常量:在程序运行过程中,其值不能被改变的量称为常量。3.2.1 常量和符号常量字面常量或直接常量符号常量:以用一个标识符代表一个常量例如例如 :1212,0 0,-3-3为整为整型常量型常量;4.64.6、-1.23-1.23为实为实型常量型常量;
6、aa,dd为为字符常量。字符常量。#define PRICE 30#define PRICE 309嘉应学院杨久红嘉应学院杨久红20102010年末年末例3.1符号常量的使用。#define PRICE 30main()int num,total;num=10;total=num*PRICE;printf(total=%d,total);total=3001.习惯上,符号常量名用大写2.程序中不能再次对符号常量赋值。#define PRICE 30main()PRICE=40;10嘉应学院杨久红嘉应学院杨久红20102010年末年末这么麻烦给常量起了名字,有什么好处吗?(1 1)含义清楚。定义
7、符号常量名时应考虑)含义清楚。定义符号常量名时应考虑“见名知意见名知意”。(2 2)在需要改变一个常量时能做到在需要改变一个常量时能做到“一改全改一改全改”。#define PRICE 30#define PRICE 30一看就知道PRICE表示价格,但千万不要在定义圆周率的时候也这样写,虽然不错,但达不到“见名知意”的目的了。#define PRICE 3.1415926#define PRICE 3.141592611嘉应学院杨久红嘉应学院杨久红20102010年末年末3.2.2 变量变量是指在程序运行期间,其值可以改变的量。1.用来存放数据2.对应内存中的一个特定的存储单元3.有名字,以
8、便被引用1.怎么对应到特定的存储单元呢?由编译系统完成。(参阅编译原理)2.变量的名字要怎么起呢?12嘉应学院杨久红嘉应学院杨久红20102010年末年末?变量怎么对应到特定的存储单元呢?存储单元地址3变量值变量名存储单元地址一般用十存储单元地址一般用十六进制数表示六进制数表示 ,与变,与变量名一一对应,类似于量名一一对应,类似于身份证号,唯一但难记,身份证号,唯一但难记,类似于身份证号。类似于身份证号。存储单元每个存储单元都由一个每个存储单元都由一个唯一的存储单元地址和唯一的存储单元地址和存储在单元里面的内容存储在单元里面的内容组成组成为了便于引用为了便于引用存储单元而起存储单元而起的名字。
9、的名字。类似于人名类似于人名2004H存储单元的内容a a13嘉应学院杨久红嘉应学院杨久红20102010年末年末标识符(identifier):用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列称为标识符。标识符的命名规则:标识符的命名规则:(1)(1)只能由字母、数字和只能由字母、数字和下划线三种字符组成,下划线三种字符组成,(2)(2)且且第一个字符必须为第一个字符必须为字母或下划线。字母或下划线。必须同时满足以上两个必须同时满足以上两个条件条件。不合法的标识符名:不合法的标识符名:d dohnohn,¥,¥123123,3d643d64,abab 合法的标识符名:
10、合法的标识符名:whilewhile,_total _total,student_namestudent_name,lotus_1_2_3lotus_1_2_3,ClassClass,class class,BASICBASIC C C语言区分大小写!语言区分大小写!ClassClass和和CLASSCLASS,Class,cLassClass,cLass都不同!都不同!14嘉应学院杨久红嘉应学院杨久红20102010年末年末(1)符合标识符的2个命名规则;(2)不能和关键字(32个)重名。必须同时满足以上两个条件。变量的名字要怎么起呢?合法的变量名:num,day,x1不合法的变量名:3nu
11、m,day,while“先定义,先定义,后使用后使用”我是君子,我是君子,先说了才会先说了才会用啊!用啊!强制类型定义强制类型定义15嘉应学院杨久红嘉应学院杨久红20102010年末年末3.3 整型数据3.3.1 整型常量的表示方法整型常量即整常数。(1)十进制整数。(2)八进制整数。(3)十六进制整数。如如123123表表示十进示十进制数制数123123以以0 0开头开头的数是八进的数是八进制数。如制数。如0 0123123表示八表示八进制数进制数123123,-0 01111表表示八进制数示八进制数-11-11以以0 x0 x开头开头的数是十的数是十六进制数。如六进制数。如0 x0 x12
12、3123,代表十六进制数,代表十六进制数123-123-0 x0 x1212等于十进等于十进制数制数-18-18还记得进制间如何转换吗?忘了的赶快找找啊!单片机单片机程序设程序设计中经计中经常用到常用到16嘉应学院杨久红嘉应学院杨久红20102010年末年末1.整型数据在内存中的存放形式数据在内存中是以数据在内存中是以二进制二进制形式存放的。形式存放的。每一个整型数据每一个整型数据(包含变量和常量)(包含变量和常量)在内存中占在内存中占2 2个或个或4 4个个字节。字节。(a)存放的示意图 (b)实际存放图10=(1010)2例子:3.3.2 整型变量17嘉应学院杨久红嘉应学院杨久红20102
13、010年末年末 在计算机系统中,数值一律用补码来表示(存储)。主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。补码补码(complement)一个正数一个正数的补码和的补码和其原码的其原码的形式相同。形式相同。负数补码的求法:负数补码的求法:(1 1)写出该数的绝对值的二进)写出该数的绝对值的二进制形式;制形式;(2 2)按位取反;)按位取反;(3 3)再加)再加1 1。原码又是原码又是什么呢?什么呢?掌握18嘉应学院杨久红嘉应学院杨久红20102010年末年末原码是一种计算机中对数字的二进
14、制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位),该位为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 了解19嘉应学院杨久红嘉应学院杨久红20102010年末年末2.整型变量的分类 (1)基本整型(int)(2)短整型(short int)(3)长整型(lon
15、g int)修饰符:(1)有符号(signed)(2)无符号(unsigned)有符号基本整型有符号基本整型 signed int signed int 无符号基本整型无符号基本整型 unsigned intunsigned int有符号短整型有符号短整型 signed short intsigned short int无符号短整型无符号短整型 unsigned short intunsigned short int有符号长整型有符号长整型 signed long intsigned long int无符号长整型无符号长整型 unsigned long intunsigned long int
16、 里的关键字可以省略!20嘉应学院杨久红嘉应学院杨久红20102010年末年末如果内存中有个数据是这如果内存中有个数据是这样存储的,那么它是多少样存储的,那么它是多少?如果是无符如果是无符号数,它是号数,它是6553565535如果是有符如果是有符号数,它是号数,它是-1-1例子例子21嘉应学院杨久红嘉应学院杨久红20102010年末年末3.整型变量的定义 int a,b;unsigned short c,d;long e,f;C规定在程序中所有用到的变量都必须在程序中定义,即“强制类型定义”对变量的定义,一般是放在一个函数的开头部分的声明部分(也可以放在函数中某一分程序内,但作用域只限它所在
17、的分程序)。22嘉应学院杨久红嘉应学院杨久红20102010年末年末例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);23嘉应学院杨久红嘉应学院杨久红20102010年末年末 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 (a=12)0 0 0 0 0 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
18、 0 (c=22)24嘉应学院杨久红嘉应学院杨久红20102010年末年末 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 0 0 0 0 0 0 0 0 0 1 1 1 0 (d的绝对值14)求b=2
19、4的补码a+u=a+u=2222,b+u=b+u=-14-1425嘉应学院杨久红嘉应学院杨久红20102010年末年末4.整型数据的溢出在Turbo c中一个int型变量的最大允许值为32767,如果再加1,会出现什么情况?main()int a,b;a=32767;b=a+1;printf(%d,%d,a,b);32767,-3276832767+132767+1不不等于等于3276832768吗吗?26嘉应学院杨久红嘉应学院杨久红20102010年末年末 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
20、 0 0 0 (负数)?1 0 1 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呢?想一想啦!27嘉应学院杨久红嘉应学院杨久红20102010年末年末3.3.3 整型常量的类型(1)一个整数,如果其值在-32768+32767范围内,认为它是int型,它可以赋值给int型和long int型变量。(2)一个整数,如果其值超过了上述范围,而在-2147483648+2147483647范围内,则认为它是长整型,可以将它赋值给
21、一个long int型变量。(3)一个整常量后面加一个字母u,认为是unsigned int型,如12345u,在内存中按unsigned int规定的方式存放。如果写成-12345u,则先将-12345转换成其补码53191,然后按无符号数存储。(5)在一个整常量后面加一个字母l或l,则认为是long int型常量。例如123l、432l、0l等。28嘉应学院杨久红嘉应学院杨久红20102010年末年末3.4 浮点型数据3.4.1 浮点型常量的表示方法浮点数(floating-point number)即实数(real number)。十进制小数形式。它由数字和小数点组成指数形式123e3,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 教学 课件 数据类型 表达式
限制150内