《第1章-概论-C语言ppt课件.ppt》由会员分享,可在线阅读,更多相关《第1章-概论-C语言ppt课件.ppt(64页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统C C语言与程序设计语言与程序设计The C Programming Language 第第1 1章章 概论概论华中科技大学计算机学院华中科技大学计算机学院2023/5/21华中科技大学计算机学院C语言课程组篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组2主要内容1.程序设计语言与程序设计程序设计语言与程序设计2.2.学习学习C C语言程序设计的第一个例子。语言程序设计的第一个
2、例子。3.3.C C语言的产生与发展,语言的产生与发展,C C语言的语言特征,语言的语言特征,C C语言的标准。语言的标准。4.4.计算机硬件系统的组成,数的编码表示以及数在内存中的计算机硬件系统的组成,数的编码表示以及数在内存中的表现形式。表现形式。5.5.算法的概念及其表示方法。算法的概念及其表示方法。6.6.对对C C语言程序设计作了概略性的介绍。语言程序设计作了概略性的介绍。7.7.同时介绍了同时介绍了N N进制数进制数,数之间转换的方法,以及原码、补码、数之间转换的方法,以及原码、补码、反码及其相关运算。反码及其相关运算。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因
3、此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组31.1 1.1 程序设计语言与程序设计程序设计语言与程序设计n计算机语言包括机器语言、汇编语言和高级语计算机语言包括机器语言、汇编语言和高级语言这三类语言。如果不涉及汇编语言,程序设言这三类语言。如果不涉及汇编语言,程序设计语言往往就是指高级语言。计语言往往就是指高级语言。n程序设计语言程序设计语言是以具有特定语义的符号为基本是以具有特定语义的符号为基本构成单位、以语法为程序构成规律、专门用于构成单位、以语法为程序构成规律、专门用于定义、组织、并完成各种各样的计算任务而形定义、组织、并完成各种各样
4、的计算任务而形成的体系。成的体系。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组4程序与程序设计程序与程序设计n程序程序是用程序设计语言表示的计算机解题算法是用程序设计语言表示的计算机解题算法或计算机解题任务。或计算机解题任务。n程序设计程序设计是将解题任务转变成程序的过程。是将解题任务转变成程序的过程。nNell Dale等人指出:等人指出:n程序就是要求计算机执行的指令序列。程序就是要求计算机执行的指令序列。n程序设计就是如何计划、安排计算机必须遵循程序设计就是如何计划、安排计算
5、机必须遵循的操作步骤及顺序的过程。的操作步骤及顺序的过程。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组51.2 学习学习C C语言程序设计的第一个例子语言程序设计的第一个例子 例例1.1 1.1 输入自己的名字的汉语拼音,输入自己的名字的汉语拼音,要计算机问候自己并且输出这是自己要计算机问候自己并且输出这是自己学习学习C C语言的第一个程序的句子。语言的第一个程序的句子。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统20
6、23/5/2华中科技大学计算机学院C语言课程组6例例1.11.1的程序的程序1.#include 2.void show(char str);3.int main(void)4.5.char name20;6.printf(Input your name please!n);7.gets(name);8.printf(Hello%s!n,name);9.show(name);10.return 0;11.12.void show(char str)13.14.printf(This is the first program for%s to learn C programming!n,str)
7、;15.源程序源程序ex1_1.c篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组7操作例操作例1.11.1的程序的程序n双击双击Visual C+6.0(即即VC 6.0)图标打开图标打开VC 6.0 n选选File,再选下拉菜单中的再选下拉菜单中的New,在,在New窗口中的窗口中的Project页(缺省)中选择页(缺省)中选择Win32 Console Application(选中变选中变蓝蓝),并且在,并且在Project Name编编辑框中输入工程名,如:辑框中输入工程名,如
8、:Myproject。n再单击再单击OK按钮按钮,在打开的窗口中单击在打开的窗口中单击An empty project(缺省缺省),再单击再单击Finish按钮。在打开的窗口按钮。在打开的窗口中单击中单击OK按钮。此时按钮。此时VC将创建一个空的工程。将创建一个空的工程。n单击单击FileView,选中,选中Source Files(变成变成蓝蓝色色),选,选File,再选下拉菜单中的再选下拉菜单中的New,单击,单击C+Source File(变成变成蓝蓝色色),在在File编辑框中输入编辑框中输入hello.c 篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计
9、时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组8操作例操作例1.11.1的程序的程序n点开点开Source Files目录,可以看见目录,可以看见hello.c文件,文件,双击双击hello.c,在右侧文本编辑区域输入例,在右侧文本编辑区域输入例1.1中的中的源程序。源程序。n选选Build,再选下拉菜单中的,再选下拉菜单中的Rebuild All。此时。此时VC编译器将对源程序进行编译、链接,并且生成编译器将对源程序进行编译、链接,并且生成名字为名字为Myproject.exe的可执行文件。的可执行文件。n选选Build,再选再选Execute Myproj
10、ect.exe运行运行Myproject.exe程序程序 篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组9例例1.11.1的程序的结果的程序的结果n人机交互与运行结果如下:人机交互与运行结果如下:Input your name please!Ping Li(此为输入信息)(此为输入信息)Hello Ping Li!This is the first program for Ping Li to learn C programming!篮球比赛是根据运动队在规定的比赛时间里得分多少来决
11、定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组101.#include stdio.h /*文件包含编译预处理命令文件包含编译预处理命令*/2.void show(char str);)/*函数原型说明语句函数原型说明语句*/3.int main(void)/*主函数主函数*/4.5.char name20;)/*声明语句声明语句*/6.printf(“Input your name please!n”);)/*输出提示输出提示*/7.gets(name);)/*读取用户名字读取用户名字*/8.printf(Hello%s!n,na
12、me);/*输出输出Hello和用户名和用户名*/9.show(name);/*调用调用show函数函数*/10.return 0;11.12.void show(char str)/*show函数的定义函数的定义*/13.14.printf(“This is the first program for%s to learn C programming!n”,str);/*上行尾的上行尾的是续行标志是续行标志*/15.直接打开直接打开ex1_1.c,里面有详细注释里面有详细注释源程序源程序ex1_1.c1.2.2 1.2.2 解释分析第一个解释分析第一个C C程序程序篮球比赛是根据运动队在规定
13、的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组121.1.3 3 C C语言的产生、发展与语言特征语言的产生、发展与语言特征1.1.3 3.1 C.1 C语言的产生与发展语言的产生与发展 Matin RichardsMatin Richards(BCPL(BCPL语言语言)Ken ThompsonKen Thompson(B(B语言语言)Dennis M.RitchieDennis M.Ritchie(C C语言,语言,C C语言之父,语言之父,UNIXUNIX之父)之父)篮球比赛是根据运动队在规定的比赛时间
14、里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组131.3.2 C1.3.2 C语言的标准化语言的标准化 n以以1978年年K&R C为代表的为代表的C语言被称为传统的语言被称为传统的C语言语言 n1989年底公布美国第一个年底公布美国第一个C语言的国家标准语言的国家标准ANSI 89,简称,简称C89 n1990年,国际标准化组织年,国际标准化组织ISO将其接受为将其接受为C语言的国际标准,语言的国际标准,称为称为ISO/IEC 9899-1990。它是。它是C语言的第一个国际标准,语言的第一个国际标准,也称为标准也称
15、为标准C,简称,简称C90。nISO/IEC在在1995年公布了一个新的年公布了一个新的C语言标准草案,称为语言标准草案,称为C95,供讨论和征求意见。,供讨论和征求意见。n接着接着ISO/IEC在在1998年又公布新标准的草案年又公布新标准的草案WG14/N843和和WG14/N897,进一步就,进一步就C语言标准的完善征求意见。语言标准的完善征求意见。nISO/IEC于于1999年年12月公布了月公布了C语言国际标准语言国际标准ISO/IEC 9899:1999(E)。它是。它是C语言国际标准语言国际标准9899的第二版。的第二版。nISO/IEC于于2011年年12月公布了月公布了C语言
16、国际标准语言国际标准ISO/IEC 9899:2011。它是。它是C语言国际标准语言国际标准9899的第三版。的第三版。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组141.3.3 C1.3.3 C语言的特征语言的特征 1)语言简洁紧凑语言简洁紧凑2)目标代码质量高目标代码质量高3)语言表达能力强语言表达能力强 4)流程控制结构化流程控制结构化 5)弱类型弱类型 6)“中级语言中级语言”特性特性 7)书写自由、使用灵活书写自由、使用灵活 8)可移植性好可移植性好 篮球比赛是根据运动队
17、在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组151.4 计算机系统及内存编址n一台计算机硬件系统由一台计算机硬件系统由CPU、内存、外存、其他、内存、外存、其他I/O设备和总线组成。设备和总线组成。nCPU 又称为中央处理器又称为中央处理器。CPU又是由运算器、又是由运算器、控制器、指令计数器、内部寄存器、标志寄存器控制器、指令计数器、内部寄存器、标志寄存器等部件组成。等部件组成。n内存又称为内存储器,用以存放程序和数据。内存又称为内存储器,用以存放程序和数据。n总线是用以连接计算机各个部件的线路,它
18、完成总线是用以连接计算机各个部件的线路,它完成各个部件之间的信息传送。根据传送信号种类的各个部件之间的信息传送。根据传送信号种类的不同,总线又分成地址总线、数据总线和控制总不同,总线又分成地址总线、数据总线和控制总线。线。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组16内存编址内存编址,内存容量内存容量,字长字长n内存以字节为单位线性连续编址。即按照内存以字节为单位线性连续编址。即按照0 x00000 x0000,0 x00010 x0001,0 x00020 x0002,的方式;
19、从低地址端开始向高的方式;从低地址端开始向高地址端为每一个内存字节进行顺序连续编号。地址端为每一个内存字节进行顺序连续编号。n10241024个字节称为个字节称为1K1K字节,字节,1024K1024K字节称为字节称为1M1M字节,字节,1024M1024M字节称为字节称为1G1G字节。字节。1024G1024G字节称为字节称为1T1T字节。字节。nCPUCPU数据总线的宽度(数据总线的宽度(bitbit数)称为计算机的机器字数)称为计算机的机器字长。对位,机器字长为字节;对位长。对位,机器字长为字节;对位,机器字长为字节;对位,机,机器字长为字节;对位,机器字长为字节。器字长为字节。篮球比赛
20、是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组17外存和其他外存和其他I/OI/O设备设备 n外存指计算机的外存储器。常用的硬盘、软外存指计算机的外存储器。常用的硬盘、软盘、盘、U盘、光盘、以及磁盘阵列都属于外存。盘、光盘、以及磁盘阵列都属于外存。外存存储的信息在断电之后仍然能够保存。外存存储的信息在断电之后仍然能够保存。n其他其他I/O设备设备:键盘键盘,显示器显示器,打印机打印机,绘图绘图仪仪 篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种
21、得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组181.5 数和字符的编码表示n1.5.1 进位计数制进位计数制n数量用于描述事物的多少。数目则是表示事数量用于描述事物的多少。数目则是表示事物的个数。而表示数目的符号则是数字,往物的个数。而表示数目的符号则是数字,往往简称为数。往简称为数。n一个数在不同的进位制下具有不同的表示,一个数在不同的进位制下具有不同的表示,因而形成数制的概念。因而形成数制的概念。n数制是关于记数的法则。根据进位基数的不数制是关于记数的法则。根据进位基数的不同同,常用的有十进制、二进制、八进制、十常用的有十进制、二进制、八进制、十六进制等。六进制等。篮球
22、比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组191.1.二进制数及其运算二进制数及其运算n1)二进制数)二进制数n二进制数是由二进制数是由0和和1组成的数字串。对于一个组成的数字串。对于一个二进制数来讲,它具有两个下面基本特点:二进制数来讲,它具有两个下面基本特点:(1)只有只有0和和1两个不同的数字符号。两个不同的数字符号。(2)逢逢2进位进位1。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计
23、算机学院C语言课程组20二进制数的权值二进制数的权值n对由进位计数制描述的数来讲,一个数字符号在该数的不同对由进位计数制描述的数来讲,一个数字符号在该数的不同的数位具有不同的权的数位具有不同的权(也称为权值或基值也称为权值或基值),因此所表现的值,因此所表现的值是不一样的。二进制数也是如此。是不一样的。二进制数也是如此。n二进制数中不同的数位所具有的权值见教材表二进制数中不同的数位所具有的权值见教材表1.1 二进制数二进制数的权值的权值.n二进制数整数二进制数整数(10110110)2的值是:的值是:(10110111)2=1 27+0 26+1 25+1 24+0 23+1 22+1 21+
24、1 20=(183)10n而带二进制小数的二进制数而带二进制小数的二进制数(1011.1101)2的值是:的值是:(1011.1101)2=1 23+0 22+1 21+1 20+1 2-1+1 2-2+0 2-3+1 2-4=(11.8125)10篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组212 2)二进制数的运算)二进制数的运算 n二进制加法规则有四条:二进制加法规则有四条:0+0=0 0+1=1+0=1 1+1=0 向高位进位向高位进位1 1+1+1=1 向高位进位向高位进
25、位1n二进制减法规则也有四条:二进制减法规则也有四条:0-0=0 1-1=0 1-0=1 0-1=1 向高位借位向高位借位1 篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组22二进制加法举例二进制加法举例n例例1.2 二进制加法举例,求二进制加法举例,求(10110111)2+(01011011)2的和。的和。1 0 1 1 0 1 1 1+0 1 0 1 1 0 1 1进位进位 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0n所以,所以,(10110111)2+(0
26、1011011)2=(100010010)2篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组23二进制减法举例二进制减法举例n例例1.3 二进制减法举例,求二进制减法举例,求(10110111)2-(01011011)2的差。的差。借位借位 1 0 1 1 0 0 01 0 1 1 0 1 1 1-0 1 0 1 1 0 1 1n 0 1 0 1 1 1 0 0n所以,所以,(10110111)2-(01011011)2=(01011100)2篮球比赛是根据运动队在规定的比赛时间里得分
27、多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组242.2.八进制数及其运算八进制数及其运算n八进制数是由八进制数是由0到到7组成的数字串。八进制数组成的数字串。八进制数具有如下两个基本特点:具有如下两个基本特点:(1)只有只有0,1,2,3,4,5,6,7八个不同的八个不同的数字符号。数字符号。(2)逢逢8进位进位1。n在在C语言中,通过加前导零的方式来表示一语言中,通过加前导零的方式来表示一个数是八进制数个数是八进制数。如:。如:0136表示的是八进表示的是八进制数制数(136)8。篮球比赛是根据运动队在规定的比赛时间里得
28、分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组253 3十六进制数及其运算十六进制数及其运算n将将4 4位二进制数组合成为十六进制数。与二进制、位二进制数组合成为十六进制数。与二进制、八进制数类似,十六进制数也有两个基本特点:八进制数类似,十六进制数也有两个基本特点:(1 1)只有)只有0 0,1 1,2 2,3 3,4 4,5 5,6 6,7 7,8 8,9 9,A A,B B,C C,D D,E E,F F十六个不同的数字符号(十六个不同的数字符号(A A F F也可以采用小写英文字母也可以采用小写英文字母a a f
29、f)。这十六个数字符号与二进制、八进制、十进制数之)。这十六个数字符号与二进制、八进制、十进制数之间的关系如表间的关系如表1.21.2所示。所示。(2 2)逢)逢1616进位进位1 1。n在在C C语言中,通过加前导语言中,通过加前导0 x0 x或前导或前导0X0X的方式来表示的方式来表示一个数是十六进制数一个数是十六进制数。如:。如:0 x2d5b0 x2d5b表示的是十六进表示的是十六进制数制数(2d5b)(2d5b)1616。0XABCD0XABCD也是合法的十六进制数。也是合法的十六进制数。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得
30、分类型的系统2023/5/2华中科技大学计算机学院C语言课程组26表表1.21.2十六进制的十六进制的1616个不同数字符号与十个不同数字符号与十进制、八进制、二进制数之间的关系进制、八进制、二进制数之间的关系 篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组27十六进制加减法运算举例十六进制加减法运算举例n例例1.5 十六进制加减法运算举例,求十六进制加减法运算举例,求0XABCD与与(2d5b)16的和,以及的和,以及0XABCD与与(2d5b)16的差。的差。n解解 0XABCD
31、+(2d5b)16=0XD928 0XABCD-(2d5b)16=0 x7E72篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组281.5.2 进位制数之间的转换n1.十进制整数转换为二进制整数十进制整数转换为二进制整数篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组29进位制数之间的转换进位制数之间的转换2.2.二进制整数转换为十进制整数二进制整数转换为十进制整数n用按权展开
32、的方式即可求得该数的十进制表示。用按权展开的方式即可求得该数的十进制表示。n例例1.7 1.7 二进制数二进制数(10111101)(10111101)2 2转换为十进制数。转换为十进制数。解解 (10111101)(10111101)2 2 =1=1 2 27 7+0+0 2 26 6+1+1 2 25 5+1+1 2 24 4+1+1 2 23 3+1+1 2 22 2+0+0 2 21 1+1+1 2 20 0=128+32+16+8+4+1=(189)=128+32+16+8+4+1=(189)1010篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分
33、系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组30进位制数之间的转换进位制数之间的转换3.二进制整数转换为八进制整数二进制整数转换为八进制整数n二进制数转换为八进制数可以采用二进制数转换为八进制数可以采用3位分组法。从位分组法。从整数部分的最低位起,每整数部分的最低位起,每3位分成位分成1组,高位部分不组,高位部分不足足3位则通过加前导位则通过加前导0的方式补足的方式补足3位,然后把每位,然后把每3位二进制数用对应的八进制数来表示即可。位二进制数用对应的八进制数来表示即可。n例例1.8 将二进制整数将二进制整数(10111101)2转换为八进制整转换为八进制整数。数
34、。解解 (10111101)2=(010 111 101)2=(275)8篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组31进位制数之间的转换进位制数之间的转换4.八进制整数转换为二进制整数八进制整数转换为二进制整数n八进制整数转换为二进制整数只需要将每一八进制整数转换为二进制整数只需要将每一位八进制数用对应的二进制数表示即可。位八进制数用对应的二进制数表示即可。n例例1.9 将八进制数将八进制数(177777)8转换为二进制转换为二进制数。数。解解 (177777)8=(001 1
35、11 111 111 111 111)2=(1111111111111111)2篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组32进位制数之间的转换进位制数之间的转换5.5.二进制整数转换为十六进制整数二进制整数转换为十六进制整数n将二进制整数转换为十六进制整数采用将二进制整数转换为十六进制整数采用4 4位分组位分组法。法。4 4位二进制数的不同取值可以一一对应的完位二进制数的不同取值可以一一对应的完整描述十六进制中的整描述十六进制中的0 0 9 9和和A A F F。n方法方法:从
36、整数部分的最低位起,每从整数部分的最低位起,每4 4位分成位分成1 1组,组,高位部分不足高位部分不足4 4位则通过加前导位则通过加前导0 0的方式补足的方式补足4 4位,位,然后把每然后把每4 4位二进制数用对应的十六进制数来表位二进制数用对应的十六进制数来表示。示。n例例1.10 1.10 将二进制数将二进制数(10111101)(10111101)2 2转换为十六进制转换为十六进制数。数。解解 (10111101)(10111101)2 2=(1011 1101)=(1011 1101)2 2=(BD)=(BD)1616篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮
37、球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组33进位制数之间的转换进位制数之间的转换6.6.十六进制整数转换为二进制整数十六进制整数转换为二进制整数n十六进制数转换为二进制数只需要将每一位十六进制数转换为二进制数只需要将每一位十六进制数用对应的十六进制数用对应的4位二进制数表示即可。位二进制数表示即可。n例例1.11 将十六进制数将十六进制数(ABCD)2转换为二进制转换为二进制数。数。解解 (ABCD)2=(1010 1011 1100 1101)2=(1010101111001101)2篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的
38、,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组341.5.3 1.5.3 数的机器码表示数的机器码表示 1.机器数与真值机器数与真值n机器数机器数:在计算机中,将一个数的最高位在计算机中,将一个数的最高位定义为符号位,其余各位为数值位。并且定义为符号位,其余各位为数值位。并且规定符号位之值为规定符号位之值为0表示正,符号位之值表示正,符号位之值为为1表示负。用这种方法表示的数称为机表示负。用这种方法表示的数称为机器数。器数。n真值真值:机器数的数值称为该机器数的真值。机器数的数值称为该机器数的真值。也就是正、负号后跟二进制数的绝对值就也就是
39、正、负号后跟二进制数的绝对值就构成真值。构成真值。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组352.2.原码原码定义定义:对于一个二进制数对于一个二进制数X,如果规定用最,如果规定用最高位为符号位,其余各位为该数的绝对值。高位为符号位,其余各位为该数的绝对值。并且规定符号位之值为并且规定符号位之值为0表示正,符号位之表示正,符号位之值为值为1表示负,则采用这种方式形成的二进表示负,则采用这种方式形成的二进制编码称为称为该二进制数制编码称为称为该二进制数X的原码。的原码。篮球比赛是
40、根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组36求十进制数的原码表示求十进制数的原码表示n例例1.12 求十进制数求十进制数125和和-125的的8位、位、16位原位原码表示。码表示。解解 先求十进制数先求十进制数125和和-125的二进制表示:的二进制表示:(125)10=0X7D=(+1111101)2,而而(-125)10=-0X7D=(-1111101)2;根据定义:根据定义:+1111101原原=01111101 (8位)位)+1111101原原=0000000001111101(
41、16位)位)而而:-1111101原原=11111101 (8位)位)-1111101原原=1000000001111101(16位)位)篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组37真值真值0 0的原码表示不惟一的原码表示不惟一n值得注意的是,根据定义,真值值得注意的是,根据定义,真值0的原码表示的原码表示不惟一,有不惟一,有+0和和-0之分。之分。n+0原原=00000000 (8位)位)n-0原原=10000000 (8位)位)篮球比赛是根据运动队在规定的比赛时间里得分多少
42、来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组383.3.补码补码n补码的定义是正数的补码等于正数的原码,负数的补码为补码的定义是正数的补码等于正数的原码,负数的补码为其原码除符号位不动,其余各位变反再加其原码除符号位不动,其余各位变反再加1所得。所得。n例例1.13 分别求十进制数分别求十进制数35和和-1在在8位机和位机和16位机中的补位机中的补码表示。码表示。解解 设设x1=35,x2=-1;在在8位机中,位机中,x10,x1 补补=x1 原原=00100011;x20,x2原原=10000001,x2 补补=111111
43、10+1=11111111;n在例在例1.13中,如果令中,如果令x1和和x2都为零,则容易算出它们的补都为零,则容易算出它们的补码都是零。也就是说,对于真值码都是零。也就是说,对于真值0,其补码是惟一的。即:,其补码是惟一的。即:+0补补=-0补补=000000最右边式子中最右边式子中0的个数等于机器的字长数。的个数等于机器的字长数。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组394.4.反码反码n在计算机中,有时还会用到数的反码。对正数而在计算机中,有时还会用到数的反码。对正数
44、而言,其反码与原码、补码的表示相同;对负数而言,其反码与原码、补码的表示相同;对负数而言,反码符号位的定义与原码、补码相同,但需言,反码符号位的定义与原码、补码相同,但需要将对应原码的数值位按位变反。要将对应原码的数值位按位变反。n例例1.14 分别求十进制数分别求十进制数6和和-1在在8位机中的反码位机中的反码表示。表示。解解 6反反=00000110;-1反反=对对10000001的的数值位按位变反数值位按位变反=11111110篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组40
45、5 5码的内存存储形式码的内存存储形式n码码是是指指计计算算机机内内存存中中存存储储的的数数据据。根根据据存存储储数数据据的的性性质质,码可以分为码可以分为数值码、字符码和图象码数值码、字符码和图象码。n数值码数值码用于表示数的大小,常见的有整数和浮点数。用于表示数的大小,常见的有整数和浮点数。n字字符符码码用用于于表表示示英英文文字字母母、标标点点符符号号、控控制制字字符符以以及及汉汉字字和其它文字的编码。和其它文字的编码。n图图像像码码是是用用于于表表示示图图象象中中象象素素的的颜颜色色或或灰灰度度。虽虽然然它它们们都都是是以以二二进进制制码码的的表表现现形形式式存存储储在在内内存存之之中
46、中,但但物物理理意意义义却却各不相同。各不相同。nC语语言言的的基基本本处处理理对对象象是是字字符符和和数数字字。在在16位位计计算算机机中中,整型数占整型数占2个字节,在个字节,在32位计算机中,整型数占位计算机中,整型数占4个字节。个字节。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组411.5.4 1.5.4 字符的编码表示字符的编码表示 n1字符的编码的概念字符的编码的概念n计算机在屏幕上能够输出英文、汉字,乃至各种计算机在屏幕上能够输出英文、汉字,乃至各种各样的民族文字,其
47、基础在于对字符进行编码以各样的民族文字,其基础在于对字符进行编码以及构造相应的点阵字模。及构造相应的点阵字模。n用户的字符输入通过编码在内存中以二进制数码用户的字符输入通过编码在内存中以二进制数码存储,机器内部对字符的处理实际上是对字符编存储,机器内部对字符的处理实际上是对字符编码的处理。码的处理。n输出的时候则是通过字符的编码去索引对应的点输出的时候则是通过字符的编码去索引对应的点阵字模到内存中,然后进一步通过内存中的点阵阵字模到内存中,然后进一步通过内存中的点阵字模去控制显像管,在屏幕的指定位置将字符显字模去控制显像管,在屏幕的指定位置将字符显示出来。示出来。篮球比赛是根据运动队在规定的比
48、赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组421.4.4 1.4.4 字符的编码表示字符的编码表示n解释教材解释教材:图图1.3 英文字符英文字符O和汉字字符中的点和汉字字符中的点阵字模示意图阵字模示意图n大写字母大写字母O的二进制编码依次是:的二进制编码依次是:0 x18,0 x24,0 x42,0 x42,0 x42,0 x42,0 x24,0 x18。n中国的中国的“中中”字的二进制编码按照从上到下,从字的二进制编码按照从上到下,从左到右顺序依次进行二进制编码,共需要左到右顺序依次进行二进制编码,共需要
49、32个字个字节。节。n“中中”字前字前8个字节的二进制编码是:个字节的二进制编码是:0 x01,0 x80,0 x01,0 x80,0 xff,0 xff,0 xc1,0 x83 篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2023/5/2华中科技大学计算机学院C语言课程组432 2ASCIIASCII码码n对于西文字符,其编码国际上采用的是对于西文字符,其编码国际上采用的是ASCII码码(American Standard Code For Information Interchange),是美国国家信息交换标准字符码的英文缩是
50、美国国家信息交换标准字符码的英文缩写。写。nASCII码采用单字节编码,并且规定字节的最高位留做校验码采用单字节编码,并且规定字节的最高位留做校验位,只有低位,只有低7位参与编码。位参与编码。nASCII码字符集中共有码字符集中共有128个字符的编码。其中个字符的编码。其中0 x00到到ox1f前前32个码和个码和0 x7f最后一个码作为控制码,如控制回车、最后一个码作为控制码,如控制回车、换行、振铃、空等等;从换行、振铃、空等等;从0 x20到到0 x7e共共95个编码,它们用个编码,它们用来对数字字符来对数字字符0 9,大小写英文字母,大小写英文字母a z和和A Z,以及标点符,以及标点符