《数据类型实用.pptx》由会员分享,可在线阅读,更多相关《数据类型实用.pptx(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基本数据类型基本数据类型基本数据类型是语言系统定义的数据类型,只能有单一的值,在程序定义变量时可以直接引用。C语言中常用的基本数据类型有整型、实型、字符型。如在填写人的年龄时,使用的整型数据;学生的分数要用实型类型;学生姓名是由多个字符组成的。第第2页页/共共22页页第1页/共22页构造数据类型构造数据类型构造数据类型是由基本数据类型按一定的规则组合而成的,因此也称为导出类型数据。数组是由相同类型的数据组合而成的,如一班学生的数学成绩组合在一起,就是一个实数型数组。结构体是由不同类型的数据组合而成的,比如统记一个学生的信息包括学号(长整型)、学生姓名(字符型)、性别(字符型)、年龄(整型)等,
2、所有的数据组合在一起就成了构造体。如果若干个数据不同时使用时,为了节省内存空间,我们就可以让它们占用相同的内存区域,这些数据组合起来就是共用体,它可以是同类型的数据,也可以不同类型的数据。第第3页页/共共22页页第2页/共22页指针数据类型指针数据类型指针是一种特殊的数据类型,是C语言的核心,也是C语言点所在,同时又是具有重要作用的数据类型,其值用来表示某个量在内存储器中的地址。在本书的第14章我们将会重点给予讲解。第第4页页/共共22页页第3页/共22页空类型空类型空类型是从语法完整性的角度给出的一处数据类型,表示不需要具全的数据值,因此也就没有数据类型。空类型在调用函数值时,通常应向调用者
3、返回一个函数值,这个返回的函数值是具有一定的数据类型的,应在函数定义及函数说明中给以说明。但是,也有一类函数,调用后并不需要向调用者返回函数值,这种函数可以定义为“空类型”,其类型说明符为void。第第5页页/共共22页页第4页/共22页4.2 4.2 整型数据整型数据整型数据分为一般整型、短整型和长整型,并且每一种类型又分为带符号和无符号两种类型。第第6页页/共共22页页第5页/共22页整型常量整型常量整型常量的数据类型是整数,包括正整数、负整数和零。在C语言中,整型常量有以下三种不同的数制表示形式:十进制整数常量:这种表示方法就是我们平时所熟悉的表示方法,以数字09构成,最高位也是就左边第
4、一位不能为0。例如,-39,0,171等八进制整型常量:以数字0开头,其后再写上要表示的八进制数。八进制数各位由07这八个数字之一组成。例如0134,0471,-072。十六进制整型常量:以0X或0 x,其后再写上要表示的十六进制数。十六进制各位由数字09或字母af或AF构成。如0 x17,0XCF,-0X1f等。第第7页页/共共22页页第6页/共22页整型变量整型变量整型变量是指其值为整型数据的变量。整型数据有三种即整型(int)、短整型(short int)和长整型(long int)。为了方便书写,我们将short int和long int后面的int省略,分别用short和long来表
5、示短整型和长整型。1整型变量的定义整型变量分为整型变量、短整型变量、长整型变量。int a;/*定义一个整型变量a*/short d=16;/*定义一个短整型变量d*/long s;/*定义一个长整型变量s*/signed int a;/*定义一个带符整型变量a*/unsigned int num;/*定义一个无符号整型变量num*/【例4-1】整型数据简单运算。第第8页页/共共22页页第7页/共22页数据的溢出数据的溢出【例4-2】整型数据的溢出。#include void main()short a,b,c,d;a=32767;b=a+1;c=-32768;d=c-1;printf(%dn
6、%dn%dn%dn,a,b,c,d);第第9页页/共共22页页第8页/共22页4.3 4.3 实数型数据实数型数据实型数据表示的实际上就是带小数的数值,又称为浮点型数据。实型数据在单精度实型(float)、双精度实型(double)和长双精度实型三种,长双精度实型数据一般情况下很少用到。它们表示数值的方法是一样的,区别在于数据的精度、取值范围以及在内存中占用的存储空间有所不同。如表所示:第第10页页/共共22页页第9页/共22页实数型常量实数型常量实型常量有两种表示形式:1小数表示法C语言中实数只能使用十进制小数表示,不能用八进制或十六进制表示。这种形式由符号、整数部分、小数部分和小数部分级成
7、,其格式如下:整数部分小数部分第第11页页/共共22页页第10页/共22页实数型常量实数型常量2指数表示法用指数形式表示特别大或特别小的数值。指数形式的实数由尾数部分、字母E或e和指数部分组成。其格式如下:尾数部分E(e)指数部分指数形式的表示方法实际等价于:尾数部分*10指数部分因此,12.3e3等价于12.3*103,0.12E+5等价于0.12*105。10023.45可以表示为0.1002345e+5、1.002345e+4、10.02345e+3等,其中只有1.002345e+4才是规范化的指数形式。第第12页页/共共22页页第11页/共22页实数型常量实数型常量需要说明以下几点:实
8、型常量的类型都是双精度浮点型。实数在计算机中只能近似表示,运算中也会产生误差。小数部分和指数部分具体有多少位,没有具体的标准,不同的编译系统有不同的规定。小数部分越多,精确度越高;指数部分越多,数值的范围就越大。第第13页页/共共22页页第12页/共22页实数型变量实数型变量在程序运行过程中可以改变其值的实型量被称为实型变量。实型变量分为单精度(float)、双精度(double)和长双精度三种类型。在定义实型变量时用以下的方式:float x;/*定义float型变量x*/double y;/*定义double型变量y*/long double z,/*定义long double型变量z*/
9、【例4-3】测试单精度实型的有效位数。第第14页页/共共22页页第13页/共22页4.3 4.3 字符型数据字符型数据字符型数据指的是由字母、符号和不用于算术操作的数字组成,又称为非数值型数据。字符型数据分为字符型(char)、带符号字符型(signed char)和无符号字符(unsigned char)。第第15页页/共共22页页第14页/共22页字符型常量字符型常量字符型常量包括由一对单引号括起来的一个字符构成的一般字符常量和由反斜杠()开头的特定的字符序列构成的转义字符。1一般字符常量字符型常量是由一对单引号括起来的一个字符。这个字符是ASCII字符集中的字符,字符常量的值为该字符的A
10、SCII值。例如:A、x、D、?、3、X第第16页页/共共22页页第15页/共22页2转义字符转义字符是指由反斜杠()开头的特定的字符序列。C语言允许使用这种特殊形式的字符常量,因为在程序设计过程中,有一些字符如回车符、退格符、制表符等控制符号,不能在屏幕上显示,也不能从键盘上输入,只有用转义字符来表示。【例4-4】转义字符应用举例。第第17页页/共共22页页第16页/共22页字符型变量字符型变量字符型变量就是用一个标识符表示字符型数据,并且该标识符的值可以发生变化。字符变量只能存放一个字符。1字符型变量的定义与存储字符型变量就是值为字符常量的变量。字符变量只能存放一个字符。字符型变量的定义与
11、整型变量、实型变量的定义相同,如下:char c1,ch1;例如:char ch;ch=a;【例4-5】字符型数据的输出【例4-6】字符型数据的运算。第第18页页/共共22页页第17页/共22页4.4 4.4 数值型数据间的混合运算数值型数据间的混合运算C语言中,一般情况下相同类型的数据可直接进行运算,运算的结果就是这种类型。例如:5.0/2.0:参加运算的两个数都是实型,结果为实型2.5。5/2:参加运算的两个数都是整型,结果为整型2。第第19页页/共共22页页第18页/共22页自动类型转换自动类型转换自动类型转换是由系统自动完成的,又称为隐式转换。不同类型的数值进行运算时,系统会自动将级别
12、低的类型转换成级别高的类型,然后再进行运算,运算结果与其中级别高的操作数的类型相同。第第20页页/共共22页页第19页/共22页强制类型转换强制类型转换强制类型转换是利用强制类型转换运算符将安然将数据类型转换成所需要的类型。强制类型转换符是由一对圆括号将某个类型名括起来构成的。强制类型转换的语法格式为:(类型名)表达式(double)a/*将变量a转换成double型*/(int)(x+y)/*将x与y的和转换成整型*/(int)x+y/*先将x转换成整型,然后再与y求和*/【例4-7】求一个浮点数的个位数字。【例4-8】强制类型转换示例 第第21页页/共共22页页第20页/共22页数据类型之间的转换数据类型之间的转换(1)实型之间的转换(2)整型与实型之间的转换(3)字符型与实型之间的转换(4)整型之间的转换(5)有符号数向无符号数转换时 第第22页页/共共22页页第21页/共22页感谢您的观看!第22页/共22页