第03章数据类型运算符与表达式ppt课件

上传人:我*** 文档编号:149208972 上传时间:2020-10-25 格式:PPT 页数:43 大小:271.50KB
返回 下载 相关 举报
第03章数据类型运算符与表达式ppt课件_第1页
第1页 / 共43页
第03章数据类型运算符与表达式ppt课件_第2页
第2页 / 共43页
第03章数据类型运算符与表达式ppt课件_第3页
第3页 / 共43页
第03章数据类型运算符与表达式ppt课件_第4页
第4页 / 共43页
第03章数据类型运算符与表达式ppt课件_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《第03章数据类型运算符与表达式ppt课件》由会员分享,可在线阅读,更多相关《第03章数据类型运算符与表达式ppt课件(43页珍藏版)》请在金锄头文库上搜索。

1、第三章 数据类型、运算符与表达式,3.1 C语言的数据类型 3.2 常量和变量 3.3 整型数据 3.4 实型数据 3.5 字符型数据 3.6 变量赋初值 3.7 各类数值数据之间的混合运算 3.8 算术运算符和算术表达式 3.9 赋值运算符和赋值表达式 3.10 逗号运算符和逗号表达式,3.1 C的数据类型,3.2 常量与变量,3.2.1常量和符号常量 1.常量的概念 常量:在程序运行过程中,其值不能被改变的量。 2.常量的分类(1)整型常量(如12、0、-3为整型常量) (2)实型常量(4.6、-1.23为实型常量) (3)字符常量( a、d字符常量) (4)符号常量:用一个标识符代表的常

2、量。 1)符号常量定义格式 #define 常量符号名 常量 2)符号常量不同于变量,它的值在其作用 域内不能改变,也不能再被赋值;,例 3.1: #define PRICE 30 main( ) int num,total; num10; total=num*PRICE; printf(“total=%d”,total); 使用符号常量的好处: (1)含义清楚,见名知义,使用程序更加清楚易读; (2)在需要改变一个常量时能做到“一改全改”,便于程序的修改;,符号常量定义语句, PRICE符号定义后等同于30,此句等同于 Total=num*30,3.2.2变量,1.变量的概念:在程序运行时其

3、值可以改变的量称为变量。 2.变量的两个要素: (1)变量名。每个变量都必须有一个名字变量名,变量命名遵循标识符命名规则。 (2)变量值。在程序运行过程中,变量值存储在内存中。在程序中,通过变量名来引用变量的值。 C语言中变量:“先定义,后使用”。也就是说,C要求对所有用到的变量做强制定义。 变量名和变量值之间的联系和区别,3,a,存储单元,变量值,变量名,变量值存取过程,变量名,根据变量名找到 对应的存储单元,取出存储单元中 存储的变量值,关于标识符(identifier)组成字符的规定:,(1)C语言规定标识符只能由字母、数字和下划线三种字符 组成,且第一个字符必须字母或下划线。 例:合法

4、的标识符: sum,average,_total,lotus_1_2_3,BASIC 不合法的标识符 M.D.John,¥123,#33,3D64,ab (2) C语言中,区分大小写字母,大写字母和小写字母被认 为是两个不同的字符。 例:sum和SUM认为为不同的标识符。 一般情况下,变量名采用小写字母表示。,(3)关于标识符长度的规定: Turbo C允许32个字符,有的系统如IBM PC和MS C取8个字符,如果变量名长度超过8个,只有前8个有效,后面的不被识别。例如: student_name和student_number被认为同一变量 注意:这种类型的错误,系统在编译时不会报错。 (4

5、) C语言的关键字不能用作变量名。 标识符命名的良好习惯见名知意: 所谓“见名知意”是指,通过变量名就知道变量值的含义。通常应选择能表示数据含义的英文单词(或缩写)作变量名,或汉语拼音字头作变量名。 例如,name/xm(姓名)、sex/xb(性别)、age/nl(年龄)、salary/gz(工资)。,3.3 整型数据,3.3.1整型常量的表示方法 整型常量的表示方法有三种: 1)十进制整数。如123, -456, 0; 2)八进制整数。以0开头的数是八进制。如0123, -011; 3)十六进制整数。以0 x开头的数是十六进制数。如 0 x123, -0 x18。 3.3.2整型变量 数据在

6、内存中是以二进制形式存放的。微机上使用的 C编译系统,每一个整型变量在内存中占用2个字节。例: int i; i=10;,i,实际使用中,整型变量的数值是以补码形式存放的。 正数的补码:正数的补码和其原码的形式相同。例: 10 原码 补码 负数的补码:绝对值的二进制形式,按位取反再加1 -10 10的原码 取反 再加1得 -10的补码,2.整型变量的分类,3.整型变量的定义,对于变量的定义,一般是放在一个函数的开头部分的声明部分(子函数放在子函数的声明部分)。 例3.2整型变量的定义与使用 main( ) int a,b,c,d; /*定义a.b.c.d为整型变量*/ unsigned u;

7、/*指定u为无符号整型变量*/ a=12; b=-24; u=10; c=a+u;d=b+u; printf(“a+u=%d,b+u=%dn”,c,d); 注:不同种类的整型数据可以进行算术运算。,4.整型数据的溢出,例3.3整型数据的溢出 main() int a,b; a=32767; b=a+1; printf(“%d,%d”,a,b); a: 32767 b: -32768,结果为: 32767,-32768,3.4实型数据,3.4.1实型常量的表示方法 实数(real number)又称浮点数(floating-point number).实数有两种表示形式: (1)十进制小数形式。

