c语言第2章类型、运算符与表达式(2.12.3)

上传人:san****019 文档编号:70771260 上传时间:2019-01-18 格式:PPT 页数:74 大小:826.31KB
返回 下载 相关 举报
c语言第2章类型、运算符与表达式(2.12.3)_第1页
第1页 / 共74页
c语言第2章类型、运算符与表达式(2.12.3)_第2页
第2页 / 共74页
c语言第2章类型、运算符与表达式(2.12.3)_第3页
第3页 / 共74页
c语言第2章类型、运算符与表达式(2.12.3)_第4页
第4页 / 共74页
c语言第2章类型、运算符与表达式(2.12.3)_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《c语言第2章类型、运算符与表达式(2.12.3)》由会员分享,可在线阅读,更多相关《c语言第2章类型、运算符与表达式(2.12.3)(74页珍藏版)》请在金锄头文库上搜索。

1、第二章 数据类型、运算符和表达式,2,主要内容,2.1 预备知识 2.2 常量和变量的概念 2.3 各种数据类型的常量及变量 2.4 变量赋初值 2.5 不同类型数据之间的混合运算 2.6 常用运算符和表达式 2.7 输入函数与输出函数,3,2.1 预备知识 1、进制以及进制之间的转换 2、数据在计算机中的存储方式,4,1、进制以及进制之间的转换 计算机中数的表示及进制转换 数码、基与权 数码:表示数的符号 基:数码的个数(即进制的名称) 权:每一位所具有的值 数制,5,十进制:4956= 410+910 +510+610,二进制:1011=12+02 +12+12,十六进制:81AE=816

2、+116 +1016+1416,八进制:4275=48+28 +78+58,八进制:4275=48+28 +78+58,十六进制:81AE=816+116 +1016+1416,二进制:1011=12+02 +12+12,十进制:4956= 410+910 +510+610,6,7,8,一、二进制数的逻辑运算 计算机中的逻辑关系是一种二值逻辑,逻辑运算的结果只有“真”或“假”两个值。 二值逻辑很容易用二进制的0和1来表示,一般用1表示真,用0表示假。,9,与,或,非,表示方式,逻辑代数的三种基本逻辑关系 AND、 OR、 非A写成 ,10,(1)与运算 与运算又称逻辑乘,通常用或表示。运算规则

3、为按位进行“与”运算,若进行“与”操作的两位均为1,则结果为1;两位中有一位为0,则结果为0。具体规则如下: 00=0 01=0 10=0 11=1,11,(2)或运算 或运算又称逻辑加,通常用或+表示。运算规则是按位进行“或”运算,若进行“或”操作的两位中有一位为1,则结果为1;两位均为0,则结果为0。具体规则如下: 00=0 01=1 10=1 11=1,12,(3)非运算 非运算实现对单个逻辑值的处理,也称为逻辑取反操作,通常用表示。运算规则如下:,13,二、数制间的转换,十进制数,非十进制数,非十进制数,十进制数,二、八、十六进制之间的转换,14,余数法:除基数取余数、由下而上排列。

4、十进制 八进制,示例1:,8 75 3 8 9 1 8 1 1 0,结果为:113O,15,进位法:用十进制小数乘基数,当积为0或达到 所要求的精度时,将整数部分由上而下排列。,结果为:0.101B,示例: 0.625 2 1.250 整数为1 2 0.50 整数为0 2 1.0 整数为1 小数值为0,16,十进制转换成非十进制,对于十进制转化为 r 进制 整数部分: 小数部分:,除 r 取余,直到商为0;先取的余数在低位,后取的余数在高位。,乘 r 取整,直到值为0或达到精度要求。先取的整数在高位,后取的整数在低位。,17,12,例:十进制25.13转换成二进制,先将整数部分 25转换为二进

5、制,25,6,3,1,2,2,2,2,1,0,0,1,1,2,0,收集,得到: 11001,B,18,将0.13转换为二进制,精确到后4位。 0.13*2=0.26 0.26*2=0.52 0.52*2=1.04 0.04*2=0.08,收集,0,0,1,0,收集,得到:0.0010,B,19,所以: (25)10 = (11001)2 (0.13)10 = (0.0010)2 (25.13)10 = (11001.0010)2,20,例:把(111011)2 ,(136)8 ,(1F2A)16转换为十进制数。,二进制、八进制、十六进制转换成十进制 方法:按位权相加,21,例:把(111011

6、)2 ,(136)8 ,(1F2A)16转换为十进制数。,22,二进制 十六进制,二进制 八进制,二、八、十六进制之间的转换,整数从右向左 小数从左向右,23,二进制转换为八进制或十六进制,整数部分: 从低位向高位每3位(八进制)/4位(十六进制) 为一组,高位不足的补0凑足3位 / 4位,然后每组分别按权展开; 小数部分: 从高位向低位每3位(八进制)/4位(十六进制) 为一组,低位不足的补0凑足3位 / 4位,然后每组分别按权展开。,24,10 110 110 111 . 010 1 ( 2 6 6 7 . 2 4 )8,101 1011 0111.0101 ( 5 B 7 . 5 )16

7、,示例: 10110110111.0101,00,为八进制进制 二进制转换,为十六进制二进制转换,0,0,25,2、计算机中数据的存储方式-字节和位 内存以字节为单元组成 每个字节有一个地址 一个字节一般由8个二进制位组成 每个二进位的值是0或1,26,数值(整型)的表示方法原码、反码和补码 原码: 最高位为符号位,其余各位为数值本身的绝对值 反码: 正数:反码与原码相同 负数:符号位为1,其余位对原码取反 补码: 正数:原码、反码、补码相同 负数:最高位为1,其余位为原码取反;再对整个数加1,27,原码,+7原= 0 0000111 B - 7原= 1 0000111 B,反码,+7反= 0

