第二章基本数据类型、运算符和表达式.ppt
《第二章基本数据类型、运算符和表达式.ppt》由会员分享,可在线阅读,更多相关《第二章基本数据类型、运算符和表达式.ppt(44页珍藏版)》请在三一文库上搜索。
1、第二章 基本数据类型、运算符和表达式,2.1 C语言的数据类型 2.1.1 概述 程序设计主要解决两个问题:一个是动作,即怎样 做的问题,这由语句来实现;另一个是动作的对象,即数 据的存放问题,这由数据类型来决定。 世界上著名的计算机科学家沃斯(N.Wirth)提出这 样一个公式:程序=数据结构+算法 为什么要规定数据类型呢? 不同数据类型的数据在内存中占据不同长度的存储区 (2) 一种数据类型对应着一个值的范围。 (3) 一种数据类型对应着一个运算集。,2.1.2 数据类型,数据类型,1,2.2 常量 (2) 常量:程序运行过程中其值不发生变化的量。 三类常量:数值、字符和字符串。 2.2.
2、1 数值常量 一、整数常量的表示 1、计数制的通用表示方法 A=an-1bn-1 an-2bn-2 a1b1 a0b0 a-1b-1 a-2b-2 a-mb-m 基数(b):所含数码的个数 权(bx):表明数码所在的位置 数码:0 b-1,整数常量,实数常量,数值常量,二进制数: 基数:2 权:2x 数码:0 1 例如:1010.11=123 022121 020 12-1 12-2 =10.75 二进制数权值:128 64 32 16 8 4 2 1 注:计算机中使用二进制编码表示数据,且只存在二进制。 2、十进制表示 基数:10 权:10x 数码:0 9 例如:123.45=1102210
3、1 3100410-1510-2,3、八进制表示 基数:8 权:8x 数码:0 7 例如:023=2813 80 =19 注:八进制是二进制的短格式计数法,一位对三位。 例如:023对应的二进制数为010 011 注:C语言中八进制数第一个数字必须为0(八进制标志) 例如:0213 -030 +056 -0123 4、十六进制表示 基数:16 权:16X 数码:0 9,A,B,C,D,E,F 例如:0XBF3C=1116315162316112160 =48956,注:十六进制是二进制的短格式计数法,一位对四位。 例如: 0XBF3C对应的二进制数为1011 1111 0011 1100 注:
4、十六进制数前两个数字必须为0X(十六进制标志) 例如:0X213 -0X30 +0X56 -0X12A 二、整数常量的几种表示方式之间的转换,红色:连续除基数,取余数直到商为零 浅蓝:按权值位展开。 黄色:借助二进制数转换。,1、十进制变八进制或十六进制(红色) (1) 将139变为八进制数(0213) 8 139 8 17 余3 8 2 余1 0 余2 将3158变为十六进制数(0XC56) 2、八进制或十六进制变十进制(浅蓝) (1) 将0213变为十进制数(139) 0213=282+181+380=139 (2) 将0XC56变为十进制数(3158) 3、八进制与十六进制变换(黄色)
5、(1) 将0X1A3变成八进制数(0643) P19 (2) 将0334变为十六进制数(0XDC) P19,三、整数常量的取值范围 短整型数: 基本整型数: 长整型数: 四、溢出 整数的值超出了所能表示的范围,有符号短整型(16位):-32768 +32767,无符号短整型(16位) :0 65535,有符号整型(16位):-32768 +32767,无符号整型(16位) :0 65535,有符号长整型(32位):-2147483648 +2147483647,无符号长整型(32位):0 4294967295,五、实数 实数只使用十进制形式表示 两种表示方法:小数形式与指数形式 1、小数形式:
6、由整数部分、小数点、小数部分组成 2.718 0.123 123.0 .123 123. 0.0 2、指数形式:+整数部分.小数部分 + e前部分称为尾数,表示实数的有效值,符号表示整体的正负。 e后部分称为阶码,表示小数点在尾数基础上的移动位数,符号表示移动的方向 例如:-3.14e2, 3.14e-2 实数的分类,单精度, 例如:3.1415f 双精度, 例如:3.1415 长双精度, 例如:3.1415L,实数取其值的绝对值范围。当实数超出它的类型所能表示的范围时产生溢出。如果实数的绝对值小于所能表示的最小值则产生下溢, 例如:实数1.7e-309和-1.7e-309均产生下溢, 因为|
7、1.7e-309|1.7e+308|。上溢时将产生错误的结果。 实数又分为单精度(float)、双精度(double)和长双精度(long double)三类。 实数的缺省类型为双精度数(double型); 在实数后面加后缀字母f或F表示单精度数(float型),例如3.14159F; 在实数后面加后缀字母l或L表示长双精度数(long double型),例如1.7e+309L.,单精度实数具有67位十进制有效数字; 双精度实数具有1516位十进制有效数字; 长双精度数具有1819位十进制有效数字。,2.2.2 字符常量 一对单引号括起来的单一字符。例如:A,2,+ 字符常量在内存中占一个字节
8、存放,存放的值为该字 符的ASCII码值。 美国标准信息交换码ASCII码(American Standard Code for Information Interchange),前32个,0x00x1f为 控制字符 是空格,编码为OX20 3编码为OX33 9编码为OX39 A编码为OX41 Z编码为OX5A a编码为OX61 z编码为OX7A,2.2.3 转义字符 用于表示一些没法表示的字符,例如控制字符、单引号等 两种表示形式: 1、反斜杠后面跟一个字符 例如: 0 空字符 n 换行 t 横向跳格 b 退格 r 回车 字符 单引号 “ 双引号 2、反斜杠后面跟一个字符的ASCII码(两位
9、十六进制数 xhh或三位八进制数ddd) 例如:换行字符可以表示为: n 、 012 、12 、 XA,2.2.4 字符串常量 一对双引号括起来的零个或多个的字符序列,字符序 列中的字符个数称为字符串的长度。 例如: “this is a stringn“ “this is a“c“program“ 长度为0的字符串(即一个字符都没有的字符串)称 为空串,表示为“ (一对紧连的双引号)。 在存储字符串常量时,由系统在字符串的末尾自动加 个空字符0作为字符串的结束标志 例如: 有一个字符串“CHINA” ,它在内存中的实际 存储如下所示。 字符串如果有n个字符,则占用n+1个内 存空间。,字符串
10、必须写成一行,如下写法是错误的: printf(“Hello, how are you?“); 字符串常数必须写成一行。如果一行写不下,则有两 种方法可以将行扩展到下一行 。 printf(“hello,“ “how are you?“); 两个字符串中间只有空白字符(分隔符),认为这是一个字符串。 2、续行符 printf(“hello, how are you?“); 2.2.5 符号常量 将一个常量定义为一个标识符,这个标识符可以代替 对应的常量,称为符号常量。 例如:#define PI 3.1415926 (符号常量名使用大写字母),使用符号常量的优点: 1、输入很长的常量可以避免出
11、错,简化输入。 2、含义直观。 3、修改容易 例如:计算相同半径下的圆周长、圆面积和圆球体积。 #define PI 3.14159 main() main() float l,s,v,r; float l,s,v,r; printf(“input r:“); printf(“input r:“); scanf(“%f“, ,2.3 变量及数据类型 2.3.1 变量和变量的地址 变量:程序运行中可以改变的量。 本质是内存中的一块存储区, 变量名:是这块存储区的首地址的符号标识(通过变量名 找到这块存储区在内存中的位置,找到该块存储 区内存储的内容) 注:使用变量名表示存储的数据。 使用&变量名
12、表示地址。 变量类型:表明这块存储区的大小,以及施加在这块存储 区内存储的内容上的操作范围,在程序运行时,变量的值存储在一定的存储单元中,为此,须弄清楚变量名和变量值这两个不同的概念,如左图所示。存储某变量值的存储单元的首地址称为变量的地址。如右图所示的单精度实型变量average,是具有4个字节的存储单元,它们分别是单元40004003,而4000就称为变量average的首地址。在C语言中,变量的地址用变量名前加&符号表示,即&average,或者说&average的值就是4000。 变量名 float average &average4000 sum 变量值 4001 4002 4003
13、 存储单元,30,2.3.2 基本数据类型变量 一、整型变量 包括基本整型、短整型和长整型。ANSI C规定long 不短于int,short不长于int。具体实现取决于计算机系统。 1、整型变量的类型标识符 有符号短整型: signed short int 无符号短整型: unsigned short int 有符号基本整型: signed int 无符号基本整型: unsigned int 有符号长整型: signed long int 无符号长整型: unsigned long int 例如:int a; 取值范围为-32768 32767 unsigned int b; 取值范围为0
14、65535,二、计算机中数的表示 无符号数表示 00000000=0 0000000000000000=0 11111111=255 1111111111111111=65535 表示有符号数加正负号用0和1代表正负用某种编码方式使符号位也直接参与运算,不用特殊处理并得到正确结果 机器数:符号数值化了的数(最高位为符号位,1表示负号,0表示正号,其余为真值) 原码表示法:符号 + 绝对值 例如: +3原码 = 0 0000011 = 03H -3原码 = 1 0000011 = 83H +0原码 = 0 0000000 = 00H -0原码 = 1 0000000 = 80H,八 位,十 六
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 基本 数据类型 运算 表达式
链接地址:https://www.31doc.com/p-3445251.html