三章节数据类型运算符与表达式.PPT
《三章节数据类型运算符与表达式.PPT》由会员分享,可在线阅读,更多相关《三章节数据类型运算符与表达式.PPT(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、失之毫厘,谬以千里失之毫厘,谬以千里三章节数据类型运算符与表达式 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望失之毫厘,谬以千里失之毫厘,谬以千里3 3、1 C1 C的数据类型的数据类型所谓数据结构指的是数据的组织形式。所谓数据结构指的是数据的组织形式。所谓数据结构指的是数据的组织形式。所谓数据结构指的是数据的组织形式。基本类型基本类型基本类型基本类型构造类型构造类型构造类型构造类型指针类型指针类型指针类型指针类型空类型空类型空类型空类型整型整型整型整型实型实型
2、实型实型字符型字符型字符型字符型枚举型枚举型枚举型枚举型数组类型数组类型数组类型数组类型结构体类型结构体类型结构体类型结构体类型共用体类型共用体类型共用体类型共用体类型单精度型单精度型单精度型单精度型双精度型双精度型双精度型双精度型C C C C语言中的数据有常量和变量之分,它们分属于以上类型。语言中的数据有常量和变量之分,它们分属于以上类型。语言中的数据有常量和变量之分,它们分属于以上类型。语言中的数据有常量和变量之分,它们分属于以上类型。数据类型数据类型数据类型数据类型在程序中对用到的所有数据变量都必须指定其数据类型。在程序中对用到的所有数据变量都必须指定其数据类型。失之毫厘,谬以千里失之
3、毫厘,谬以千里3 3、2 2 常量和变量常量和变量 1 1、常量、常量、常量、常量 在程序运行过程中其值不能改变的量称为常量。一在程序运行过程中其值不能改变的量称为常量。一在程序运行过程中其值不能改变的量称为常量。一在程序运行过程中其值不能改变的量称为常量。一般从其字面形式即可判别。般从其字面形式即可判别。般从其字面形式即可判别。般从其字面形式即可判别。整型常量:整型常量:整型常量:整型常量:12121212,0 0 0 0,345345345345 实型常量:实型常量:实型常量:实型常量:44.6,-1.23,1.2E-3,6e+244.6,-1.23,1.2E-3,6e+244.6,-1.
4、23,1.2E-3,6e+244.6,-1.23,1.2E-3,6e+2 字符常量:字符常量:字符常量:字符常量:aaaa、DDDD、dddd 字符串常量:字符串常量:字符串常量:字符串常量:“This is a program.”This is a program.”This is a program.”This is a program.”2 2、符号常量、符号常量、符号常量、符号常量 符号常量:用一个标识符代表一个常量。符号常量:用一个标识符代表一个常量。符号常量:用一个标识符代表一个常量。符号常量:用一个标识符代表一个常量。失之毫厘,谬以千里失之毫厘,谬以千里#define PRICE
5、 30#define PRICE 30#define PRICE 30#define PRICE 30 main()main()main()main()int num=10,total;int num=10,total;int num=10,total;int num=10,total;total=num*PRICE;/*total=num*PRICE;/*total=num*PRICE;/*total=num*PRICE;/*相当于相当于相当于相当于total=num*30;*/total=num*30;*/total=num*30;*/total=num*30;*/运行结果:运行结果:运行
6、结果:运行结果:total=300 total=300 total=300 total=300 符号常量使用注意事项符号常量使用注意事项符号常量使用注意事项符号常量使用注意事项(1)(1)一般符号常量用大写字母取名一般符号常量用大写字母取名(2)(2)符号常量的值在其作用域内不能改变符号常量的值在其作用域内不能改变 即程序里不能出现即程序里不能出现 PRICE=40 PRICE=40;语句;语句失之毫厘,谬以千里失之毫厘,谬以千里3 3、变量、变量 1)标识符:)标识符:用来作为变量名、符号常量名、函数名、数组名、用来作为变量名、符号常量名、函数名、数组名、文件名等的有效字符序列称为标识符文件
7、名等的有效字符序列称为标识符 规定:(规定:(1 1)标识符只能由字母,数字和下划)标识符只能由字母,数字和下划 线组成,且以字母或下划线开头线组成,且以字母或下划线开头 建议不超过建议不超过 8 8 个字符。个字符。(2 2)大小写分别表示不同的标识符。)大小写分别表示不同的标识符。2 2)关键字(保留字):)关键字(保留字):一些在编译过程中起特殊作用的标识符。一些在编译过程中起特殊作用的标识符。如:如:char,int,short,float,doublechar,int,short,float,double if,else,while,if,else,while,等共计等共计3232个
8、个失之毫厘,谬以千里失之毫厘,谬以千里3 3)变)变 量量 程序运行过程中其值可以改变的量称为变量。变程序运行过程中其值可以改变的量称为变量。变量应该有名字,并在内存中占有一定的存储单元。量应该有名字,并在内存中占有一定的存储单元。变量名是一个标识符。变量名是一个标识符。合法的变量名:合法的变量名:sum,_above,class1,basic sum,_above,class1,basic不合法的变量名:不合法的变量名:M.D.John,3D64,ab,#33,$234 M.D.John,3D64,ab,#33,$234注意:(注意:(1 1)变量名一般用小写字母表示)变量名一般用小写字母表
9、示 (2 2)起变量名应遵循)起变量名应遵循“见名知义见名知义”原则原则 (3 3)变量名不能与关键字同名。)变量名不能与关键字同名。失之毫厘,谬以千里失之毫厘,谬以千里4 4)变量的定义及其目的变量的定义及其目的例:例:int a,b,c;int a,b,c;char c1,c2;char c1,c2;其目的为:其目的为:(1 1)凡未被定义的,不作变量名使用;)凡未被定义的,不作变量名使用;(2 2)指定变量类型后,系统编译时可分配相应)指定变量类型后,系统编译时可分配相应 的存储单元;的存储单元;(3 3)定义变量类型便于编译时检查此变量所)定义变量类型便于编译时检查此变量所 进行的运算
10、是否合法。进行的运算是否合法。C C中变量应先定义后使用。中变量应先定义后使用。失之毫厘,谬以千里失之毫厘,谬以千里 计算机内部的数据和计算机内部的数据和C C语言的数据都是以二进语言的数据都是以二进制补码表示的。补码的最高位为符号位,若为制补码表示的。补码的最高位为符号位,若为0 0,该数为正数;若为该数为正数;若为1 1,该数为负数。符号位与数值,该数为负数。符号位与数值位一起参与运算。位一起参与运算。正数的补码即其本身。负数的补码可这样求出:正数的补码即其本身。负数的补码可这样求出:(1 1)先求该数的绝对值,再求出对应正数的二进)先求该数的绝对值,再求出对应正数的二进制编码;制编码;(
11、2 2)对二进制编码按位取反;)对二进制编码按位取反;(3 3)对最低位加)对最低位加1 1。补充:数的补码表示补充:数的补码表示失之毫厘,谬以千里失之毫厘,谬以千里求求-2-2的补码(以两个字节表示)的补码(以两个字节表示)(1)(1)求求-2-2的绝对值,的绝对值,|-2|=2|-2|=2,二进制编码为:二进制编码为:0000 0000 0000 00100000 0000 0000 0010(2 2)按位取反得:)按位取反得:1111 1111 1111 11011111 1111 1111 1101(3 3)最低位加)最低位加1 1:1111 1111 1111 1101 1111 1
12、111 1111 1101 1 1111 1111 1111 1110 1111 1111 1111 1110失之毫厘,谬以千里失之毫厘,谬以千里3 3、3 3 整型数据整型数据1 1、整型常量、整型常量C C整常数有三种表示形式:整常数有三种表示形式:十进制:十进制:123123,456456,0 0八进制:以八进制:以0 0开头,开头,如:如:0123 0123 等于十进制数等于十进制数8383 011 011 等于十进制数等于十进制数9 9 十六进制:以十六进制:以0 x0 x或或0X0X打头打头 如:如:0 x123 0 x123 等于十进制数等于十进制数291291 0 x12 0
13、x12 等于十进制数等于十进制数1818注注:负数在计算机中表示形式?负数在计算机中表示形式?失之毫厘,谬以千里失之毫厘,谬以千里2 2、整型变量整型变量整型变量整型变量基本整型基本整型 int int短整型短整型 shortint shortint 长整型长整型 long(int)long(int)无符号型无符号型无符号整型无符号整型unsigned intunsigned int无符号长整型无符号长整型unsigned longunsigned long无符号短整型无符号短整型unsigned shortunsigned short失之毫厘,谬以千里失之毫厘,谬以千里数据类型(关键字数据类
14、型(关键字)字节个数字节个数取值范围取值范围short2-32768+32767unsigned short20+65535int2-32768+32767unsigned20+65535long4-21474836482147483647unsigned long404294967295失之毫厘,谬以千里失之毫厘,谬以千里0 0 0 0 0 0 00 0 0 0 1 1 0 10int 型0 0 0 0 1 1 0 10 0 0 0 0 0 0 0unsigned int 整数整数1313在存储单元中的存储情况在存储单元中的存储情况失之毫厘,谬以千里失之毫厘,谬以千里3 3、整型变量的定义及
15、使用整型变量的定义及使用程序中用到的变量都必须先定义,例如:程序中用到的变量都必须先定义,例如:运行结果:a+u=22,b+u=-14失之毫厘,谬以千里失之毫厘,谬以千里4 4、整型数据的溢出整型数据的溢出 一个一个intint型变量的最大允许值是型变量的最大允许值是32767,32767,如果再加如果再加1,1,其结果会是怎样一种情况其结果会是怎样一种情况?0111111111111111 数值数值:32767:32767+0000000000000001 数值数值:1:1 1000000000000000 数值数值:-32768:-32768=它就好像汽车的里程表一样它就好像汽车的里程表一
16、样,达到最大值后达到最大值后,又又从最小的开始计数从最小的开始计数.失之毫厘,谬以千里失之毫厘,谬以千里5 5、整型常量的类型整型常量的类型1.1.值在值在32768327683276732767的整常数,认为它是的整常数,认为它是intint型,型,可赋给可赋给 int int 型和型和 long int long int 型变量型变量;2.2.值超过上述范围,而在值超过上述范围,而在2 2 2 21 1的整常数,的整常数,认为它是认为它是 long int long int 型型,可赋给可赋给 long int long int 型变量型变量;3.3.只有非负的整常数可赋给只有非负的整常数
17、可赋给 unsigned unsigned型变量型变量,但但 值不能超出该值不能超出该 unsigned unsigned 型变量的取值范围型变量的取值范围;4.4.整常量后加一个整常量后加一个l l 或或L L,则认为其为,则认为其为 long int long int 型型 常量常量,如:如:123L123L,0L0L,432L432L 此常用于函数调用中此常用于函数调用中,使形参类型匹配于实参类型。使形参类型匹配于实参类型。3131失之毫厘,谬以千里失之毫厘,谬以千里3 3、4 4实型数据实型数据1 1、实型常量、实型常量 1)十进制数形式:由数字和小数点组成十进制数形式:由数字和小数点
18、组成 如如:0.0,0.123,-34.6,.678,90.:0.0,0.123,-34.6,.678,90.注意:小数点必须有,且其前后数字不能同时缺省。注意:小数点必须有,且其前后数字不能同时缺省。2)2)指数形式(科学计数法指数形式(科学计数法):):由尾数,指数和由尾数,指数和 字母字母e e或或E E组成组成 如:如:123E3 123E3 代表代表 12310 12310 注意:注意:E E前必须有数字,前必须有数字,E E后必须为整数后必须为整数 E5 3.4E5.6 E5 3.4E5.6 不合法不合法3失之毫厘,谬以千里失之毫厘,谬以千里 3)规范化的规范化的指数指数(输出输出
19、)形式形式:即在字母即在字母e e或或E E之前的小之前的小数部分中数部分中,小数点左边应有一位且只能有一位非零的数小数点左边应有一位且只能有一位非零的数字。字。如:如:2.3478e22.3478e2、3.099E5 3.099E5 等等等等.4)4)实型数据在内存的存放形式实型数据在内存的存放形式:实型数据是按指数形实型数据是按指数形式存储的式存储的,系统把一个实型数据分成小数部分系统把一个实型数据分成小数部分(.xxxxx)(.xxxxx)和指数部分和指数部分(采用规范化的指数形式采用规范化的指数形式),),分别存放分别存放.如如:3.14159:3.14159+.314159 1 小数
20、部分占的位数越多小数部分占的位数越多,精度越高精度越高;指数部分占指数部分占的位数越多的位数越多,可表示数值范围越大可表示数值范围越大.失之毫厘,谬以千里失之毫厘,谬以千里2 2、实型变量、实型变量单精度型(单精度型(floatfloat)32 32位位 7 7位有效数字位有效数字 10 10 10 10 双精度型(双精度型(doubledouble)64 64位位 15 1516 16 位有效数字位有效数字 10 10 10 10 3838308308定义实型变量:定义实型变量:float x,y;float x,y;double z,a,b;double z,a,b;失之毫厘,谬以千里失之
21、毫厘,谬以千里3 3、实型变量的赋值、实型变量的赋值 实型常量不分实型常量不分 float float型和型和doubledouble型型,系统按系统按doubledouble型处理型处理,若按若按floatfloat型处理型处理,可在数值后面加可在数值后面加f f或或F.F.一个实型常量可赋给一个实型变量(一个实型常量可赋给一个实型变量(float float型或型或doubledouble型),根据变量类型截取实常量中相应的有效型),根据变量类型截取实常量中相应的有效位数。位数。例:例:float x;double y;则:则:x=222222.222 y=222222.222 注意实型数
22、据的舍入误差;应当避免将一个很大的数和一个很小的数直接相加减;同理1.0/3*3!=1失之毫厘,谬以千里失之毫厘,谬以千里3.5 3.5 字符型数据字符型数据1 1 1 1、字符常量、字符常量、字符常量、字符常量 1 1)一般形式字符常量:一般形式字符常量:用单引号括起来的单个字符。如:用单引号括起来的单个字符。如:A A,?,=2 2)转义字符序列:转义字符序列:以以 开头的字符序列,可表示任何开头的字符序列,可表示任何可输出的字母字符,专用字符,图形字符可输出的字母字符,专用字符,图形字符和控制字符如和控制字符如nn为换行控制符为换行控制符 失之毫厘,谬以千里失之毫厘,谬以千里n n n
23、n 换行将当前位置移到下一行开头换行将当前位置移到下一行开头换行将当前位置移到下一行开头换行将当前位置移到下一行开头 t t t t 水平制表水平制表水平制表水平制表(跳到下一个跳到下一个跳到下一个跳到下一个tabtabtabtab位置位置位置位置)b b b b 退格退格退格退格,将当前位置移到前一列将当前位置移到前一列将当前位置移到前一列将当前位置移到前一列r r r r 回车回车回车回车,将当前位置移到本行开头将当前位置移到本行开头将当前位置移到本行开头将当前位置移到本行开头f f f f 换页换页换页换页,将当前位置移到本页开头将当前位置移到本页开头将当前位置移到本页开头将当前位置移到
24、本页开头 反斜杠字符反斜杠字符反斜杠字符反斜杠字符 单引号单引号单引号单引号(撇号撇号撇号撇号)字符字符字符字符”双引号字符双引号字符双引号字符双引号字符ddd 1ddd 1ddd 1ddd 1到到到到3 3 3 3位位位位8 8 8 8进制数所代表的字符进制数所代表的字符进制数所代表的字符进制数所代表的字符xhh 1xhh 1xhh 1xhh 1到到到到2 2 2 2位位位位16161616进制数所代表的字符进制数所代表的字符进制数所代表的字符进制数所代表的字符失之毫厘,谬以千里失之毫厘,谬以千里2 2、字符变量字符变量 用来存放一个字符常量。用来存放一个字符常量。用来存放一个字符常量。用来
25、存放一个字符常量。定义形式:定义形式:char c1,c2;赋值:赋值:c1=c1=O O;c2=;c2=K K;则:则:printf(printf(%c%c n%c%c n ,c1,c2);,c1,c2);输出:输出:O KO K一个字符变量在内存中占一个字节。一个字符变量在内存中占一个字节。失之毫厘,谬以千里失之毫厘,谬以千里3 3、字符数据在内存中的存储形式及其使用方法字符数据在内存中的存储形式及其使用方法 1 1)字符数据在内存中存放的是其)字符数据在内存中存放的是其ASCIIASCII值。值。例:例:char c1,c2;char c1,c2;c1=c1=a a;c2=;c2=b b
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 章节 数据类型 运算 表达式
限制150内