8、它由数字和小数点组成。例如 123.450.00.5567 (2)指数形式。例:123e4或123E4表示123104。 注意:1)E前面必须有数字,后面的必须为整数; 2)规范化表示形式:字母e之前的小数部分中,小 数点前面应有且只能有一位非零的数字;例如: 2.3478e12 3.099e23 为规范化表示形式 12.908e10 756e2 0.12e3 为非规范化表示,3.4.2实型变量,1.实型数据的存放形式: 一个实型数据一般在内存中占4个字节(32位)。按照指数形式存储。一般情况下,小数部分占用24位(包括符号位)。指数部分占用8位,采用规范化的指数形式。 例如:3.14159在

9、内存中的存放形式。,符号 ,小数部分 .314159,小数部分 101,2.实型变量的分类 C实型变量分为单精度(float型)、双精度(double型)和长双精度型(long double型)三类。,3.实型数据的舍入误差 实型变量是由有限的存储单元组成的,因此能提供的有效数字总是有限的,在有效位以外的数字将被舍去。由此可能会产生一些误差。 例3.4 main ( ) float a,b; a=123456.789e5; b=a+20; printf(“%f”,b); ,理论答案是: 12345678920,实际答案是: 123456788848.000000,3.4.3实型常量的类型,通常

10、的C编译系统将实型常量作为双精度来处理。 例:一个实型变量f,令: f=2.45678*4523.65 系统首先会把2.45678和4523.65按双精度处理,各 占64位,运算后得到一个双精度的乘积,然后取前7 位赋值给实型变量f. 优点:精度高,计算结果更精确; 缺点:运算速度降低。 解决方法;在数的后面加字母f或F,系统会按单精度处理。,3.5字符型数据,3.5.1字符常量 C的字符常量使用单引号括起来的一个字符。如: a b D $ ? 转义字符:,例3.5转义字符的使用 main( ) printf(“ ab ct derftgn”); printf(“htibbj k ”); ,a

11、,b,c,d,e,f,g,h,i,j,k,3.5.2字符变量,字符变量的定义形式: char c1,c2; 说明;1)字符变量只能存放一个字符,每个变量在内存 中只占用一个字节的宽度; 2)上述定义式把c1,c2定义为字符型变量,各可以 存放一个字符; 例: c1=a; c2=b; c1=ab,3.5.3字符数据在内存中的存储形式及其使用方法,一个字符常量放到一个字符变量中,实际并不是把该字符本身放到内存单元中,而是将该字符的ASCII代码放到存储单元中。 例:c1=a实际作用是在变量c1所占用的内存单元中存 放了二进制码01100001;,c1,c1=a,01100001,1)字符数据与整数

12、的存储形式类似,使得字符型数据和整型数据之间可以通用; 2)大小写字母之间转换方便;,例3.6向字符变量赋以整数 main( ) char c1,c2; c1=97; c2=98; printf(“%c%cn”,c1,c2); printf(“%d%dn”,c1,c2); ,a b,97 98,向字符变量c1,c2赋以整数97,98,由此可见,字符型数据和整型数据是通用的。,注意:字符数据只占一个字节,它只能存放0127范围内的整数,例3.7大小写字母的转换 main( ) char c1,c2; c1=a; c2=b; c1=c1-32; c2=c2-32; printf(“%c%c”,c1

13、,c2); ,运行结果: A B,a的ASCII码为97,A为65。 b的ASCII码为98,B为66。,这是C语言中字母实现大小转换的方法。使用相当方便。,3.5.4字符串常量,字符串常量:字符串常量是一对双引号括起来的字符序列。 例如:“Hello Visual C#”, “China is the greatest country” 字符串常量的存储形式:字符串各字符的ASCII码加上结束字符0。 例如: “Hello Visual C#”,“a”,注意字符常量a和字符串常量“a”是不相同的,a存储单元中没有“0”。因此切近字符常量和字符串常量混用,3.6变量赋初值,C语言允许在定义变量

14、的同时使变量初始化。例: int a=3; /*指定a为整型变量,初值为3*/ float b=3.56; /*指定b为实型变量,初值为3.56*/ char c=a /*指定c为字符变量,初值为a*/ 也可以使被定义的变量的一部分赋初值。例: int a,b,c=5; 如果对几个变量赋予同一个初值,可写成: int a,b,c; a=b=c=3; 该式表示a,b,c的初值都是3,并不表示整个程序中a,b,c变量一直相等的,只是初值相同。 int a=b=c=3; 是错误的。,初始化不是在编译阶段完成而是在程序运行时执行本函数时赋予初值,3.7各类数值型数据间的混合运算,不同类型的数据之间进行

15、运算,级别低的向级别高的转换; 转换不需要中间过程,直接转变为高级别数据类型; 上述转换由系统自动进行。,例:i为整型变量,f为float变量,d为double型变量,e为long型。 10+a+i*f-d/e a转整型,i、f转换为double型, e转换为double型。,如果一个运算符两侧的操作数的数据类型不同,则系统按“先转换、后运算”的原则,转换的方法有两种:自动转换(隐式转换);强制转换,3.8算术运算符和算术表达式,3.8.1C运算符简介 1.算术运算符 (+ * / %) 2.关系运算符 ( = | int i; i=(int)x; printf(“x=%f,i=%d”, x, i); ,注意:在强制类型转换时,得到一个所需类型的中间变量,原来变量的类型未发生变化。,最后结果: x=3.600000,i=3,4.自增、自减运算符 作用:使变量的值增1或减1. 例: +i, i (在使用i之前,先使i的值加(减)1) i+, i (在使用i之后,使i的值加(减)1) 这两者有很大区别,一个是在使用之前加1,一个是 在使用之后加1; 例:i=3; printf(“%d”,+i); 结果为输出“4” i=3; printf(

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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