C++程序设计:第2章 不同进制的转换_第1页
C++程序设计:第2章 不同进制的转换_第2页
C++程序设计:第2章 不同进制的转换_第3页
C++程序设计:第2章 不同进制的转换_第4页
C++程序设计:第2章 不同进制的转换_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1请将您的手机铃声请将您的手机铃声设置为震动设置为震动2作业作业&实验教程:实验教程: 3.阅读程序阅读程序 (第第23页页)&课课 本:本: 习习 题题 1.4 (第第10页页)3位:位:计算机中所有的数据都是以二进制来表计算机中所有的数据都是以二进制来表 示的,一个二进制代码称为一位,记为示的,一个二进制代码称为一位,记为 bit。位是计算机中最小的信息单位。位是计算机中最小的信息单位。字节:字节:在对二进制数据进行存储时,以八位在对二进制数据进行存储时,以八位 二进制代码为一个单元存放在一起,二进制代码为一个单元存放在一起, 称为一个字节,记为称为一个字节,记为Byte。

2、字节是计。字节是计 算机中次小的存储单位。算机中次小的存储单位。复复 习习 回回 顾顾例:例:11111111、00000011例:例:0、1bitByte4常用进制常用进制 基数基数数符数符二二 进进 制制R=20、1八八 进进 制制R=80、1、2、3、4、5、6、7十十 进进 制制R=100、1、2、3、4、5、6、7、8、十六进制十六进制R=160、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F不同进制的转换不同进制的转换二二 进进 制制 R=20、1八八 进进 制制 R=8 0、1、2、3、4、5、6、7十十 进进 制制R=100、1、2、3、4、5、6、7、8、9十六进

3、制十六进制 R=160、1、2、3、 4、 5、 6、 7、 8、9、A、B、C、D、E、F5二进制、八进制转换二进制、八进制转换八进八进制数制数01234567二进二进制数制数000 001 010 011 100101110 111例例: (100111011)2=(100 111 011)2=(473)8例例: (100111011)2=(100 111 011)26十六进十六进制数制数01234567二进制二进制数数000000010010001101000101 0110 0111十六进十六进制数制数89ABCDEF二进制二进制数数100010011010101111001101 1

4、1101111二进制、十六进制转换二进制、十六进制转换例例: (100111011)2 =(1 0011 1011)=(13B)16例例: (100111011)2=(1 0011 1011)27不同进制的转换不同进制的转换二、八、十六进制向十进制转换二、八、十六进制向十进制转换 十进制数十进制数(154)10=1*102+5*101+4*100154(101)2=1*22+0*21+1*205(154)8=1*82+5*81+4*80108(15B)16=1*162+5*161+11*160347(154)10(101)2(154)8(15B)168 36/2=18 0 十进制向二进制转换十

5、进制向二进制转换余数余数18/2=9 09/2=4 14/2=2 02/2=1 01/2=0 1不同进制的转换不同进制的转换(36)10=(100100)2 (36)10=(?)2 9 原原 码码 符号位用数字符号位用数字0或或1表示的二进制数表示的二进制数表示正数表示正数表示负数表示负数例例: :设设 a=1001, b= - -1110, 机器存储字长为机器存储字长为8位位 a原原= 00001001b原原= 10001110符号位正符号位正符号位负符号位负 原码、反码及补码原码、反码及补码10a原原=00001001b原原=10001110 原原 码码 符号位用数字符号位用数字0或或1表

6、示的二进制数表示的二进制数 反反 码码 x原原 x 0 x反反 =xi表示对表示对x的第的第 i 位数值求反位数值求反1x1x2xN x 0 x反反 =1x1x2xN x 0 x补补 =x反反 +1 x 0原码、反码及补码原码、反码及补码12a原原=00001001b反反=11110001b原原=10001110b补补=11110010例例 机器字长为机器字长为8位位, a=1001, b= - -1110 a反反=00001001a补补=00001001采用补码目的是把减法运算化作加法运算采用补码目的是把减法运算化作加法运算 a=9 b=-14 c=9-14=-5 b补补=11110010a

7、补补=00001001+c补补=11111011c补补=11111011c反反=11111010c原原=10000101-513- -1的原码:的原码:10000000 00000001- -1的反码:的反码:11111111 11111110- -1的补码:的补码:11111111 111111118进制进制: 17777716进制进制: f f f f特殊示例特殊示例14C程序格式程序格式#include 头文件头文件.hvoid main( ) 定义变量定义变量 变量赋值变量赋值 加工处理加工处理 结果输出结果输出 15例例 子子#include stdio.hvoid main( )

