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