




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算1基本数据类型及其运算基本数据类型及其运算2.1 c2.1 c语言的数据类型语言的数据类型 2.2 2.2 2.3 2.3 整型数据整型数据 2.4 2.4 实型数据实型数据 2.5 2.5 字符型数据字符型数据2.6 2.6 运算符与表达式运算符与表达式2.7 2.7 数据的类型转换数据的类型转换 2.8 2.8 数据的输入与输出数据的输入与输出 2.9 2.9 顺序结构程序设计顺序结构程序设计吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章
2、章 基本类型数据及其运算基本类型数据及其运算2通常,一个程序应包括通常,一个程序应包括: :u 对数据的描述对数据的描述u 对数据处理的描述。对数据处理的描述。对对数据数据的描述,的描述, 即即数据结构数据结构; ;对对数据处理数据处理的描述,即的描述,即算法算法。因此:因此:程序程序 = = 数据结构数据结构 + + 算法算法在在c c语言中语言中数据结构数据结构以以数据类型数据类型的形式出现,的形式出现,算法算法由由语句序列语句序列实现。实现。吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算3c c语言允许使用的数据
3、类型:语言允许使用的数据类型: 基本类型基本类型 构造类型构造类型 (派生类型)(派生类型)数据类型数据类型 枚举类型枚举类型 空类型空类型指针指针类型类型c c语言的数据语言的数据类型类型 吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算4单精度型单精度型双精度型双精度型l复数浮点型复数浮点型基本整型基本整型短整型短整型长整形长整形字符型字符型l双长整型双长整型l布尔型布尔型实型实型整型整型基本类型基本类型吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据
4、及其运算5指针类型指针类型数组类型数组类型结构体类型结构体类型共用体类型共用体类型函数类型函数类型位段位段构造类型构造类型(派生类型)(派生类型)吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算6u基本类型基本类型u枚举类型枚举类型u空类型空类型u派生类型派生类型指针类型指针类型数组类型数组类型结构体类型结构体类型共用体类型共用体类型函数类型函数类型算术类型算术类型纯量类型纯量类型组合类型组合类型吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算7吉
5、林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算8u所谓所谓类型类型,就是对数据分配存储单元的安排,就是对数据分配存储单元的安排 单元的单元的长度长度( (占多少占多少字节字节) ) 数据的数据的存储形式存储形式u不同不同的类型分配不同的长度和存储形式的类型分配不同的长度和存储形式吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算9数据的数据的值值有两种不同的表现形式:有两种不同的表现形式:u 常量常量u 变量变量c c语言提供了丰富的语言提供了丰富的
6、运算符运算符和和表达式表达式,以完成各种,以完成各种数值计算数值计算和和非非数值计算数值计算。吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算102.2.1 2.2.1 标识符标识符是常量、是常量、变量变量、数组、函数、类型和语句的、数组、函数、类型和语句的名称名称。标识符有标识符有3 3种类型种类型: :a) a) 关键字关键字b b)预定义标识符)预定义标识符c) c) 用户标识符用户标识符吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算11a
7、)a) 关键字关键字类类 ansi cansi c标准标准c c共有共有3232个个关键字关键字 19991999年年isoiso推出的推出的c99c99标准新增了标准新增了5 5个关键字个关键字(见附录(见附录c c)根据关键字的作用,分为根据关键字的作用,分为两大类两大类: :u 数据类型数据类型u 流程控制流程控制吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算121.1. 数据类型数据类型关键字关键字 (4(4小类)小类)(1)(1) 基本基本数据类型(数据类型(5 5个)个) void charvoid cha
8、r int int float doublefloat double (2)(2) 类型类型修饰修饰关键字(关键字(4 4个)个) short short long long signed signed unsignedunsigned吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算13(3)(3) 复杂复杂类型关键字(类型关键字(5 5个)个)struct struct union union enum enum typedef typedef sizeofsizeof(4)(4) 存储级别存储级别关键字(关键字(6
9、6个)个)auto auto static static register register extern extern const const volatilevolatile吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算142.2. 流程控制流程控制关键字关键字 (1)(1) 跳转跳转结构(结构(4 4个)个) return return continue continue break break gotogoto (2) (2) 分支分支结构(结构(5 5个)个) if else if else switch c
10、aseswitch case defaultdefault吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算15 (3) (3) 循环循环结构(结构(3 3个)个) for for do do whilewhile c99c99新增新增5 5个关键字:个关键字: inline restrictinline restrict _bool _complex _imaginary _bool _complex _imaginary吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运
11、算基本类型数据及其运算16b)b) 预定义标识符预定义标识符类类预预定义标识符就是定义标识符就是已经存在已经存在的名字。的名字。 如系统提供的如系统提供的标准库函数名标准库函数名(printfprintf、scanfscanf) 如编译预处理如编译预处理命令名命令名(define define 、includeinclude)这些预定义标识符这些预定义标识符已有已有特定的含义特定的含义虽虽仍可仍可作为用户标识符使用,但会失去作为用户标识符使用,但会失去原意原意吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算17c) c)
12、 用户标识符用户标识符类类用于标识用于标识变量变量、符号常量符号常量、数组数组、函数函数和和数据类型数据类型等等对象的一个对象的一个字符序列字符序列,称为用户定义标识符。,称为用户定义标识符。c c语言规定用户标识符只能由语言规定用户标识符只能由字母字母、数字数字和和下划线下划线组成组成. .且以且以字母字母或或下划线下划线开头开头。吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算18说明:说明:(1)(1)c c语言中语言中同一字母同一字母的的大小写大小写,被认为是两个,被认为是两个不同不同 的字符。的字符。例如:例如
13、: totaltotal、totaltotal、totaltotal、total total 不同的用户标识不同的用户标识符。符。吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算19(2)(2)c c语言的语言的关键字关键字不能不能用作用户标识符。用作用户标识符。例如:例如:int int 不不合法合法intint、intint、int int 合法合法吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算20(3)(3)用户标识符的命名要用户标识符的命
14、名要见名知意见名知意。例如:例如:name/xm name/xm 姓名姓名sex/xb sex/xb 性别性别age/nl age/nl 年龄年龄吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算21(4)(4)避免使用避免使用易混易混字符。字符。例如:例如: 1 1、l l、i i;0 0、o o、o o;p p、p p;x x、x x;2 2、z z、z z等。等。file6file6、stu_namestu_name、defaultdefault、_9_9、xandy xandy 正确正确6file6file、stu
15、-namestu-name、defaultdefault、-9-9、x&y x&y 不不正确正确吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算222.2.2 2.2.2 常量常量 常量:常量:在程序运行过程中,其在程序运行过程中,其值值不能不能被改变的量被改变的量整型整型常量:常量:实型实型常量常量字符字符常量:常量:普通字符:如普通字符:如? ?转义字符:如转义字符:如nn字符串字符串常量:如常量:如“boyboy”符号常量符号常量:#define #define pipi 3.1416 3.1416
16、直接常量直接常量即即常数常数吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算23整型整型常量的常量的表示方法表示方法 有有3 3种种形式表示:形式表示:(1 1) 十进制十进制整数整数 如:如:123123、-456-456、0 0 (2 2) 八进制八进制整数整数 如:如:0 0123123表示八进制数表示八进制数123123,即(,即(123123)8 8(3 3) 十六进制十六进制整数整数 如:如:0 x0 x123123表示十六进制表示十六进制123123,即(,即(123123)1616数字数字0 0吉林大学公
17、共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算24实际上,实际上,任何进制任何进制的数都可以表示为:的数都可以表示为:1cksnmiiic其中:其中: k ki i 为第为第i i位的数码,位的数码, n n为整数的位数,为整数的位数, m m为小数的位数,为小数的位数, c c为进制。为进制。1016108)291(332256163162161)123()83(83*8281)123(012012+*+*+*+*吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据
18、及其运算25实型实型的的表示方法表示方法实数又称实数又称浮点数浮点数,有,有两种两种表示形式:表示形式:(1 1) 十进制小数形式十进制小数形式由数字和小数点组成,如:由数字和小数点组成,如:. .123123、123123. .、123123. .0 0、0 0. .0 0(2 2) 指数形式指数形式如:如: 1.234561.23456e2e2或或0.1234560.123456e3e3都代表都代表123.456123.456u 但注意字母但注意字母e e之前之前必须必须有数字有数字u 且且e e后后的指数的指数必须必须为为整数整数其中:其中: 1 1. .2345623456e2e2 规
19、范化规范化的指数形式的指数形式吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算26字符常量:字符常量:使用使用单引号单引号括起来的括起来的一个一个字符字符。如如: : a a、9 9、d d、? ?、¥ 等。等。注意:注意: a a 和和 a a 不是同一个字符不是同一个字符常量。常量。除以上的除以上的普通普通字符常量外,还有一种字符常量外,还有一种特殊形式特殊形式的的字字符常量符常量,既以,既以“ ”开头的开头的字符序列字符序列,称为,称为“控制字控制字符符”例如:例如:printfprintf函数中的函数中的 nn
20、代表一个代表一个“换行换行”符。符。控制字符不能在屏幕上显示,也无法用一个一般形控制字符不能在屏幕上显示,也无法用一个一般形式的字符表示,只能用特殊形式表示。式的字符表示,只能用特殊形式表示。字符字符常量的常量的表示方法表示方法吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算27字符形式字符形式含义含义asciiascii代码代码00(空)(空)nullnull0 0nn换行换行,将当前位置移到下一行开头,将当前位置移到下一行开头1010rr回车回车,将当前位置移到本行开头,将当前位置移到本行开头1313tt水平制表(跳
21、到下一个水平制表(跳到下一个tabtab位置)位置)9 9vv垂直制表(将当前位置移到下一个垂直制表对齐点)垂直制表(将当前位置移到下一个垂直制表对齐点)1111bb退格,将当前位置移到前一列退格,将当前位置移到前一列8 8ff换页,将当前位置移到下页开头换页,将当前位置移到下页开头1212aa警告音或视觉信号警告音或视觉信号7 7反斜杠字符反斜杠字符“ ”9292 单引号字符单引号字符“”3939 ” ”双引号字符双引号字符“”3434?问号字符问号字符 “ “?”6363 dddddd1 1到到3 3位位8 8进制数所代表的字符进制数所代表的字符 x xhhhh1 1到到2 2位位1616
22、进制数所代表的字符进制数所代表的字符常用的特殊字符表如下:常用的特殊字符表如下:吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算28u字符字符常量常量是一对是一对单引号单引号括起来的括起来的单个单个字符。字符。u字符字符串串常量则是一对常量则是一对双引号双引号括起来的一个括起来的一个字符字符序列序列例例 a a 是字符常量。是字符常量。 “a a” 是字符串常量。二者不同,也不能混淆。是字符串常量。二者不同,也不能混淆。字符字符串串常量的常量的表示方法表示方法吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中
23、心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算29a a 和和 “a a” 的的区别区别在于:在于:uc c语言规定:在每个语言规定:在每个字符串的结尾字符串的结尾由系统自动由系统自动加加入一个控制字符入一个控制字符00 作为作为字符串的字符串的结束标志结束标志。u这表明这表明 “a a” 字符串在内存中实际是字符串在内存中实际是由由2 2个个字符组成字符组成的,因此只能放一个字符的字符变量的,因此只能放一个字符的字符变量无法存放无法存放 “a a”。吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算30例:
24、若有字符串例:若有字符串常量常量为:为: “chinachina” ” 则实际内存中是:则实际内存中是:china0其中的其中的00是系统是系统自动自动加上的。加上的。吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算31符号符号常量:用一个常量:用一个标识符标识符代表一个常量代表一个常量例例 符号常量的使用。符号常量的使用。符号符号常量的常量的表示方法表示方法#define#define priceprice 3030void main ( )void main ( ) int num int num,total tot
25、al ; num=10num=10; totaltotal=num =num * * priceprice ; printf (“total=%d”,total) printf (“total=%d”,total) ; u符号常量名用符号常量名用大写大写,变量,变量名用名用小写小写。u使用符号常量的优点有:使用符号常量的优点有:(1 1)含义清楚。含义清楚。(2 2) “ “一改全改一改全改”吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算322.2.3 2.2.3 变量变量 变量必须变量必须先先定义,定义,后后使用使用
26、定义变量时指定该变量的定义变量时指定该变量的名字名字和和类型类型变量变量名名和变量和变量值值是不同的概念是不同的概念变量名变量名代表代表内存中的存储单元内存中的存储单元变量名实际上是一个变量名实际上是一个符号地址符号地址从变量从变量中中取取值值,实际上是,实际上是通过通过变量变量名名找到相找到相应的应的内存地址内存地址,从该,从该存储单元存储单元中中读取数据读取数据a a3 3变量变量名名变量变量值值存储单元存储单元20002000变量:变量:在程序运行过程中,其在程序运行过程中,其值值可以可以被改变的量被改变的量吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章
27、 基本类型数据及其运算基本类型数据及其运算33a 200320022001200000001111000000000000000000000000低低地址地址0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1a a吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算341.1.变量变量定义定义 所有用到的变量所有用到的变量必须必须先先定义、定义、后后使用。使用。变量定义的变量定义的一般格式一般格式如下:如下: 类型说明符类型说明符 变量名变量名1 1
28、 , ,变量名变量名2 2, , ,变量名变量名n n ; ; 例如:例如: intint i i, ,j j, ,k k; ; floatfloat x x, ,y y, ,z z; ;吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算352.2.变量变量赋值赋值变量赋值有如下几种方式。变量赋值有如下几种方式。 (1)(1)变量赋变量赋初值初值。 定义定义变量时变量时直接直接赋值,也称为变量的赋值,也称为变量的初始化初始化。例如:例如: int a=10,b=9,c=6;int a=10,b=9,c=6; float x
29、=3.0,y=1.0,z=2.0; float x=3.0,y=1.0,z=2.0; char c1; char c1; c1=a; c1=a; a=20; a=20; c1=b; c1=b;初始化初始化赋初值赋初值赋值赋值吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算36注意:注意:不能不能将具有将具有相同初值相同初值的变量赋初值时写成以下形式:的变量赋初值时写成以下形式: int a=b=c=6;int a=b=c=6;只能只能写成:写成: int a=6, b=6, c=6int a=6, b=6, c=6;吉林
30、大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算372.3 2.3 整型整型数据数据 2.3.1 2.3.1 整型整型常量常量 八进制、十进制、十六进制八进制、十进制、十六进制整型整型数据包括数据包括整型整型常量常量和和整型整型变量变量。吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算380 01 10 01 10 00 00 00 00 00 00 00 00 00 00 00 01010i ii i图图(a)(a)图图(b)(b)例:例:设定义一个
31、整形变量设定义一个整形变量 i i : int i int i ; i=10 i=10 ;图图 (a)(a)为在内存中的为在内存中的1010进制进制表示表示( (示意示意) ); (b)(b)为在内存中的为在内存中的2 2进制进制表示。表示。2.3.2 2.3.2 整型整型变量变量吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算39实际上,数值是以实际上,数值是以补码表示补码表示的。的。正数正数的补码:与其原码的形式相同。的补码:与其原码的形式相同。负数负数的补码:是将该数的的补码:是将该数的绝对值绝对值的二进制形式的二
32、进制形式按位取反按位取反再再加加1 1。(a)(a)(b)(b)0 01 10 01 10 00 00 00 00 00 00 00 00 00 00 00 0绝对值绝对值1 10 01 10 01 11 11 11 11 11 11 11 11 11 11 11 1取反取反0 01 11 10 01 11 11 11 11 11 11 11 11 11 11 11 1补码补码(c)(c)1.1. 整型数据整型数据存放形式存放形式吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算40根据根据字节数字节数可以看出,补码的表示
33、范围:可以看出,补码的表示范围:一个整数占一个整数占2 2个字节,个字节,1616位。去掉一个符号位,有效数字位。去掉一个符号位,有效数字位为位为1515位,因此可表达的值的范围为:位,因此可表达的值的范围为: -2-215 15 2 21515-1 -1 即即 -32768 -32768 32767 32767 。32767327671 11 11 11 11 11 11 11 11 11 11 11 11 11 11 10 0有符号有符号a a1 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 1无无符号符号b b6553565535符号位符号位数
34、据数据的第的第1 1位位2 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 1有符号有符号a a-32768-32768吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算412.2. 整型变量的整型变量的分类分类根据占用内存字节数的不同,整型变量分为:根据占用内存字节数的不同,整型变量分为:(1) (1) 基本整型基本整型 (类型关键字为(类型关键字为intint)(2) (2) 短整型短整型 (类型关键字为(类型关键字为shortshort intint )(3) (
35、3) 长整型长整型 (类型关键字为(类型关键字为longlong intint )吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算42ut turbo urbo c c 2.0 2.0和和t turbo urbo c c+ + 3.03.0l short short、int int 2 2个字节个字节l long long 4 4个字节个字节uc+ 6.0c+ 6.0l short short 2 2个字节个字节l intint、long long 4 4个字节。个字节。吉林大学公共计算机教学与研究中心吉林大学公共计算机
36、教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算433.3. 整型变量的整型变量的符号属性符号属性整型变量的整型变量的值值的的范围范围包括包括负数负数到到正数正数可以将变量定义为可以将变量定义为“无符号无符号”类型类型u扩充的整形类型:扩充的整形类型:吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算44扩充扩充的整型类型:的整型类型: 有有符号基本整型符号基本整型 signedsigned int; int; 无无符号基本整型符号基本整型 unsignedunsigned int; int; 有符
37、号短整型有符号短整型 signed short int;signed short int; 无符号短整型无符号短整型 unsigned short int;unsigned short int; 有符号长整型有符号长整型 signed long int;signed long int; 无符号长整型无符号长整型 unsigned long intunsigned long int 有符号双长整型有符号双长整型 signed long long int; signed long long int; 无符号双长整型无符号双长整型 unsigned long long intunsigned lon
38、g long int吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算454.4.整型数据整型数据值域值域 整型数据所占字节数和数值范围如表整型数据所占字节数和数值范围如表2-12-1所示。所示。吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算462.4 2.4 实型实型数据数据 实型实型数据包括数据包括实型实型常量常量和和实型实型变量变量。2.4.1 2.4.1 实型实型常量常量 小数小数形式、形式、指数指数形式形式吉林大学公共计算机教学与研究中心
39、吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算47实型数据是实型数据是按照指数形式存储按照指数形式存储的的分别存放分别存放小数部分小数部分指数部分指数部分l指数部分指数部分采用采用规范化规范化的指数形式。的指数形式。l小数部分小数部分采用采用定点小数定点小数形式存放。形式存放。 2.4.2 2.4.2 实型实型变量变量1.1. 实型数据实型数据存放形式存放形式吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算48例:例:实数实数3.141593.14159(本身本身的规范化形式的
40、规范化形式)在)在内存内存中的存放中的存放形式如图。形式如图。 1 1.3.31415914159+ +数符数符小数部分小数部分指数指数+ +. .314159314159x x10101 13 3.14159.14159( (规范化规范化) )吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算49上图是用十进制来示意的。上图是用十进制来示意的。实际在计算机中是实际在计算机中是:u用二进制表示小数部分用二进制表示小数部分u用用2 2的幂次表示指数部分的幂次表示指数部分 (如(如1 1x2x2n n+1x2+1x2n-1n-
41、1)吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算50例:把例:把0.5803d0.5803d转换成二进制数,且转换成二进制数,且有效位数有效位数为为6 6位位。解:采用解:采用乘乘r r取整取整法。法。 0.58030.5803x x 2 2 1 1.1606 .1606 取整数取整数1 1 作为作为最高位最高位 2 2 0 0.3212 .3212 取整数取整数0 0作为第二位作为第二位 2 2 0 0.6424 .6424 取整数取整数0 0作为第三位作为第三位吉林大学公共计算机教学与研究中心吉林大学公共计算机教
42、学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算51 0.6424 0.6424x x 2 2 1 1.2848 .2848 取整数取整数1 1 作为第四位作为第四位 2 2 0 0.5696 .5696 取整数取整数0 0作为第五位作为第五位 2 2 1 1.1392 .1392 取整数取整数1 1作为第作为第六六位(最低位)位(最低位) 即:即: 0.58030.5803d d = = 0.0.100101100101b b小数小数永远不会永远不会绝对精确绝对精确吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本
43、类型数据及其运算52在计算机中是用在计算机中是用2 2的幂次的幂次来表示指数部分的。来表示指数部分的。例如:例如: 1717d d= =1000110001b b= =1 1* *2 24 4+0+0* *2 23 3+0+0* *2 22 2+0+0* *2 21 1+1+1* *2 20 0数数符符阶阶码码尾数尾数floatfloat型型( (单单精度浮点型精度浮点型6 6位位1010进制进制有效有效数字数字) )吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算532.2.实型变量实型变量分类分类 根据所占字节数分类
44、有根据所占字节数分类有3 3种类型:种类型: (1)(1)单单精度型。类型关键字为精度型。类型关键字为floatfloat。 (2)(2)双双精度型。类型关键字为精度型。类型关键字为doubledouble。 (3)(3)长双长双精度型。类型关键字为精度型。类型关键字为long doublelong double。吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算542.5 2.5 字符型字符型数据数据 字符型字符型数据包括数据包括字符字符常量常量和和字符字符变量变量。2.5.1 2.5.1 字符字符常量常量字符常量是指字
45、符常量是指单个字符单个字符,用一对,用一对单引号单引号及其所括及其所括起来的字符表示。起来的字符表示。 字符常量有字符常量有两种两种表示形式:表示形式:u 普通字符普通字符u 转义字符转义字符吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算552.5.2 2.5.2 字符字符变量变量用用类型符类型符charchar定义字符变量定义字符变量例:例: charchar c = c = a a; ; 系统把系统把a a的的asciiascii码码值值6565赋给变量赋给变量c c0 0 1 1 0 0 0 0 0 0 0 0
46、0 0 1 1 由于由于存储形式存储形式与整数与整数相同相同,允许,允许相互转换相互转换。 吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算56【例【例2-22-2】 以以字符字符形式或形式或整数整数形式输出。形式输出。#include #include int main()int main() char ch1,ch2;char ch1,ch2; ch1= ch1=a a; ch2=; ch2=9797; ; printf(ch1=%printf(ch1=%c c,ch2=%,ch2=%c cn,n,ch1ch1, ,
47、ch2ch2););printf(ch1=%printf(ch1=%d d,ch2=%,ch2=%d dn,ch1,ch2);n,ch1,ch2);return 0;return 0; 吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算57可以进行可以进行运算运算例如:例如:a+3a+3 / /值值为为6868,对应字符,对应字符d d 5-05-0 / /值为值为5 55+05+0 / /值为值为5353,对应字符,对应字符55 吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数
48、据及其运算基本类型数据及其运算58u字符字符11和和整数整数1 1是是不同不同的概念:的概念:字符字符11只是代表一个只是代表一个形状形状为为11的符号,在的符号,在需要时按需要时按原样原样输出,在内存中以输出,在内存中以asciiascii码形式存码形式存储。储。占占1 1个字节个字节整数整数1 1以整数存储方式以整数存储方式( (二进制补码方式二进制补码方式) )存储的。存储的。占占2 2个或个或4 4个字节个字节0 0 0 0 1 1 0 0 0 11 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
49、0 1 1吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算592.5.3 2.5.3 字符字符串串常量常量 字符字符串串常量则是一对常量则是一对双引号双引号括起来的一个括起来的一个字符字符序列序列注意:整型、实型、字符型数据都注意:整型、实型、字符型数据都有有变量变量表示,表示,而而c c语言中语言中没有没有字符串变量字符串变量。吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算60例:若有字符串例:若有字符串常量常量为:为: “chinachina
50、” ” 则实际内存中是:则实际内存中是:china0其中的其中的00是系统是系统自动自动加上的。加上的。注意:注意: 空串空串,表示为,表示为“”“” 空字符空字符(nulnul)的)的asciiascii码值:码值:0 0 空格字符空格字符的的asciiascii码值:码值:3232吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算61数据数据常常量量变变量量存放存放asciiascii码码值值、可与整形数转换和运算、可与整形数转换和运算无无字符串变量字符串变量字符字符变量变量字符字符串串变量变量整整常量常量实实常量常量
51、3 3种表示方法:种表示方法:8 8、1010、1616进制进制6 6种类型:是种类型:是被认为被认为的的2 2种表示方法:小数、指数种表示方法:小数、指数2 2种类型:种类型:双双:由:由系统处理系统处理;单单:加:加f f双双引号:引号:“s s” 有有00单单引号:引号:s s 或或 nn字符字符常量常量字符字符串串常量常量由由definedefine指定指定符号符号常量常量整整变量变量实实变量变量6 6种类型:是种类型:是被定义被定义的的在内存中的在内存中的存放形式存放形式会会溢出溢出3 3种类型:单、双、长。是种类型:单、双、长。是被定义被定义的的在内存中的在内存中的存放形式存放形式
52、有有舍入舍入误差误差由由constconst定义定义常常变量变量数数值值型型数数据据吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算62u字符字符常量:由常量:由单撇号单撇号括起来的括起来的单个单个字符或转义字符字符或转义字符u整型整型常量:常量:不不带小数点的数值带小数点的数值系统系统根据数根据数值值的大小确定的大小确定intint型还是型还是longlong型等型等u浮点浮点型常量:型常量:凡凡以以小数小数形式或形式或指数指数形式出现的实数形式出现的实数c c编译系统把浮点型常量编译系统把浮点型常量都都按双精度处理按
53、双精度处理分配分配8 8个字节个字节怎样怎样确定确定常量常量的类型的类型吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算632.6 2.6 运算符运算符与与表达式表达式 2.6.1 2.6.1 运算符概述运算符概述 应理解和掌握的概念应理解和掌握的概念2.6.22.6.2 表达式概述表达式概述u 用用运算符运算符将将运算对象运算对象连接起来并符合连接起来并符合语法规则语法规则的式子,称为的式子,称为表达式表达式u 运算运算对象对象包括常量、变量、函数等包括常量、变量、函数等吉林大学公共计算机教学与研究中心吉林大学公共计算
54、机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算641.1.基本的基本的算术算术运算符:运算符:+ + :正正号运算符号运算符( (单目单目2 2级级) )- - :负负号运算符号运算符( (单目单目2 2级级) )* * :乘法运算符(双目:乘法运算符(双目3 3级)级)/ / :除法运算符(双目:除法运算符(双目3 3级)级)% % :求余求余运算符(双目运算符(双目3 3级)级)+ + :加法运算符(:加法运算符(双目双目4 4级)级)- - :减法运算符(双目:减法运算符(双目4 4级)级)#include#includevoid main()void mai
55、n() int a=int a=-10-10; ;printf(“%dn”,a);printf(“%dn”,a);printf(“%dn”,printf(“%dn”,- -a);a);printf(“%dn”,printf(“%dn”,+ +a);a); 2.6.3 2.6.3 算术算术运算符与算术表达式运算符与算术表达式 吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算65说明说明: :u对于对于除法除法,如果是两个,如果是两个整数整数相除,结果相除,结果仍为仍为整数整数。即舍掉小数部分。即舍掉小数部分。如:如:5/3
56、5/3 的结果为的结果为1 1。这是在。这是在正正整数整数时。时。1 11.61.62 2-1-1-1.6-1.6-2-2若两数中有一个为若两数中有一个为负数负数,则,则舍入方向舍入方向是是不确定不确定的。的。多数机器采用多数机器采用“向零取整法向零取整法”。吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算66说明说明: :u% %运算符要求参加运算的运算符要求参加运算的运算对象运算对象( (即操作数即操作数) )为为整数整数,结果结果也是也是整数整数。 如如: 7%4: 7%4,结果为,结果为3 3吉林大学公共计算机教
57、学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算67不同类型不同类型数据间的混合运算:数据间的混合运算:u整型整型(intint,shortshort,longlong)和实型和实型(floatfloat,doubledouble)数据数据可以混合运算可以混合运算u字符型可以与整型通用字符型可以与整型通用u因此:整型、实型、字符型数据之间可以混合因此:整型、实型、字符型数据之间可以混合运算运算 例如:例如:10+10+c c+1.5 - 8765.1234+1.5 - 8765.1234* *b b吉林大学公共计算机教学与研究中心吉林大学公
58、共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算68注意:注意:不同不同类型之间数据的混合运算要类型之间数据的混合运算要先转换先转换成成同一种同一种类型,然后进行运算。类型,然后进行运算。转换的规则转换的规则如下图所示:如下图所示:doubledoubleintintfloatfloat高高低低charchar 表示表示必须必须进行的进行的转换。转换。 表示当运算表示当运算对象对象为为不同类型不同类型时,转换时,转换的方向的方向。吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型数据及其运算基本类型数据及其运算69例:例:
59、设已定义:设已定义: i i 为为 int int 型变量型变量 f f 为为 float float 型变量型变量 d d 为为 double double 型变量型变量 有式子如:有式子如: 10 +10 +a a+ i + i * * f d/3 f d/3执行时,计算机执行时,计算机自左向右自左向右扫描,运算次序为:扫描,运算次序为:1 1) 进行进行10+10+a a 运算运算 先把先把 a a 转化为转化为 int int 型,即整数型,即整数 9797, 运算结果为运算结果为 107107。吉林大学公共计算机教学与研究中心吉林大学公共计算机教学与研究中心 第第2 2章章 基本类型
60、数据及其运算基本类型数据及其运算70 10 + a+ i 10 + a+ i * * f f d/3d/32 2) 进行进行 i i * * f f 运算运算 先把先把 i i 和和 f f 都都转化成转化成 doubledouble 型,型, 结果也为结果也为 double double 型型3 3) 整数整数107107与与 i i * * f f 的积相加的积相加 先把整数先把整数107107转化为转化为 double double 型型4 4) 进行进行 d/d/3 3 运算运算 先把先把 3 3 转化为转化为doubledouble型,型,d/3 d/3 结果为结果为 double double 型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 财务业务工作目标设定计划
- 计算机图形处理技术试题及答案
- 2025届深圳市重点中学七下数学期末教学质量检测模拟试题含解析
- 预测2025年VB考试题型及试题与答案
- 工作重心和优先级排列计划
- 语言能力提升活动计划
- 水务行业安保工作总结与建议计划
- 提升班级文化品位的具体方法计划
- 法官职业的基本素养试题及答案
- 2024年西藏自治区财政厅下属事业单位真题
- 超声引导下的星状神经节阻滞
- 天津师范大学与韩国世翰大学入学综合素质题目
- 中国蚕丝绸文化智慧树知到期末考试答案章节答案2024年浙江大学
- MOOC 学术英语写作-东南大学 中国大学慕课答案
- 消防维护与保养(通用)ppt课件
- 浙江理工大学研究生培养方案专家论证意见表
- T∕CADERM 3033-2020 创伤中心创伤复苏单元内医师 站位及分工规范
- 高等数学(下)无穷级数PPT通用PPT课件
- 大倾角皮带输送机设计(全套图纸)
- 《老北京四合院》
- 常用化学中英文名词对照表
评论
0/150
提交评论