C语言数据类型.pptx
《C语言数据类型.pptx》由会员分享,可在线阅读,更多相关《C语言数据类型.pptx(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章第二章第二章第二章 数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式内容提要内容提要 数据类型数据类型常量与变量常量与变量运算符与表达式运算符与表达式第1页/共62页2.1 2.1 数据类型数据类型数据类型数据类型数据类型总表数据类型总表双精度型双精度型双精度型双精度型 doubledouble单精度型单精度型单精度型单精度型 floatfloat短整型短整型短整型短整型 shortshortC C C C数数数数据据据据类类类类型型型型基本类型基本类型基本类型基本类型指针类型指针类型指针类型指针类型空类型空类型空类型空类型 voidvoi
2、d字符类型字符类型字符类型字符类型 charchar整整整整 型型型型实型实型实型实型聚合类型聚合类型聚合类型聚合类型枚举类型枚举类型枚举类型枚举类型 enumenum数组数组数组数组结构体结构体结构体结构体 structstruct共用体共用体共用体共用体 unionunion长整型长整型长整型长整型 longlong整型整型整型整型 intint数据类型决定:数据类型决定:数据类型决定:数据类型决定:1.1.数据占内存字节数数据占内存字节数数据占内存字节数数据占内存字节数2.2.数据取值范围数据取值范围数据取值范围数据取值范围3.3.其上可进行的操作其上可进行的操作其上可进行的操作其上可进
3、行的操作第2页/共62页类型类型类型类型 符号符号符号符号关键字关键字关键字关键字数的表示范围数的表示范围数的表示范围数的表示范围所占位数所占位数所占位数所占位数整整型型字字符符型型实实型型有有无无(signed)(signed)intint16-3276832767(signed)(signed)shortshort1616-3276832767-3276832767(signed)long32-214748364821474836471616unsignedunsigned intint06553065535 532320429496729504294967295unsignedunsig
4、ned longlongunsignedunsigned shortshort1616065535065535有有floatfloat323.4e-383.4e38有有有有doubledouble64641.7e-3081.7e3081.7e-3081.7e308有有有有charchar8 8-128127-128127无无无无unsigned charunsigned char8 802550255说明:数据类型所占字节数随机器硬件不同而不同,上表以IBM PC机为例。基本数据类型基本数据类型基本数据类型基本数据类型2.1 2.1 数据类型数据类型数据类型数据类型第3页/共62页2.22.2
5、 常量与变量常量与变量常量与变量常量与变量数据是程序的处理对象数据是程序的处理对象C C语言将数据分为常量与变量语言将数据分为常量与变量第4页/共62页2.2.1 2.2.1 2.2.1 2.2.1 常量常量常量常量1.1.1.1.常量的定义及分类常量的定义及分类常量的定义及分类常量的定义及分类定义:程序运行的过程中,其值不能改变定义:程序运行的过程中,其值不能改变定义:程序运行的过程中,其值不能改变定义:程序运行的过程中,其值不能改变 的量。的量。的量。的量。分类分类分类分类:整型常量整型常量整型常量整型常量 实型常量实型常量实型常量实型常量 字符常量字符常量字符常量字符常量 字符串常量字符
6、串常量字符串常量字符串常量 符号常量符号常量符号常量符号常量2.22.2 常量与变量常量与变量常量与变量常量与变量第5页/共62页2.2.2.2.整型常量(既整常数)整型常量(既整常数)整型常量(既整常数)整型常量(既整常数)三种形式:三种形式:三种形式:三种形式:十进制整数:由数字十进制整数:由数字十进制整数:由数字十进制整数:由数字09090909和正负号表示和正负号表示和正负号表示和正负号表示.如如如如 123,-456,0123,-456,0123,-456,0123,-456,0八进制整数:由数字八进制整数:由数字八进制整数:由数字八进制整数:由数字0 0 0 0开头开头开头开头,后
7、跟数字后跟数字后跟数字后跟数字07070707表示表示表示表示.如如如如0123,0110123,0110123,0110123,011十六进制整数:由十六进制整数:由十六进制整数:由十六进制整数:由0 x0 x0 x0 x开头开头开头开头,后跟后跟后跟后跟09,af,AF09,af,AF09,af,AF09,af,AF表示表示表示表示.如如如如0 x123,0Xff0 x123,0Xff0 x123,0Xff0 x123,0Xff 转换成十进制数的方法:转换成十进制数的方法:0123 =1x82+2x81+3x80=(83 )100 x123=1x162+2x161+3x160=(291)1
8、00Xff =15x161+15x160=(255 )102.22.2 常量与变量常量与变量常量与变量常量与变量第6页/共62页整型常量的说明整型常量的说明(1)(1)(1)(1)空白字符不可以出现在整数数字之间空白字符不可以出现在整数数字之间 (2)(2)(2)(2)根据其值所在范围确定其数据类型根据其值所在范围确定其数据类型(3)3)3)3)在在整常量后加字母整常量后加字母l l或或L L,认为它是认为它是 long int long int 型常量型常量例如例如 30000 为为int型型 65536 为为long int 型型 79L、012L 为为long int 型型2.22.2
9、常量与变量常量与变量常量与变量常量与变量第7页/共62页 3.3.3.3.实型常量实型常量实型常量实型常量实常数或浮点数,是一个十进制表示的符号实数实常数或浮点数,是一个十进制表示的符号实数实常数或浮点数,是一个十进制表示的符号实数实常数或浮点数,是一个十进制表示的符号实数表示形式:表示形式:表示形式:表示形式:十进制小数形式十进制小数形式十进制小数形式十进制小数形式 digits.digits digits.digits digits.digits digits.digits 如如如如0.123,.123,123.0,0.123,.123,123.0,0.123,.123,123.0,0.1
10、23,.123,123.0,0.0,123.0.0,123.0.0,123.0.0,123.指数形式(包括整数部分、尾数部分和指数部指数形式(包括整数部分、尾数部分和指数部指数形式(包括整数部分、尾数部分和指数部指数形式(包括整数部分、尾数部分和指数部分分分分 )digits.digits E|e+|-digitsdigits.digits E|e+|-digitsdigits.digits E|e+|-digitsdigits.digits E|e+|-digits 小数点之前是整数部分,小数点之后是尾数部小数点之前是整数部分,小数点之后是尾数部小数点之前是整数部分,小数点之后是尾数部小数点
11、之前是整数部分,小数点之后是尾数部分,小数点在没有尾数时可省略。分,小数点在没有尾数时可省略。分,小数点在没有尾数时可省略。分,小数点在没有尾数时可省略。如如如如12.312.312.312.3e3,123E2e3,123E2e3,123E2e3,123E22.22.2 常量与变量常量与变量常量与变量常量与变量第8页/共62页实型常量的说明实型常量的说明(1)(1)实型常量采用十进制小数形式表示时,必须实型常量采用十进制小数形式表示时,必须有有 小数点。例如小数点。例如:123.:123.是实型常量,而是实型常量,而123123是整是整型型 常量常量(2)(2)采用指数形式表示时,在采用指数形
12、式表示时,在E E或或e e之前必须要有之前必须要有数数 字,且之后的指数必须为整数。例如:字,且之后的指数必须为整数。例如:E6E6、.e6.e6、e e 等都是不合法的等都是不合法的(3)(3)实型常量的整数部分为实型常量的整数部分为0 0时可以省略,如下形时可以省略,如下形式式 是允许的:是允许的:.57,.0075e2,-.125,-.175E-.57,.0075e2,-.125,-.175E-2 2(4)(4)所有的实型常量均被看作是双精度类型所有的实型常量均被看作是双精度类型(doubledouble)2.22.2 常量与变量常量与变量常量与变量常量与变量第9页/共62页4.4.4
13、.4.字符常量字符常量字符常量字符常量定义定义定义定义:用单引号括起来的单个普通字符或用单引号括起来的单个普通字符或用单引号括起来的单个普通字符或用单引号括起来的单个普通字符或转义字符转义字符转义字符转义字符。分为一般字符常量和特殊字符常量分为一般字符常量和特殊字符常量分为一般字符常量和特殊字符常量分为一般字符常量和特殊字符常量一般字符常量:一般字符常量:一般字符常量:一般字符常量:如如如如 a a a a 、9 9 9 9 、!等。单引号只起定等。单引号只起定等。单引号只起定等。单引号只起定界作用并不表示字符本身,中间的字符可以界作用并不表示字符本身,中间的字符可以界作用并不表示字符本身,中
14、间的字符可以界作用并不表示字符本身,中间的字符可以是除单引号(是除单引号(是除单引号(是除单引号()和反斜杠()和反斜杠()和反斜杠()和反斜杠()以外的数)以外的数)以外的数)以外的数字、字母等字、字母等字、字母等字、字母等C C C C语言字符集中包含的所有可显语言字符集中包含的所有可显语言字符集中包含的所有可显语言字符集中包含的所有可显示字符。示字符。示字符。示字符。特殊字符常量(也叫转义字符)特殊字符常量(也叫转义字符)特殊字符常量(也叫转义字符)特殊字符常量(也叫转义字符)是是是是C C C C语言中表示字符的一种特殊形式,其含语言中表示字符的一种特殊形式,其含语言中表示字符的一种特
15、殊形式,其含语言中表示字符的一种特殊形式,其含义为将反斜杠(义为将反斜杠(义为将反斜杠(义为将反斜杠()后面的字符转换成另外)后面的字符转换成另外)后面的字符转换成另外)后面的字符转换成另外的意义。的意义。的意义。的意义。2.22.2 常量与变量常量与变量常量与变量常量与变量第10页/共62页字符常量的字符常量的值值:该字符的:该字符的ASCIIASCII码码值值如如如如 A A A A65656565,a a a a97979797,0 0 0 048,48,48,48,nnnn10101010 转义字符及其含义:b _above$123M.D.John3days#33char$123ab2
16、.22.2 常量与变量常量与变量常量与变量常量与变量第14页/共62页 在在在在C C C C语言中,允许将程序中的常量定义为一语言中,允许将程序中的常量定义为一语言中,允许将程序中的常量定义为一语言中,允许将程序中的常量定义为一个标识符,称为符号常量。在使用符号常量个标识符,称为符号常量。在使用符号常量个标识符,称为符号常量。在使用符号常量个标识符,称为符号常量。在使用符号常量前必须先加以定义,一般情况下,符号常量前必须先加以定义,一般情况下,符号常量前必须先加以定义,一般情况下,符号常量前必须先加以定义,一般情况下,符号常量使用大写英文字母表示。使用大写英文字母表示。使用大写英文字母表示。
17、使用大写英文字母表示。其定义的一般形式为:其定义的一般形式为:#define#define 例如:例如:#define PRICE 35#define PRICE 352.22.2 常量与变量常量与变量常量与变量常量与变量第15页/共62页2.2.2 变量变量概念:其值可以改变的量概念:其值可以改变的量变量名变量名与与变量值变量值变量定义的一般格式:变量定义的一般格式:数据类型数据类型 变量变量11,变量,变量2 2,变量,变量n;n;变量初始化变量初始化:定义时赋初值定义时赋初值变量的使用:变量的使用:先定义,后使用先定义,后使用变量值变量值3a变量名变量名存储单元存储单元决定分配字节数和数
18、的表示范围合法标识符例例:int a,b,c;float data;例例:int a=2,b,c=4;float data=3.67;char ch=A;int x=1,y=1,z=1;int x=y=z=1;main()int a,b=2;float data;a=1;data=(a+b)*1.2;printf(“data=%fn”,data);变量定义main()int a,b=2;a=1;float data;data=(a+b)*1.2;printf(“data=%fn”,data);2.22.2 常量与变量常量与变量常量与变量常量与变量第16页/共62页编译程序根据变量定义为其编译程
19、序根据变量定义为其分配指定字节的内存单元分配指定字节的内存单元.地址地址int a=1,b=-3,c;abc2字节字节2字节字节2字节字节地址地址地址地址.内存内存1-3随机数随机数变量定义位置:变量定义位置:一般一般放在函数开头放在函数开头2.22.2 常量与变量常量与变量常量与变量常量与变量第17页/共62页 与常量类似,变量也有不同的类型,一般可以分为以下三种类型:与常量类似,变量也有不同的类型,一般可以分为以下三种类型:与常量类似,变量也有不同的类型,一般可以分为以下三种类型:与常量类似,变量也有不同的类型,一般可以分为以下三种类型:整型变量整型变量 实型变量实型变量 字符变量字符变量
20、2.22.2 常量与变量常量与变量常量与变量常量与变量第18页/共62页1.1.1.1.整型变量整型变量整型变量整型变量 (1 1 1 1)整型变量的分类整型变量的分类整型变量的分类整型变量的分类 基本型基本型基本型基本型 短整型短整型短整型短整型 长整型长整型长整型长整型 无符号整型无符号整型无符号整型无符号整型基本型基本型:类型说明符为int,在内存中占2个字节。短整型:短整型:类型说明符为short int或short,所占字节和取值范围均与基本型相同。长整型:长整型:类型说明符为long int或long,在内存中占4个字节。无符号整型:类型说明符为unsigned。.无符号基本型:类
21、型说明符为 unsigned int或 unsigned。.无符号短整型:类型说明符为unsigned short。.无符号长整型:类型说明符为unsigned long。2.22.2 常量与变量常量与变量常量与变量常量与变量第19页/共62页例例2-1 2-1 整型变量的使用整型变量的使用#include#include int main()int main()int x,y,z;int x,y,z;x=10;y=20;x=10;y=20;z=x+y;z=x+y;printf(printf(“x+y=%dnx+y=%dn”,z);,z);return 0;return 0;输出结果:输出结果
22、:x+y=30 x+y=30(2 2 2 2)整型变量的定义与使用)整型变量的定义与使用)整型变量的定义与使用)整型变量的定义与使用2.22.2 常量与变量常量与变量常量与变量常量与变量第20页/共62页int x;int x;x=10;x=10;则变量则变量x x的值的值1010在内存中的存放形式:在内存中的存放形式:int x;int x;x=-10;x=-10;则变量则变量x x的值的值1010在内存中的存放形式:在内存中的存放形式:(3 3 3 3)整型数据在内存中的存放形式)整型数据在内存中的存放形式)整型数据在内存中的存放形式)整型数据在内存中的存放形式2.22.2 常量与变量常量
23、与变量常量与变量常量与变量第21页/共62页例例2-2 2-2 整型数据的溢出问题整型数据的溢出问题#include#include int main()int main()int x,y;int x,y;x=32767;x=32767;y=x+1;y=x+1;printf(%d,%dn,x,y);printf(%d,%dn,x,y);return 0;return 0;运行结果:运行结果:-32768-32768原因:一个原因:一个intint型变量只能容纳型变量只能容纳-32768-32768到到3276732767范范 围内的数,无法表示超过这个范围的数。围内的数,无法表示超过这个范围的
24、数。(4 4 4 4)整型数据的溢出)整型数据的溢出)整型数据的溢出)整型数据的溢出2.22.2 常量与变量常量与变量常量与变量常量与变量第22页/共62页2.2.2.2.实型变量实型变量实型变量实型变量 (1)(1)(1)(1)实型变量的分类实型变量的分类实型变量的分类实型变量的分类单精度实型:类型说明符为单精度实型:类型说明符为单精度实型:类型说明符为单精度实型:类型说明符为floatfloatfloatfloat,在内存,在内存,在内存,在内存中占中占中占中占4 4 4 4个字节,提供个字节,提供个字节,提供个字节,提供7 7 7 7位有效数字。位有效数字。位有效数字。位有效数字。双精度
25、实型:类型说明符为双精度实型:类型说明符为双精度实型:类型说明符为双精度实型:类型说明符为doubledoubledoubledouble,在内,在内,在内,在内存中占存中占存中占存中占8 8 8 8个字节,提供个字节,提供个字节,提供个字节,提供1 5 1 61 5 1 61 5 1 61 5 1 6位有效数位有效数位有效数位有效数字。字。字。字。例例 float a;a=111111.111;/*a=111111.1*/double b;b=111111.111;/*b=111111.111*/2.22.2 常量与变量常量与变量常量与变量常量与变量第23页/共62页例例2-32-3实型变量
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 数据类型
限制150内