8、int a,b,c; scanf(%d,%d,&a,&b); c=a+b; printf(%dn,c);包含文件包含文件定定义义变变量量#include命令:命令:把另一个文件的全部内容把另一个文件的全部内容 包含到本文件之中。包含到本文件之中。(P9)两种使用格式:两种使用格式:#include stdio.h #include 变变量量赋赋值值加加工工处处理理结结果果输输出出16第二章第二章 数据类型及基本运算数据类型及基本运算 vC的数据类型的数据类型v基本数据类型及其表示基本数据类型及其表示v不同类型数据间的转换不同类型数据间的转换v运算符和表达式运算符和表达式17C的

9、数据类型的数据类型内存以字节为单元组成内存以字节为单元组成每个字节有一内存地址每个字节有一内存地址每字节由每字节由8个个位位组成组成每个每个位位的值是的值是0或或10000H0001H0002H0003H0004H0011001110100010数据存储规律数据存储规律: :101000101010001018C数数据据类类型型构造类型构造类型指针类型指针类型空类型空类型void自定义类型自定义类型typedef枚举类型枚举类型enum基本类型基本类型数值数值类型类型字符类型字符类型char整整 型型浮点型浮点型单精度型单精度型float双精度型双精度型double短整型短整型short长整型

10、长整型long整型整型int数组数组结构体结构体struct共用体共用体unionb _above $123M.D.John3dayschar$123ab例例 子子#3324定义:定义:程序运行时其值不能改变的量(常数)程序运行时其值不能改变的量(常数)分类分类: :基本数据类型及其表示基本数据类型及其表示常量常量符号常量符号常量: : 用标识符代表常量用标识符代表常量(P13)定义格式:定义格式:#define 符号常量符号常量 常量常量值值 一般用一般用大写字母大写字母 是宏定义是宏定义预处理预处理命令命令 符号常量举例符号常量举例 #include #define PRICE 30 vo

11、id main() int num,total; num=10; total=num*PRICE; printf(total=%d,total); 25定义:定义:程序运行时其值不能改变的量(常数)程序运行时其值不能改变的量(常数)分类分类: :基本数据类型及其表示基本数据类型及其表示常量常量 直接常量直接常量: : 整型常量整型常量 实型常量实型常量字符常量字符常量 字符串常量字符串常量符号常量符号常量: : 用标识符代表常量用标识符代表常量26八进制整数:由数字八进制整数:由数字0开头开头, ,后接数字后接数字07 三种形式:三种形式:十进制整数:由数字十进制整数:由数字09和和正负号正负

