第三章_数据类型、运算符、表达式.ppt
《第三章_数据类型、运算符、表达式.ppt》由会员分享,可在线阅读,更多相关《第三章_数据类型、运算符、表达式.ppt(57页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 C C语言程序设计语言程序设计 主讲:王鑫便 663195第三章 数据类型 运算符与表达式内容提要C语言的基本元素常量和变量的概念各种数据类型的常量及变量变量赋初值不同类型数据间的混合运算几种基本运算符及其表达式程序程序指令指令C语言中的基本元素标识符标识符关键字关键字常量常量运算符运算符分隔符分隔符等等3.1 C语言的基本元素nC语言使用的基本符号共有如下五种:n大写字母:AZn小写字母:azn阿拉伯数字:09n下划线:_n标点符号和运算符:,逗号.圆点;分号:冒号?问号 单引号“双引号(左圆括号)右圆括号 左方括号 右方括号 左大括号 右大括号 左尖括号 右尖括号!感叹号|竖线/斜杠 反
2、斜杠 波折号#井号%百分号&and(与)xor(异或)*乘号-减号=等于号+加号3.1.1 符号集(字符集)3.1 C语言的基本元素n标识符:用来标记常量、变量、函数及文件名字的字符序列。n标识符的构成规则:n以字母(大小写皆可)或下划线开头n随后可跟若干个(包括0个)字母、数字、下划线n标识符的长度各个系统不同,最好不要超过8个字符n如:x y3 _imax Else X_to_B(合法)n如:7x int#No bad one re-input (不合法)n注意:n区分大小写!如:sum,Sum,SUM,表示不同的标识符。3.1.2 标识符n关键字n也称“保留字”它是C语言中具有特定含义、
3、专门用作语言特定成分的一类标识符。nANSI推荐的C语言的关键字有32个(Turbo 另扩展了11个)n如:main、int、char、float、define等。n注意n所有的关键字都有固定的意义,不能用作其它n所有的关键字必须小写n如:else与Else表示不同的含义:nelse是关键字;Else是用户定义的标识符3.1 C语言的基本元素3.1.3 关键字3.2 C的数据类型n数据是操作的对象,数据类型是指数据的内在表现形式(代码、存储、运算)nC的数据类型如下:数据类型基本类型构造类型指针空类型整型 int实型(浮点型)字符型 char单精度 float双精度 double3.3 常量和
4、变量n常量n在执行过程中其值不能被改变的量n常量区分为不同类型(表示形式)n如:12、3.2、an符号常量n用一个标识符代表的一个常量n定义方法:#define 标识符 常量n如:例3.1例3.1#define PRICE 30void main()int num,total;num=10;total=num*PRICE;printf(“total=%d”,total)total=3003.3.1 常量和符号常量3.3 常量和变量n变量n其值可以改变的量,它用标识符(变量名)来表示,在内存中占据一定的存储单元。n变量的定义n类型符 标识符n注意事项n见名之意n先定义后引用n习惯上,符号常量名用
5、大写,变量名用小写,以示区别变量表示变量名存储单元值例3.1#define PRICE 30void main()int num,total;num=10;total=num*PRICE;printf(“total=%d”,total);如:int i,j,imax;char c1,c2,s;float x,root1,root2;double y1,y2;3.3.2 变量变量命名在 C 语言中,变量命名需要遵循一定的规则有效名称有效名称principalcost_pricemarks_3lastnamecity无效名称无效名称123ratecurrency$discount%zip code
6、n变量的命名规则:n变量名可以由字母、数字和 _(下划线)组合而成n变量名不能包含除 _ 以外的任何特殊字符,如:%、#、逗号、空格等n变量名必须以字母或 _(下划线)开头n变量名不能包含空白字符(换行符、空格和制表符称为空白字符)nC 语言中的某些词(例如 int 和 float 等)称为保留字,具有特殊意义,不能用作变量名nC 语言区分大小写,因此变量 price 与变量 PRICE 是两个不同的变量变量程序内存编写程序时,常常需要将数据存储在内存中,方便后面使用这个数据或者修改这个数据的值。通常使用变量来存储数据。使用变量可以引用存储在内存中的数据,并随时根据需要显示数据或执行数据操纵。
7、存储 RateRate*5%将值存储为DiscAmtRate-DiscAmt100.5将值存储为Result9.5 C语言的基本数据类型数据属于不同类别AfricaThe quick brown foxTRUE数据 非数值数值整型非整型9002.129999/12/20032.175123Jackie Chanchar数据类型非数值数值整型intshort intlong intdoublefloat非整型3.4 整型数据n整型常量n即整常数,C中整常数可以有三种表示形式,即十进制整数、八进制整数和十六进制整数。n计算机中数的表示及进制转换n数码、基和权n数码:表示数的符号n基:表示数码的个数
8、n权:表示每个位所具有的值n数制n二进制n八进制n十进制n十六进制3.4.1 整型常量3.4 整型数据n计算机中数的表示及进制转换n数码、基和权n数制(数据在内存中是以二进制形式存放的)n二进制n由数字0和1组成。如:00001010n八进制n以数字0开头的数;由数字07组成。如:0123(123)8n十进制n一串连续的数字表示,最高位非零。如:123、-34、0n十六进制n以0 x开头的数;由09、af(AF)组成。如:0 x123(123)163.4.1 整型常量判断:32767,-32768,0,010,011,016,018,0 x10,0 xde,0 xf 3.4 整型数据n计算机中
9、数的表示及进制转换n各种进制之间的转换n二进制、八进制、十六进制转换成十进制n方法:按权相加。3.4.1 整型常量例:3.4 整型数据3.4.1 整型常量n计算机中数的表示及进制转换n各种进制之间的转换n二进制、八进制、十六进制转换成十进制n方法:按权相加。n十进制转换成二进制、八进制、十进制n方法:连续除以基,从低到高记录余数,直至商为03.4 整型数据3.4.1 整型常量n计算机中数的表示及进制转换例1:把十进制数59转换成二进制数(59)10=(111011)259229214272321110111余余余余余余1 1 1 0 1 1例2:把十进制数159转换成八进制数15981982(
10、159)10=(237)82 3 7 余7余3余2例3:把十进制数459转换成十六进制数4591628161160(459)10=(1CB)161 C B 余11余12余 13.4 整型数据3.4.1 整型常量n计算机中数的表示及进制转换n各种进制之间的转换n二进制、八进制、十六进制转换成十进制n十进制转换成二进制、八进制、十进制n二进制与八进制间的转换n二进制转换成八进制:n方法:从右向左,每3位一组(不足3位左补0),转换为八进制n八进制转换成二进制:n方法:用3位二进制数代替每一位八进制数例:(1101001)2=(001,101,001)2=(151)8例:(246)8=(010,10
11、0,110)2=(10100110)2000 0001 1010 2011 3100 4101 5110 6111 73.4 整型数据3.4.1 整型常量n计算机中数的表示及进制转换n各种进制之间的转换n二进制、八进制、十六进制转换成十进制n十进制转换成二进制、八进制、十进制n二进制与八进制间的转换n二进制与十六进制间的转换n二进制转换成十六进制n方法:从右向左,每4位一组(不足4位左补0),转换成十六进制n十六进制转换成二进制n方法:十六进制转换成二进制:用4位二进制数代替每一位十六进制数例:(11010101111101)2=(0011,0101,0111,1101)2=(357D)16例
12、:(4B9E)16=(0100,1011,1001,1110)2=(100101110011110)20000 00001 10010 20011 30100 40101 50110 60111 71000 81001 91010 A1011 B1100 C1101 D1110 E1111 F3.4 整型数据3.4.1 整型常量n计算机中数的表示及进制转换n字节和位n内存以字节为单元组成n每个字节有一个地址n一个字节一般由8个二进制位组成n每个二进位的值是0或1012345678910.012345671个字节1或03.4 整型数据3.4.1 整型常量n计算机中数的表示及进制转换n字节和位n数
13、值的表示方法原码、反码和补码n原码n最高位为符号位,其余各位为数值本身的绝对值n反码n正数:反码与原码相同n负数:符号位为1,其余位对原码取反n补码n正数:原码、反码、补码相同n负数:最高位为1,其余位为原码取反,再对整个数加13.4 整型数据3.4.1 整型常量原码反码补码 +7000001110000011100000111 -7100001111111100011111001 +0 00000000 00000000 00000000 -0 10000000 11111111 00000000数的范围 01111111 11111111(-127+127)01111111 1000000
14、0(-127+127)01111111 10000000(-128+127)(用一字节表示数)n负数补码转换成十进制数:最高位不动,其余位取反加1例:补码:11111001 取反:10000110 加1:10000111=-7练习n请将下面数用八进制和十六进制数(补码)表示103275-617-1112483-28654210033.4 整型数据n整型数据在内存中的存放形式n数据在内存中以二进制的补码表示n每一个整型数据在内存中占两个字节n正数的补码和源码相同;负数的补码等于该数绝对值的源码加1n整型数据分类n整型变量根据其数值的范围,可以将变量定义为三类:n基本整型(int)2 短整型(sh
15、ort int)2 长整型(long int)4n为了充分利用变量的表数范围,又可以将其划分为两类:n有符号数(signed)(可省略)无符号数(unsigned)n组合起来就有六种:nint,short int,long int,nunsigned int,unsigned short int,unsigned long int0000000000001010+101111111111110110-103.4.2 整型变量3.4 整型数据n整数在存储单元的存储情况:以13为例:00 0000000000110100 0000000000000000 0000000000110100 0000
16、0000001101int 型short 型00 00000000001101long 型unsigned int 型unsigned short 型00 0000000000000000 0000000000110100 00000000001101unsigned long 型符号位0-32768全0的时候32767全1的时候int 型:3.4.2 整型变量3.4 整型数据n整型变量的定义例如:nint a,b;nlong num,i,;nunsigned short c,d;例3.2 不同类型整型数据的运算#include void main()int a,b,c,d;unsigned
17、u;a=12;b=-24;u=10;c=a+u;d=b+u;printf(“a+u=%d,b+u=%dn”,c,d);a+u=22,b+u=-143.4.2 整型变量3.4 整型数据n值在-3276832767范围内,认为是int型n值在-2147483648+214748647内,认为是long int型n八进制、十六进制常量的类型根据数值的大小可以是整型、无符号整型(065535)、长整型或无符号长整型n整数后有后缀u或U,认为是unsigned型n整数后有后缀l或L,认为是long int型(在严格要求类型匹配的场合有用,如函数参数)n123 123u -123u 123uln-0123
18、 0123u -0123l 0123uln-0 x123 0 x123u -0 x123ul 0 x123ul3.4.3 整型常量的类型补充(只适用于整型变量)n1.占用字节数为n的有符号整型变量,其值域为:-2n*8-1(2n*8-1-1)2.占用字节数为n的无符号整型变量,其值域为:0(2n*8-1)3.5 实型数据n实数又称浮点数,有两种表示形式n十进制小数形式n例如:0.345、.345、345.0、345.、0.0、0.、.0n指数形式n例如:3.45e3、3.45E3,都表示3.45*103n注意:e前后必须有数字,e后必须为整型数n.3e3 3e3 3.e3(合法)3e e3 e
19、0.3(不合法)n实数的类型n缺省为double型n后缀f或F,为float型;后缀为l或L,为long double 型3.5.1 实型常量3.5 实型数据n单精度(float):n占4个字节,7位有效数字n表示数的范围:3.4e-383.4e+38n双精度(double):n占8个字节,1516位有效数字n表示数的范围:1.7e-3081.7e+308nlong double型:n占10个字节n表示有效数的范围:3.4e-49321.1e+4932n如:float x,y;double a,b,c3.5.2 实型变量(取值范围与值的精度与及其有关)单精度浮点型 float 在 C 语言中用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 数据类型 运算 表达式
限制150内