8、 0000111 B -7反= 1 1111000 B,28,补码,+7补= 0 0000111 B -7补= 1 1111001 B,正数:原码、反码、补码相同 负数:最高位为1,其余位为原码取反;再对整个数加1,29,30,补码在微型机中是一种重要的编码形式,请注意:,1、 采用补码后,可以方便地将减法运算转化成加法运算,运算过程得到简化。 2、 与原码、反码不同,数值0的补码只有一个,即 0补=00000000B。 3、若字长为8位,则补码所表示的范围为-128+127;进行补码运算时,应注意所得结果不应超过补码所能表示数的范围。,31,练一练:,1、十进制数 -29,写出它的原码,反码

9、,补码? 2、十进制数 -15,写出它的原码,反码,补码?,原码: 最高位为符号位,其余各位为数值本身的绝对值 反码: 正数:反码与原码相同 负数:符号位为1,其余位对原码取反 补码: 正数:原码、反码、补码相同 负数:最高位为1,其余位为原码取反;再对整个数加1,32,原码、反码、补码之间的转换,对于正数都一样,故不需要转换。 对于负数 反码原码,符号位不动,其余取反; 补码反码,减1; 补码原码,减1;符号位不动,取反 或者符号位不动,其余取反;正数加1。,33,练一练:,1、已知补码:1001 1101,写出反码和原码。 反码:1001 1100 原码:1110 0011 2、已知补码:

10、1100 1001,写出原码。 原码:1011 0111,34,主要内容,2.1 预备知识 2.2 常量和变量的概念 2.3 各种数据类型的常量及变量 2.4 变量赋初值 2.5 不同类型数据之间的混合运算 2.6 常用运算符和表达式 2.7 输入函数与输出函数,35,2.2.1 C语言的基本元素,1、符号集 2、标识符 3、关键字,36,1、符号集,也叫字符集,包括如下五种: (1)大写字母A-Z;(2)小写字母a-z; (3)数字09;(4)下划线 _ (5)标点符号和运算符,37,2、标识符,用来标识变量、常量、函数、文件的名字的字符序列。 构成规则: 由英文字母(大小写)或下划线开头;

11、 其后跟着若干个英文字母、数字和下划线; 大小写敏感,不能以数字开头; 长度各个系统不同,一般不要超过8个字符;,38,例:判断下列标识符号合法性 sum Sum M.D.John day Date 3days student_name #33 char ab _above $123 lotus_1_2_3,39,3、关键字,又称 保留字,是C语言中具有特定含义、专门用做语言特定成分的一类标识符。(P168) ANSI规定了32个关键字,(turbo c扩展了11个。) 例如: int 、float、char 注意: 1、所有的关键字都有特定用途,不能用作其他。 2、所有的关键字都必须小写。,

12、40,2.2.2 常量 定义:程序运行时其值不能改变的量(即常数)。 分类:直接常量和符号常量 1、直接常量: 整型常量,例如:30,7, 实型常量,例如2.8,0.67 字符常量,例如 a 字符串常量,例如”word”,41,2.2.2 常量 定义:程序运行时其值不能改变的量(即常数)。 分类:直接常量和符号常量 2、符号常量:用标识符代表常量 定义格式: #define 符号常量 常量 注意: 一般用大写字母 是宏定义预处理命令,不是C语句,42,例:符号常量举例 #define PRICE 30 main() int num,total; num=10; total=num*PRICE;

13、 printf(“total=%d“,total); ,运行结果:total=300,43,2.2.2 变量 定义:程序运行时其值可以改变的量。 每个变量有一个名字:用标识符表示。 每个变量有一个存储空间(存储单元),该单元中的状态所表示的数为此时变量的值。 变量的使用:先定义,后使用,44,编译程序根据变量定义为其分配指定字节的内存单元。,45,2.2.2 变量-其值可以改变的量,注意: 1、见名知义; 2、先定义,后使用; 3、一般使用小写字母。,变量定义的一般格式: 数据类型 变量1,变量2,变量n;,例: int a=2,b,c=4; float data=3.67; char ch=

14、A;,46,变量定义位置:一般放在函数开头,main() int a,b=2; float data; a=1; data=(a+b)*1.2; printf(“data=%fn”,data); ,变量定义,可执行语句,47,主要内容,2.1 预备知识 2.2 常量和变量的概念 2.3 各种数据类型的常量及变量 2.4 变量赋初值 2.5 不同类型数据之间的混合运算 2.6 常用运算符和表达式 2.7 输入函数与输出函数,48,2.3 各种数据类型的常量及变量,数据为什么要区分类型? 不同类型的数据代表不同的 数据表示形式 合法的取值范围 占用内存空间大小 可参与的运算种类,49,数据类型总表

15、,C 数 据 类 型,基本类型,构造类型,指针类型,空类型void,定义类型typedef,字符类型 char,整 型,实型,单精度型float,双精度型double,数组,结构体struct,共用体union,短整型short,长整型long,整型int,数据类型决定: 1. 数据占内存字节数 2. 数据取值范围 3. 其上可进行的操作,枚举,50,2.3.1 整数类型 整型数据的标识符是 int 。 分类:整形常量、整型变量。 整型数据根其加上的不同的限定词,则占用的内存字节数不同。,51,限定词:描述数据占用的内存字节数 short(短整型),int ,long(长整型), short int long unsigned short (无符号短整型), unsigned int (无符号整型), unsigned long (无符号长整型),52,最小:-32768,unsigned int型:,最大:65535,00 0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号