12、号表示表示. . 整型常量的类型整型常量的类型: :根据其值所在范围确定其数据类型根据其值所在范围确定其数据类型&整型常量(整常数)整型常量(整常数)例:例:123, -456, 0十六进制整数:由十六进制整数:由0 x开头开头, ,后接后接09,af,AF例:例:0123, 011例:例:0 x123, 0X2f整常量后加字母整常量后加字母l或或L,认为它是认为它是long int 型常量型常量例:例:30000 为为int型型 55520 为为long int型型例:例:12 与与 12L27指数形式:指数形式: (e或或E之前必须有之前必须有数字数字;指数必须为;指数必须为整数整

13、数)例:例:12.3e-3, 123E2, e-5, 1.23e4, 1.2E-3.5例:例:0.123, .123, 123.0, 0.0, 123.&实型常量(实数或浮点数)实型常量(实数或浮点数)表示形式表示形式:十进制数形式:(必须有十进制数形式:(必须有小数点小数点) 28定义定义: :用用单引号单引号括起来的单个普通字符或括起来的单个普通字符或转转 义字符义字符. .例例: #include void main( ) char a,b; a=33; b=!; printf(%c,%cn,a,b); printf(%d,%dn,a,b); &字符常量字符常量字符常量的

14、字符常量的值值:该字符的:该字符的ASCII码码值值(P277)例:例:a A ? n例:例:A:65 a: 97 0:48 !: 3329定义定义: :用用单引号单引号括起来的单个普通字符或括起来的单个普通字符或转转 义字符义字符. .&字符常量字符常量转义字符转义字符: :反斜线后面跟一个字符表示反斜线后面跟一个字符表示 转义转义字符字符含含 义义nvradddtb0 xhh含义含义换行换行垂直制表垂直制表回车回车响铃响铃单引号单引号8进制数代进制数代表的字符表的字符水平制表水平制表退格退格字符串结束字符串结束反斜线反斜线双引号双引号16进制数代进制数代表的字符表的字符转义转义字符

15、字符30例例 转义字符举例转义字符举例#include void main() printf(I say:How are you?n); printf(C Program);&字符常量字符常量转义字符转义字符: :反斜线后面跟一个字符表示反斜线后面跟一个字符表示 运行结果:运行结果:(屏幕显示屏幕显示)I say:How are you?C Program定义定义: :用用单引号单引号括起来的单个普通字符或括起来的单个普通字符或转转 义字符义字符. .31&字符串常量字符串常量h e l l o 0例例: 字符串字符串“hello”在内存中在内存中表示为表示为例例: 空串空串在

16、内存中在内存中表示为表示为 0定义:定义:用双引号括起来的字符序列用双引号括起来的字符序列存储:存储:每个字符串尾自动加一每个字符串尾自动加一 0 作为作为 串结束标志串结束标志32例例: char ch; ch=A; 字符常量与字符串常量字符常量与字符串常量的区别:的区别:&字符串常量字符串常量aa 0例:例: aa例例: char ch; ch=A; 定义:定义:用双引号括起来的字符序列用双引号括起来的字符序列存储:存储:每个字符串尾自动加一每个字符串尾自动加一 0 作为作为 串结束标志串结束标志33变量变量概念:概念:其值可以改变的量其值可以改变的量格式:格式:数据类型数据类型

17、变量变量1,变量变量2,变量变量n;基本数据类型及其表示基本数据类型及其表示决定分配的字节数决定分配的字节数和数字的表示范围和数字的表示范围合法标识符合法标识符例例: int a, b, c; float sum;34变量变量概念:概念:其值可以改变的量其值可以改变的量格式:格式:数据类型数据类型 变量变量1,变量变量2,变量变量n;基本数据类型及其表示基本数据类型及其表示特点:特点:变量初始化变量初始化-定义时赋初值定义时赋初值 变量的使用变量的使用-先定义,后使用先定义,后使用变量定义位置变量定义位置-一般放在函数开头一般放在函数开头例例: int a=2, b, c=4; float d

18、ata=3.67; char ch=A; int x=1, y=1, z=1; int x=y=z=1;例例: int student; stadent=19;Undefined symbol stadent in function main例例: #include void main( ) int a=1, b, c=3; printf(%d,%d,%d,a,b,c); 350101H0103H0105H0100H0102H0104H内存内存编译程序根据编译程序根据变量定义为其变量定义为其分配指定字节分配指定字节的内存单元的内存单元int a=1, b, c=3;abc2字节字节2字节字节2

19、字节字节1xx 3随机数随机数例例 子子36#include #define PRICE 12void main() int num=3,total; char ch1,ch2; scanf(%c,&ch1);total=num*PRICE; ch2=ch1-A+67; printf(%d,%cn,total,ch2); 例例 子子符号常量符号常量变量定义变量定义输出结果输出结果输入值输入值37不同类型数据间的转换不同类型数据间的转换说明说明:必定的转换必定的转换运算对象类型不同时转换运算对象类型不同时转换doublefloatlongunsignedintchar,short低低高高

20、38不同类型数据间的转换不同类型数据间的转换隐式转换隐式转换函数调用转换:函数调用转换:实参与形参类型不一致时转换实参与形参类型不一致时转换运算转换:运算转换:不同类型数据混合运算时不同类型数据混合运算时赋值转换赋值转换:将值赋给与其类型不同的变量时将值赋给与其类型不同的变量时例例: int a=52; float b=1.2, c; c=a+b;例例: int a=52; float b; b=a;#include void main() int a=10, b=5, s; s=add(a,b); printf(%dn,s); float add(float x,float y) float

21、 z; z=x+y; return(z); 不同类型数据运算时先自动转换成同一类型不同类型数据运算时先自动转换成同一类型39#include void main() float x=3.6; int i; i=(int)x; printf(%f,%d,x,i);不同类型数据间的转换不同类型数据间的转换显式转换显式转换例子例子: (double)(3/2) (int)3.6 形式形式:(类型名类型名)(表达式表达式)较高较高类型类型向较向较低类低类型转型转换时换时可能可能发生发生精度精度损失损失问题问题结果:结果:x=3.600000, i=3精度损精度损失失40运算符和表达式运算符和表达式算术

22、运算符:算术运算符:+ - * / % + -关系运算符:关系运算符: = !=逻辑运算符:逻辑运算符:! & |位运算符位运算符 : | &赋值运算符:赋值运算符:= 及其扩展及其扩展条件运算符:条件运算符:?:逗号运算符:逗号运算符:,指针运算符:指针运算符:* &求字节数求字节数 :sizeof强制类型转换:强制类型转换:(类型)类型)分量运算符:分量运算符:. -下标运算符:下标运算符:其它其它 :( ) -41例例 5%2 = -5%2 = 1%10 = 5%1 = 5.5%2例例 5%2 = 1 -5%2 =-1 1%10 = 1 5%1 = 0 5.5%2 ( )例例 5/2 = -5/2.0 =“- -”可为可为单目单目运算符运算符, ,右结合性右结合性两整数相除,结果为整数两整数相除,结果为整数%要求两侧均为整型数据要求两侧均为整型数据例例 5/2 = 2 -5/2.0 = -2.5基本算术运算符:基本算术运算符: + - * / %&算术运算符和

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论