版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C程序设计授课教师郑业萌zhengyemeng@计算机基础知识专业名称:机械电子工程C程序设计(ProgramminginC)本章主要内容(Contents)计算机技术概述计算机的基本概念及术语
计算机中信息的表示计算机系统的组成微型计算机系统计算机网络基础知识C程序设计(ProgramminginC)1.1计算机技术概述1.1.1
计算机的起源与发展1.1.2
计算机的特点及分类1.1.3
计算机的应用1.1.4
计算机的发展趋势C程序设计(ProgramminginC)1.1.1
计算机的起源与发展一、计算机的起源ENIAC(ElectronicNumericalIntegratorAndCalculator):第一台真正意义上的数字电子计算机。1946年2月在美国的宾夕法尼亚大学正式投入运行。ENIAC的诞生奠定了电子计算机的发展基础,开辟了信息时代,把人类社会推向了第三次产业革命的新纪元。C程序设计(ProgramminginC)图1第一台电子管计算机(ENIAC)
计算机的起源C程序设计(ProgramminginC)1.1.1
计算机的起源与发展二、计算机的发展年代名称元件语言应用第一代1946~1956电子管计算机电子管
机器语言
汇编语言
科学计算
第二代1956~1964晶体管计算机
晶体管
高级程序设计语言
数据处理
第三代1964~1971集成电路计算机
中小规模集成电路
高级程序设计语言
广泛应用到各个领域
第四代
1971年~现在
超大规模集成电路计算机
集成电路
面向对象的高级语言网络时代第五代
未来计算机光子、量子、DNA等C程序设计(ProgramminginC)1.1.2
计算机的特点及分类一、计算机的特点1.运算速度快;2.存储容量大:计算机的存储性是计算机区别于其他计算工具的重要特征;3.通用性强:任何复杂的任务都可以分解为大量的基本的算术运算和逻辑操作;
4.工作自动化:计算机内部的操作运算是根据人们预先编制的程序自动控制执行的;5.精确性高;6.逻辑判断能力。C程序设计(ProgramminginC)1.1.2
计算机的特点及分类二、计算机的分类根据处理的对象划分模拟计算机、数字计算机和混合计算机根据用途划分专用计算机和通用计算机根据规模划分巨型机、大型机小型机、微型机和工作站C程序设计(ProgramminginC)1.1.3计算机的应用1.
科学计算科学计算是指科学和工程中的数值计算。主要应用在航天工程、气象、地震、核能技术、石油勘探和密码解译等涉及复杂数值计算的领域。
2.
信息管理是指非数值形式的数据处理,是指以计算机技术为基础,对大量数据进行加工处理,形成有用的信息。被广泛应用于办公自动化、事务处理、情报检索、企业管理和知识系统等领域。信息管理是计算机应用最广泛的领域。C程序设计(ProgramminginC)1.1.3计算机的应用3.过程控制
又称实时控制,指用计算机及时采集检测数据,按最佳值迅速地对控制对象进行自动控制或自动调节。目前已在冶金、石油、化工、纺织、水电、机械和航天等部门得到广泛应用。4.计算机辅助系统
指通过人机对话,使计算机辅助人们进行设计、加工、计划和学习等工作。如计算机辅助设计CAD、计算机辅助制造CAM、计算机辅助教育CBE、计算机辅助教学CAI、计算机辅助教学管理CMI。另外还有计算机辅助测试CAT和计算机集成制造系统CIMS等。C程序设计(ProgramminginC)1.1.3计算机的应用5.人工智能
人工智能(AI,ArtificialIntelligence)是研究怎样让计算机做一些通常认为需要智能才能做的事情,又称机器智能,主要研究智能机器所执行的通常是人类智能的有关功能,如判断、推理、证明、识别、感知、理解、设计、思考、规划、学习和问题求解等思维活动。人工智能是计算机当前和今后相当长的一段时间的重要研究领域。6.计算机网络与通信
利用通信技术,将不同地理位置的计算机互联,可以实现世界范围内的信息资源共享,并能交互式地交流信息。Internet深刻地改变了我们的生活、学习和工作方式。C程序设计(ProgramminginC)1.1.4
计算机的发展趋势1.巨型化
研制巨型计算机的技术水平是衡量一个国家科学技术和工业发展水平的重要标志。2.微型化
计算机的微型化已成为计算机发展的重要方向,各种笔记本电脑和掌上电脑的大量使用,是计算机微型化的一个标志。C程序设计(ProgramminginC)1.1.4
计算机的发展趋势3.
网格化
网格(Grid)技术把整个互联网虚拟成一台空前强大的一体化信息系统,实现计算资源、存储资源、数据资源、信息资源、知识资源、专家资源的全面共享,从而让用户从中享受可灵活控制的、智能的、协作式的信息服务,并获得前所未有的使用方便性和超强能力。
4.智能化
计算机智能化是指使计算机具有模拟人的感觉和思维过程的能力。智能化的研究包括模拟识别、物形分析、自然语言的生成和理解、博弈、定理自动证明、自动程序设计、专家系统、学习系统和智能机器人等等。C程序设计(ProgramminginC)1.2计算机的基本概念及术语1.
计算机中数据的单位
1)位(bit)
简记为b,也称为比特,是计算机存储数据的最小单位。一个二进制位只能表示0或1。
2)字节(Byte)
字节来自英文Byte,简记为B。字节是存储信息的基本单位。规定1B=8bit。
1KB=210B,1MB=220B,1GB=230B,
1TB=240B
3)字(Word)
一个字通常由一个字节或若干个字节组成。字长是计算机一次所能处理的实际位数长度,字长是衡量计算性能的一个重要指标。C程序设计(ProgramminginC)1.2.1计算机工作原理1.指令是指示计算机执行某种操作的命令,它由一串二进制数码组成,这串二进制数码包括操作码和地址码两部分。操作码规定了操作的类型,即进行什么样的操作;地址码规定了要操作的数据(操作对象)存放在什么地址中,以及操作结果存放到哪个地址中去。一台计算机有许多指令,作用也各不相同。所有指令的集合称为计算机指令系统。计算机系统不同,指令系统也不同,目前常见的指令系统有复杂指令系统(CISC)和精简指令系统(RISC)。C程序设计(ProgramminginC)1.4.1计算机工作原理2.“存储程序”工作原理
计算机能够自动完成运算或处理过程的基础是“存储程序”工作原理。“存储程序”工作原理是美籍匈牙利科学家冯·诺依曼(VonNeumann)提出来的,故称为冯·诺依曼原理,其基本思想是存储程序与程序控制。存储程序是指人们必须事先把计算机的执行步骤序列(即程序)及运行中所需的数据,通过一定方式输入并存储在计算机的存储器中;程序控制是指计算机运行时能自动地逐一取出程序中的一条条指令,加以分析并执行规定的操作。
到目前为止,尽管计算机发展到了第四代,但其基本工作原理仍然没有改变。根据存储程序和程序控制的概念,在计算机运行过程中,实际上有数据流跟控制信号两种信息在流动。C程序设计(ProgramminginC)1.4.1计算机工作原理3.计算机的工作过程计算机的工作过程可以归结为以下几步:(1)取指令。即按照指令计数器中的地址,从内存储器中取出指令,并送到指令寄存器中。(2)分析指令。即对指令寄存器中存放的指令进行分析,确定执行什么操作,并由地址码确定操作数的地址。(3)执行指令。即根据分析的结果,由控制器发出完成该操作所需要的一系列控制信息,去完成该指令所要求的操作。(4)上述步骤完成后,指令计数器加1,为执行下一条指令做好准备。C程序设计(ProgramminginC)1.3计算机中信息的表示1.3.1
数制及其转换
1.
常见的进位计数制
2.
数制的转换
3.
二进制的运算规则1.3.2
计算机中信息的表示
1.
数据的单位
2.
数值的表示
3.
文字信息的表示C程序设计(ProgramminginC)1.3.1
数制及其转换一、基本概念1.进位计数制:即用进位的方法进行计数,简称进制。2.数码:一组用来表示某种数制的符号。如:1、2、3、4、A、B、C、Ⅰ、Ⅱ、Ⅲ、Ⅳ等。3.基数:数制所使用的数码个数。常用“R”表示,称R进制。如二进制的数码是:0、1,那么基数便为2。4.位权:指数码在不同位置上的权值。在进位计数制中,处于不同数位的数码代表的数值不同。例如十进制数111,个位数上的1权值为100,十位数上的1权值为101,百位数上的1权值为102。以此推理,第n位的权值便是10n-1,如果是小数点后面第m位,则其权值为10–m
。
对于一般数制,某一整数位的位权是基数(位数-1),某一小数位的位权则是基数-位数。返回C程序设计(ProgramminginC)二、常见的几种进位计数制1.十进制(Decimal):由0、1、2、…、8、9十个数码组成,即基数为10。特点为:逢十进一,借一当十。用字母D表示。2.二进制(Binary):由0、1两个数码组成,即基数为2。二进制的特点为:逢二进一,借一当二。用字母B表示。3.八进制(Octal):由0、1、2、3、4、5、6、7八个数码组成,即基数为8。八进制的特点为:逢八进一,借一当八。用字母O表示。4.十六进制(Hexadecimal):由0、1、2、…、9、A、B、C、D、E、F十六个数码组成,即基数为16。十六进制的特点为:逢十六进一,借一当十六。用字母H表示。
1.3.1数制及其转换返回C程序设计(ProgramminginC)十进制、二进制、八进制、十六进制之间的对应关系十进制二进制八进制十六进制十进制二进制八进制十六进制000091001119111110101012A2102211101113B3113312110014C41004413110115D51015514111016E61106615111117F711177161000020108100010817100012111C程序设计(ProgramminginC)三、数制的转换
1.二进制、八进制、十六进制数转化为十进制数
对于任何一个二进制数、八进制数、十六进制数,均可以先写出它的位权展开式,然后再按十进制进行计算即可将其转换为十进制数。例如:(1111.11)2=1×23+1×22+1×21+1×20+1×2-1+1×2-2=15.75(A10B.8)16=10×163+1×162+0×161+11×160+8×16-1=41227.5
注意:在不至于产生歧义时,可以不注明十进制数的进制,如上例。1.3.1数制及其转换C程序设计(ProgramminginC)2.十进制数转化为二进制数十进制数的整数部分和小数部分在转换时需作不同的计算,分别求值后再组合。整数部分采用除2取余法,即逐次除以2,直至商为0,得出的余数倒排,即为二进制各位的数码。小数部分采用乘2取整法,即逐次乘以2,从每次乘积的整数部分得到二进制数各位的数码。(参见下例)1.3.1数制及其转换C程序设计(ProgramminginC)由上得出,100D=1100100B步骤一:先对整数100进行转换:例:将十进制数100.125转化为二进制数。1.3.1数制及其转换C程序设计(ProgramminginC)步骤二:对小数部分0.125进行转换:0.125×2=0.250 整数……0→a-10.25×2=0.5 整数……0→a-20.5×2=1 整数……1→a-3由上得出,0.125D=0.001B。将整数和小数部分组合,得出:100.125D=1100100.001B。例:将十进制数100.125转化为二进制数。1.3.1数制及其转换C程序设计(ProgramminginC)3.二进制数与八进制数的相互转换二进制数转换成八进制数的方法是:将二进制数从小数点开始,对二进制整数部分向左每3位分成一组,不足3位的向高位补0凑成3位;对二进制小数部分向右每3位分成一组,不足3位的向低位补0凑成3位。每一组有3位二进制数,分别转换成八进制数码中的一个数字,全部连接起来即可。1.3.1数制及其转换C程序设计(ProgramminginC)例:把二进制数11111101.101转化为八进制数。二进制3位分组011111101.101转换为八进制数375.5所以,11111101.101B=375.5O。
将八进制数转换成二进制数,只要将每一位八进制数转换成相应的3位二进制数,依次连接起来即可。1.3.1数制及其转换C程序设计(ProgramminginC)
4.二进制数与十六进制数的相互转换
二进制数转换成十六进制数,只要把每4位分成一组,再分别转换成十六进制数码中的一个数字,不足4位的分别向高位或低位补0凑成4位,全部连接起来即可。十六进制数转换成二进制数,只要将每一位十六进制数转换成4位二进制数,然后依次连接起来即可。1.3.1数制及其转换C程序设计(ProgramminginC)例:将10110001.101B转换为十六进制数。二进制4位分组10110001.1010转换为十六进制数B1.A所以,10110001.101B=B1.AH。1.3.1数制及其转换C程序设计(ProgramminginC)四、二进制的运算规则1.算术运算规则加法规则:0+0=0;0+1=1;
1+0=1;1+1=10(向高位有进位);减法规则:0-0=0;10-1=1(向高位借位);
1-0=1;1-1=0;
乘法规则:0×0=0;0×1=0;
1×0=0;1×1=1
除法规则:0/1=0;1/1=11.3.1数制及其转换C程序设计(ProgramminginC)2.逻辑运算规则与运算(AND):0∧0=0;0∧1=0;
1∧0=0;1∧1=1;
或运算(OR):0∨0=0;0∨1=1;
1∨0=1;1∨1=1;
异或运算(XOR):0⊕0=0;0⊕1=1;
1⊕0=1;1⊕1=0;1.3.1数制及其转换非运算(NOT):C程序设计(ProgramminginC)1.
数值的表示
通常规定一个数的最高位作为符号位,“0”表示正,“1”表示负。采用二进制表示形式的连同数符一起代码化了的数据称为机器数;而与机器数对应的用正、负符号加绝对值来表示的实际数值称为真值。例如作为有符号数,机器数01111111的真值是+1111111,也就是+127。为了在计算机的输入输出操作中能直观迅速地与常用的十进制数相对应,习惯上用二进制代码表示十进制数,这种编码方法简称BCD码或8421编码。例如,对于(239)10的编码如下:
十进制数2398421编码0010001110011.3.2信息的编码C程序设计(ProgramminginC)2.
文字信息的表示
1)字符编码:目前采用的字符编码主要是ASCII码,它是AmericanStandardCodeforInformationInterchange的缩写(美国标准信息交换代码),已被国际标准化组织ISO采纳,作为国际通用的信息交换标准代码。ASCII码是一种西文机内码,有7位ASCII码和8位ASCII码两种,7位ASCII码称为标准ASCII码,8位ASCII码称为扩展ASCII码。7位标准ASCII码用一个字节(8位)表示一个字符,并规定其最高位为0,实际只用到7位,因此可表示128个不同字符。同一个字母的ASCII码值小写字母比大写字母大32(20H)。
1.3.2信息的编码C程序设计(ProgramminginC)2)汉字编码
A.汉字交换码:由于汉字数量极多,一般用连续的两个字节(16个二进制位)来表示一个汉字。1980年,我国颁布了第一个汉字编码字符集标准,即GB2312-80《信息交换用汉字编码字符集基本集》,该标准编码简称国标码,是我国大陆地区及新加坡等海外华语区通用的汉字交换码。GB2312-80收录了6763个汉字,以及682符号,共7445个字符,奠定了中文信息处理的基础。
B.汉字机内码:国标码GB2312不能直接在计算机中使用,以为它没有考虑与基本的信息交换代码ASCII码的冲突。比如:“大”的国标码是3473H,与字符组合“4S”的ASCII相同,“嘉,”的汉字编码为3C4EH,与码值为3CH和4EH的两个ASCII字符“<”和“N”混淆。为了能区分汉字与ASCII码,在计算机内部表示汉字时把交换码(国标码)两个字节最高位改为1,称为“机内码”。这样,当某字节的最高位是1时,必须和下一个最高位同样为1的字节合起来,代表一个汉字。1.3.2信息的编码C程序设计(ProgramminginC)C.汉字字形码:
所谓汉字字形码实际上就是用来将汉字显示到屏幕上或打印到纸上所需要的图形数据。汉字字形码记录汉字的外形,是汉字的输出形式。记录汉字字形通常有两种方法:点阵法和矢量法,分别对应两种字形编码:点阵码和矢量码。所有的不同字体、字号的汉字字形构成汉字库。点阵码是一种用点阵表示汉字字形的编码,它把汉字按字形排列成点阵,一个16×16点阵的汉字要占用32个字节,一个32×32点阵的汉字则要占用128字节,而且点阵码缩放困难且容易失真。
1.3.2信息的编码C程序设计(ProgramminginC)D.汉字输入码:将汉字通过键盘输入到计算机采用的代码称为汉字输入码,也称为汉字外部码(外码)。汉字输入码的编码原则应该易于接受、学习、记忆和掌握,重码少,码长尽可能短。目前我国的汉字输入码编码方案已有上千种,但是在计算机上常用的有几种,根据编码规则,这些汉字输入码可分为流水码、音码、形码和音形结合码四种。智能ABC、微软拼音、搜狗拼音和谷歌拼音等汉字输入法为音码,五笔字型为形码。音码重码多、单字输入速度慢,但容易掌握;形码重码较少,单字输入速度较快,但是学习和掌握较困难。目前以智能ABC、微软拼音、紫光拼音输入法和搜狗输入法等音码输入法为主流汉字输入方法。
1.3.2信息的编码C程序设计(ProgramminginC)1.4
计算机系统的构成C程序设计(ProgramminginC)1.4.1
计算机硬件系统冯·诺依曼(VonNeumann)提出的存储程序工作原理决定了计算机硬件系统由以下五个基本部分组成。图2硬件系统五大组成部分框图C程序设计(ProgramminginC)硬件指的是计算机系统中由电子、机械和光电元件等组成的各种计算机部件和计算机设备。这些部件和设备依据计算机系统结构的要求,构成一个有机整体,称为计算机硬件系统。未配置任何软件的计算机叫裸机,它是计算机完成工作的物质基础。1.4.1
计算机硬件系统C程序设计(ProgramminginC)1.输入设备主要功能是把原始数据和处理这些数据的程序转换为计算机能够识别的二进制代码,通过输入接口输入到计算机的存储器中,供CPU调用和处理。常用的输入设备有:鼠标器、键盘、扫描仪、数字化仪、数码摄像机、条形码阅读器、数码相机、A/D转换器等2.运算器
负责对信息进行加工和运算,它的速度决定了计算机的运算速度。参加运算的数(称为操作数)由控制器指示从存储器或寄存器中取出到运算器。1.4.1
计算机硬件系统C程序设计(ProgramminginC)3.
控制器是整个计算机系统的控制中心,它指挥计算机各部分协调工作,保证计算机按照预先规定的目标和步骤有条不紊地进行操作及处理。控制器从内存储器中顺序取出指令,并对指令代码进行翻译,然后向各个部件发出相应的命令,完成指令规定的操作。它一方面向各个部件发出执行指令的命令,另一方面又接收执行部件向控制器发回的有关指令执行情况的反馈信息,控制器根据这些信息来决定下一步发出哪些操作命令。这样逐一执行一系列的指令,就使计算机能够按照这一系列的指令组成的程序的要求自动完成各项任务。因此,控制器是指挥和控制计算机各个部件进行工作的“神经中枢”。
通常把控制器和运算器合称为中央处理器(CPU,CentralProcessingUnit)。它是计算机的核心部件。1.4.1
计算机硬件系统C程序设计(ProgramminginC)4.存储器
是具有“记忆”功能的设备,由具有两种稳定状态的物理器件(也称为记忆元件)来存储信息。记忆元件的两种稳定状态分别表示为“0”和“1”。存储器是由成千上万个“存储单元”构成的,每个存储单元存放一定位数(微机上为8位)的二进制数,每个存储单元都有唯一的地址。“存储单元”是基本的存储单位,不同的存储单元是用不同的地址来区分的。计算机采用按地址访问的方式到存储器中存数据和取数据,计算机中的程序在执行的过程中,每当需要访问数据时,就向存储器送去指定位置的地址,同时发出一个“存”命令或者“取”命令(伴以待存放的数据)。
1.4.2
计算机硬件系统C程序设计(ProgramminginC)图3存储器分类存储器分为两大类:内存储器和外存储器,简称内存和外存。内存储器又称为主存储器,外存储器又称为辅助存储器。存储器内存储器外存储器ROM(ReadOnlyMemory)RAM(RandomAccessMemory)Cache磁盘(硬盘、软盘)光盘(CD-ROM、CD-RW、DVD、MO)闪存(CF卡、MMC卡、SD卡)磁带1.4.1
计算机硬件系统C程序设计(ProgramminginC)
5.
输出设备
是指从计算机中输出信息的设备,其功能是将计算机处理的数据、计算结果等内部信息转换成人们习惯接受的信息形式(如字符、图形、声音等),然后将其输出。最常用的输出设备是显示器、打印机和音箱,还有绘图仪、各种数模转换器(D/A)等。
从信息的输入输出角度来说,磁盘驱动器和磁带机既可以看作输入设备,又可以看作输出设备。
1.4.1
计算机硬件系统C程序设计(ProgramminginC)输入计算机的信息一般有两类,一类称为数据,一类称为程序。计算机是通过执行程序所规定的各种指令来处理各种数据的。1.4.2
计算机软件系统软件是指使计算机运行所需的程序、数据和有关文档的总和。计算机软件通常分为系统软件和应用软件两大类,系统软件一般由软件厂商提供,应用软件是为解决某一问题而由用户或软件公司开发的。C程序设计(ProgramminginC)1.计算机软件基础C程序设计(ProgramminginC)1)系统软件
是管理、监控和维护计算机资源(包括硬件和软件)、开发应用软件的软件。系统软件居于计算机系统中最靠近硬件的一层,它主要包括操作系统、语言处理程序、数据库管理系统、支撑服务软件等。2)应用软件
是为解决计算机各类应用问题而编写的软件,随着计算机应用领域的不断拓展和计算机应用的广泛普及,各种各样的应用软件与日俱增,如办公类软件MicrosoftOffice、WPSOffice、永中office、谷歌在线办公系统;图形处理软件Photoshop、illustrator;三维动画软件3dmax、Maya等;即时通信软件QQ、MSN、UC和Skype等。1.计算机软件基础C程序设计(ProgramminginC)1)系统软件A.操作系统(OS,OperatingSystem)
是一组对计算机资源进行控制与管理的系统化程序集合,它是用户和计算机硬件系统之间的接口,为用户和应用软件提供了访问和控制计算机硬件的桥梁。操作系统是直接运行在裸机上的最基本的系统软件,任何其他软件必须在操作系统的支持下才能运行。C程序设计(ProgramminginC)B.
语言处理程序用各种程序设计语言编写的源程序,计算机是不能直接执行的,必须经过翻译(对汇编语言源程序是汇编,对高级语言源程序则是编译或解释)才能执行,这些翻译程序就是语言处理程序,包括汇编程序、编译程序和解释程序等,它们的基本功能是把用面向用户的高级语言或汇编语言编写的源程序翻译成机器可执行的二进制语言程序。C.系统支撑和服务程序
这些程序又称工具软件,如系统诊断程序、调试程序、排错程序、编辑程序、查杀病毒程序等等,都是为维护计算机系统的正常运行或支持系统开发所配置的软件系统。1)系统软件C程序设计(ProgramminginC)D.数据库管理系统
主要用来建立存储各种数据资料的数据库,并进行操作和维护。常用的数据库管理系统有微机上的FoxPro、FoxBASE+、Access和大型数据库管理系统如Oracle、DB2、Sybase、SQLServer等,它们都是关系型数据库管理系统。1)系统软件C程序设计(ProgramminginC)2)应用软件
为解决计算机各类应用问题而编写的软件称为应用软件。应用软件具有很强的实用性。随着计算机应用领域的不断拓展和计算机应用的广泛普及,各种各样的应用软件与日俱增,如办公类软件MicrosoftOffice、WPSOffice、永中office、谷歌在线办公系统;图形处理软件Photoshop、illustrate;三维动画软件3dmax、Maya等;即时通信软件QQ、MSN、UC和Skype等。只为完成某一特定专业的任务,针对某行业、某用户的特定需求而专门开发的软件,如某个公司的管理系统等,都是应用软件。C程序设计(ProgramminginC)2.
程序设计语言1)程序设计基础
数据结构和算法是程序最主要的两个方面,通常可以认为:程序=算法+数据结构。
算法可以看作是由有限个步骤组成的用来解决问题的具体过程。实质上反映的是解决问题的思路。其主要性质表现在:①有穷性;②确定性;③可行性;④有一个或多个输出,零个或多个输入。
数据结构是从问题中抽象出来的数据之间的关系,它代表信息的一种组织方式,用来反映一个数据的内部结构。数据结构是信息的一种组织方式,其目的是提高算法的效率,它通常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种操作。典型的数据结构包括线性表、堆栈和队列。C程序设计(ProgramminginC)2)程序设计语言可以分为三类:机器语言、汇编语言和高级语言。2.
程序设计语言C程序设计(ProgramminginC)(1)机器语言机器语言是计算机系统唯一能识别的、不需要翻译直接供机器使用的程序设计语言。用机器语言编写程序难度大、直观性差、容易出错,修改、调试也不方便。由于不同计算机的指令系统不同,针对某一种型号的计算机所编写的程序就不能在另一计算机上运行,所以机器语言的通用性和移植性较差。用机器语言编写的程序具有充分发挥硬件功能的特点,程序也容易编写得紧凑,程序运行速度快。2.
程序设计语言C程序设计(ProgramminginC)(2)汇编语言
汇编语言是机器语言的“符号化”。汇编语言和机器语言基本上是一一对应的,但在表示方法上作了改进,用一种助记符来代替操作码,用符号来表示操作数地址(地址码)。例如,用“ADD”表示加法,用“MOVE”表示传送等。用助记符和符号地址来表示指令,容易辨认,给程序的编写带来了很大的方便。汇编语言比机器语言直观,容易记忆和理解,用汇编语言编写的程序比机器语言程序易读、易检查、易修改。但是它仍然是属于面向机器的语言,它依赖于具体的机器,很难在系统间移植,所以这样的程序的编写仍然比较困难,程序的可读性也比较差。机器语言和汇编语言一般都称为低级语言。2.
程序设计语言C程序设计(ProgramminginC)(3)高级语言
屏蔽机器的细节,与具体的计算机指令系统无关的、表达方式或接近于人们对求解过程或问题的描述方式,易于理解和掌握的程序设计语言称为高级语言。高级语言有两类,分别是解释型和编译型。①解释程序:解释程序接受用某种程序设计语言(如Basic语言)编写的源程序,然后对源程序的每条语句逐句进行解释并执行,最后得出结果。解释程序对源程序是一边翻译,一边执行,不产生目标程序。②编译程序:编译程序是翻译程序,它将用高级语言编写的源程序翻译成与之等价的用机器语言表示的目标程序,其翻译过程称为编译。编译型语言系统在执行速度上都优于解释型语言系统。但是,编译程序比较复杂,这使得开发和维护费用较高。2.
程序设计语言C程序设计(ProgramminginC)1.5
微型计算机系统
1.5.1微型计算机分类1.5.2
微机的主要性能指标1.5.3
常见微型计算机的硬件设备C程序设计(ProgramminginC)1.5.1微型计算机分类微型计算机按其性能、结构、技术特点等可分为:(1)单片机:将微处理器(CPU)、一定容量的存储器以及I/O接口电路等集成在一个芯片上,就构成了单片机。(2)单板机:将微处理器、存储器、I/O接口电路安装在一块印刷电路板上,就成为单板机。(3)PC(PersonalComputer,个人计算机):供单个用户使用的微机一般称为PC,是目前使用最多的一种微机。(4)便携式微机:便携式微机大体包括笔记本计算机和个人数字助理(PDA)等。C程序设计(ProgramminginC)1.5.2
微机的主要性能指标1.主频:即时钟频率,是指计算机CPU在单位时间内发出的脉冲数,它在很大程度上决定了计算机的运算速度,主频的单位是赫兹(Hz)。
2.字长:是指计算机的运算部件能同时处理的二进制数据的位数,它与计算机的功能和用途有很大的关系。3.内核数:CPU内核数指CPU内执行指令的运算器和控制器的数量所谓多核心处理器简单地说就是在一块CPU基板上集成两个或两个以上的处理器核心,并通过并行总线将各处理器核心连接起来。多核心处理技术的推出,大大地提高了CPU的多任务处理性能,并已成为市场的主流。
C程序设计(ProgramminginC)4.内存容量:是指内存储器中能存储信息的总字节数。一般来说,内存容量越大,计算机的处理速度越快。随着更高性能的操作系统的推出,计算机的内存容量会继续增加。5.运算速度:单位时间内执行的计算机指令数。单位有MIPS(MillionInstructionsPerSecond,每秒106条指令)和BIPS(BillionInstructionsPerSecond,每秒109条指令)。影响机器运算速度的因素很多,一般来说,主频越高,运算速度越快;字长越长,运算速度越快;内存容量越大,运算速度越快;存取周期越小,运算速度越快。6.其他性能指标:机器的兼容性(包括数据和文件的兼容、程序兼容、系统兼容和设备兼容),系统的可靠性(平均无故障工作时间MTBF),系统的可维护性(平均修复时间MTTR)等,另外,性能价格比也是一项综合性的评价计算机性能的指标。1.5.2
微机的主要性能指标C程序设计(ProgramminginC)1.5.3
常见微型计算机的硬件设备C程序设计(ProgramminginC)1.微处理器微处理器是将运算器、控制器和高速缓存集成在一起的超大规模集成电路芯片,是计算机中最重要的核心部件。
目前微处理器的生产厂家有Intel公司、IBM公司、AMD公司和我国台湾的威盛公司等。Intel公司生产x86系列处理器,以及目前的主流产品酷睿系列、赛扬系列等;AMD公司目前的主流产品有羿龙、闪龙和速龙系列等,上述产品占据了85%以上的市场份额。图4所示就是IntelCPU和龙芯。图4IntelCPU(上)和龙芯CPU(下)
C程序设计(ProgramminginC)2.存储器1)微机中的内存一般指指随机存储器(RAM)。目前常用的内存有SDRAM和DDRSDRAM。图5
DDR内存内存C程序设计(ProgramminginC)2)外存储器(1)软盘其直径为3.5英寸,容量为1.44MB。软盘上有写保护口,当写保护口处于保护状态(即写保护口打开)时,只能读取盘中信息,而不能写入,用于防止擦除或重写数据,也能防止病毒侵入。(2)硬盘:是微机上最重要的外存储器,它由多个质地较硬的涂有磁性材料的金属盘片组成,每个盘片的每一面都有一个读、写磁头,用于磁盘信息的读写。硬盘是目前存取速度最快的外存。(3)闪存(FlashMemory)作为存储介质的半导体集成电路制成的电子盘已成为主流的可移动外存。电子盘又称“优盘”,可反复存取数据。(4)光存储器:是利用激光技术存储信息的装置。目前用于计算机系统的光盘可分:为只读光盘(CD-ROM、DVD)、追记型光盘(CD-R、WORM)和可改写型光盘(CD-RW、MO)等。光盘存储介质具有价格低、保存时间长、存储量大等特点,已成为微机的标准配置。C程序设计(ProgramminginC)3.微机常见总线标准总线(Bus)是计算机各功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束。微机内部信息的传送是通过总线进行的,各功能部件通过总线连在一起。微机中的总线一般分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址及控制信号。常见的总线标准有:1)PCI总线;2)AGP总线;3)USB总线;4)IEEE1394总线。
1)PCI总线是由Intel、IBM、DEC公司推出的一种局部总线,它定义了32位数据总线,且可扩展为64位。PCI是迄今为止最成功的总线接口规范之一。PCI总线与CPU之间没有直接相连,而是经过桥接(Bridge)芯片组电路连接。该总线稳定性和匹配性出色,提升了CPU的工作效率,最大传输速率可达132MB/s。C程序设计(ProgramminginC)2)AGP是加速图形端口的缩写,是为提高视频带宽而设计的总线结构,它是一种显示卡专用的局部总线,使图形加速硬件与CPU和系统存储器之间直接连接,无须经过繁忙的PCI总线,提高了系统实际数据传输速率和随机访问内存时的性能。目前AGP8X的总线传输率达到2.1GB/s。3)USB总线即通用串行总线,是一种广泛采用的接口标准。它连接外设简单快捷,支持热拔插,成本低、速度快、连接设备数量多,广泛地应用于计算机、摄像机、数码相机和手机等各种数码设备上。目前USBVer2.0数据传输率达到60MB/s。4)IEEE1394是一种串行接口标准,能非常方便地把电脑、电脑外设、家电等设备连接起来,能达到实时传送多媒体视频流的高速高带宽数据传输效果。IEEE1394总线是目前最快的高速外部串行总线,1394a最高的传输速率达400MB/s,而1394b的最高传输速率达到了800MB/s,并且支持带电拔插。3.微机常见总线标准C程序设计(ProgramminginC)4.主板主板是微型计算机系统中最大的一块电路板,有时又称为母板或系统板,是一块带有各种插口的大型印刷电路板(PCB)。它将主机的CPU芯片、存储器芯片、控制芯片、ROMBIOS芯片等结合在一起。图6P55主板C程序设计(ProgramminginC)5.
输入设备输入设备是将原始信息转化为计算机能接受的二进制数,以便计算机能够处理的设备。键盘鼠标数码相机图7输入设备C程序设计(ProgramminginC)6.输出设备输出设备:有显示器、打印机、绘图仪和音箱等。1)显示系统:包括显示器和显示适配器(又称显示卡)
显示器
显示卡
图8输出设备返回C程序设计(ProgramminginC)2)打印机点阵打印机又称针式打印机,是利用打印头内的点阵撞针撞击打印色带,在打印纸上产生打印效果。喷墨打印机的打印头由细小的喷墨口组成,当打印头横向移动时,喷墨口可以按一定的方式喷射出墨水,打到打印纸上,形成字符、图形等。激光打印机是一种高速度、高精度、低噪声的非击打式打印机。它是激光扫描技术与电子照相技术相结合的产物,利用了激光的定向性、能量集中性。
点阵(针式)打印机喷墨打印机激光打印机图9打印机6.输出设备C程序设计(ProgramminginC)3)声音系统音频信号是连续的模拟信号,而电脑处理的只能是数字信号,因此,电脑要对音频信号进行处理,首先必须进行模/数(A/D)的转换。这个转换过程实际上就是对音频信号的采样和量化过程,即把时间上连续的模拟信号转变为时间上不连续的数字信号,只要在连续量上等间隔地取足够多的点,就能逼真地模拟出原来的连续量。这个“取点”的过程我们称为采样(Sampling),采样精度越高(“取点”越多)数字声音越逼真。采样频率是指每秒钟对音频信号的采样次数。单位时间内采样次数越多,即采样频率越高,数字信号就越接近原声。采样频率只要达到信号最高频率的两倍,就能精确描述被采样的信号。一般来说,人耳的听力范围在20Hz到20kHz之间,因此,只要采样频率达到40kHz,就可以满足人们的要求。现时大多数声卡的采样频率都已达到44.1kHz或48kHz,即达到所谓的CD音质水平了。
6.输出设备C程序设计(ProgramminginC)1.6计算机网络基础知识1.6.1
计算机网络概述1.6.2计算机网络的组成与拓扑结构1.6.3Internet基础1.6..4Internet的服务及应用1.6.5WWW与Web浏览器C程序设计(ProgramminginC)1.6.1计算机网络概述一、计算机网络的产生与发展1.计算机网络定义
计算机网络是指将一群具有独立功能的计算机通过通信设备及传输媒体被互联起来,在通信软件的支持下,实现计算机间资源共享、信息交换或协同工作的系统。计算机网络是计算机技术和通信技术紧密结合的产物,两者的迅速发展及相互渗透,形成了计算机网络技术。2.计算机网络的发展历程
1)以数据通讯为主的第一代计算机网络2)以资源共享为主的第二代计算机网络3)体系结构标准化的第三代计算机网络4)以Internet为核心的第四代计算机网络C程序设计(ProgramminginC)二、计算机网络的组成
从物理连接上讲,计算机网络由计算机系统、通信链路和网络节点组成。计算机系统进行各种数据处理,通信链路和网络节点提供通信功能。从逻辑功能上看,可以把计算机网络分成通信子网和资源子网两个子网。1.6.1计算机网络概述C程序设计(ProgramminginC)三、计算机网络的功能数据通信:是计算机网络的基本功能之一,用于实现计算机之间的信息传送。
资源共享:硬件、软件和数据资源的共享。分布式处理:处理综合性大型科学计算和信息问题是,可采用一定的算法,将任务分交给网络中不同的计算机,以达到均衡使用网络资源,实现分布处理的目的。提高系统的可靠性:可以通过结构化和模块化设计将大的、复杂的任务分别交给几台计算机处理,用多台计算机提供冗余,以使其可靠性大大提高。1.6.1计算机网络概述C程序设计(ProgramminginC)四、计算机网络的分类根据网络的覆盖范围划分:局域网、城域网、广域网、国际互联网。按网络的拓扑结构划分:总线型网络、星形网络、环形网络、树状网络和混合型网络等。按传输介质划分:有线网和无线网按网络的使用性质划分:公用网和专用网。1.6.1计算机网络概述C程序设计(ProgramminginC)1.6.2计算机网络的组成与拓扑结构一、网络硬件
1.网络的主体设备计算机网络中的主体设备称为主机(Host),一般可分为中心站(又称为服务器)和工作站(客户机)两类。2.网络的连接设备(1)网卡(2)集线器(3)中继器(4)网桥(5)路由器(6)交换机(7)网关
3.网络的传输介质根据传输介质形态的不同,我们可以把传输介质分为有线传输介质和无线传输介质。C程序设计(ProgramminginC)二、网络软件网络软件是一种在网络环境下使用和运行或者控制和管理网络工作的计算机软件。根据软件的功能,计算机网络软件可分为网络系统软件和网络应用软件两大类。1.网络系统软件网络系统软件是控制和管理网络运行、提供网络通信、分配和管理共享资源的网络软件,它包括网络操作系统、网络协议软件、通信控制软件和管理软件等。2.网络应用软件是指为某一个应用目的而开发的网络软件(如远程教学软件、电子图书馆软件、Internet信息服务软件等)。网络应用软件为用户提供访问网络的手段、网络服务、资源共享和信息的传输。1.6.2计算机网络的组成与拓扑结构C程序设计(ProgramminginC)三、计算机网络的协议与体系结构1.协议的概念要保证有条不紊地进行数据交换,合理地共享资源,各个独立的计算机系统之间必须达成某种默契,严格遵守事先约定好的一整套通信规程,包括严格规定要交换的数据格式、控制信息的格式和控制功能以及通信过程中事件执行的顺序等。这些通信规程我们称之为网络协议(Protocol)。网络协议主要由以下三个要素组成:(1)语法,即用户数据与控制信息的结构或格式。(2)语义,即需要发出何种控制信息,以及完成的动作与做出的响应。(3)时序,是对事件实现顺序的详细说明。1.6.2计算机网络的组成与拓扑结构C程序设计(ProgramminginC)2.协议分层对于结构复杂的网络协议来说,最好的组织方式是层次结构,计算机网络的协议就是分层的,层与层之间相对独立,各层完成特定的功能,每一层都为上一层提供某种服务,最高层为用户提供诸如文件传输、电子邮件、打印等网络服务。协议分层的原因有以下几点:(1)分层有助于网络的实现和维护。(2)分层有助于技术发展。(3)分层有助于网络产品的生产。(4)分层能促进标准化工作。1.6.2计算机网络的组成与拓扑结构C程序设计(ProgramminginC)3.网络体系结构将网络层次结构模型与计算机网络各层协议的集合称为网络的体系结构或参考模型。世界上第一个网络体系结构是IBM公司于1974年提出的,命名为“系统网络体系结构SNA”。1)OSI参考模型
1977年,国际标准化组织提出了开放系统互连参考模型(OSI,OpenSystemInterconnection)的概念,1984年10月正式发布了整套OSI国际标准。OSI参考模型将网络的功能划分为7个层次:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。如图所示。1.6.2计算机网络的组成与拓扑结构C程序设计(ProgramminginC)OSI参考模型
OSI参考模型的网络功能可分为三组,下两层解决网络信道问题,第三、四层解决传输服务问题,上三层处理应用进程的访问,解决应用进程通信问题。C程序设计(ProgramminginC)TCP/IP参考模型
TCP/IP协议是1974年由VintonCerf和RobertKahn开发的,随着Internet的飞速发展,TCP/IP协议现已成为事实上的国际标准。TCP/IP协议实际上是一组协议,是一个完整的体系结构。如图7-11所示。C程序设计(ProgramminginC)OSI参考模型与TCP/IP参考模型的比较TCP/IP参考模型中没有数据链路层和物理层,只有网络与数据链路层的接口,可以使用各种现有的链路层、物理层协议。TCP/IP模型的网际层(也称互联层)对应于OSI模型的网络层,包括IP(网际协议)、ICMP(网际控制报文协议)、IGMP(网际组报文协议)以及ARP(地址解析协议),这些协议处理信息的路由以及主机地址解析。传输层对应于OSI模型的传输层,包括TCP(传输控制协议)和UDP(用户数据报协议),这些协议负责提供流控制、错误校验和排序服务,完成源到目标间的传输任务。应用层对应于OSI模型的应用层、表示层和会话层,它包括了所有的高层协议,并且不断有新的协议加入。C程序设计(ProgramminginC)TCP/IP与OSI参考模型的对比
OSI参考模型与TCP/IP参考模型都采用了层次结构的概念,但二者在层次划分与使用的协议上是有很大区别的。
OSI参考模型概念清晰,但结构复杂,实现起来比较困难,特别适合用来解释其他的网络体系结构。
TCP/IP参考模型在服务、接口与协议的区别尚不够清楚,这就不能把功能与实现方法有效地分开,增加了TCP/IP利用新技术的难度,但经过30多年的发展,TCP/IP模型赢得了大量的用户和投资,伴随着Internet的发展而成为目前公认的国际标准。C程序设计(ProgramminginC)四、计算机网络拓扑结构
网络中各个结点相互连接的方法和形式称为网络拓扑(topology)。计算机网络有很多种拓扑结构,最常用的网络拓扑结构有:总线型拓扑、环形拓扑、星形拓扑、树形拓扑、网状拓扑以及混合型拓扑。1.总线型拓扑C程序设计(ProgramminginC)2.环形拓扑3.星形拓扑C程序设计(ProgramminginC)4.树型拓扑5.网状拓扑C程序设计(ProgramminginC)1.6.3Internet基础Internet不是一个单一的网络,它是一个巨大的、全球范围内的计算机网络,它是借助于现代通信技术和计算机技术实现全球信息传递的一种快捷、有效、方便的工具。没有单独的个人、群体或组织结构来负责运营Internet。Internet可以连接各种各样的计算机和网络——PC、Macintosh、UNIX、系统工作站、大中型计算机以及各种局域网和广域网,如政府网、企业局域网、校园网,以及服务商中国电信(ChinaNet)、美国在线(AmericaOnline)等。C程序设计(ProgramminginC)一、Internet的起源和发展1.Internet的起源(1)Internet的雏形形成阶段:1969年,美国APANET建成。(2)Internet的发展阶段:1985年,建立NSFNet。1989年MILNet(由ARPANet分离出来)实现和NSFNet连接后,就开始采用Internet这个名称。(3)Internet的商业化阶段:1995年,NSFNET停止运作,Internet已彻底商业化了。1.6.3Internet基础C程序设计(ProgramminginC)2.Internet在中国的发展
1987年9月20日,钱天白教授发出我国第一封电子邮件“越过长城,通向世界”,揭开了中国人使用Internet的序幕。
Internet在中国的发展可以粗略地划分为三个阶段:第一阶段为1987~1993年,我国一些科研部门通过Internet建立电子邮件系统,并在小范围内为国内少数重点高校和科研机构提供电子邮件服务。第二阶段为1994~1995年,这一阶段是教育科研网发展阶段。北京中关村地区及清华、北大组成的NCFC网于1994年4月开通了与国际Internet的64kbps专线连接,同时还设立了中国最高域名(CN)服务器。这时,中国才算真正加入了国际Internet行列。此后又建成了中国教育和科研计算机网(CERNet:ChinaEducationalResearchNetwork)。第三阶段是1995年以后,该阶段开始了商业应用。1.6.3Internet基础C程序设计(ProgramminginC)我国现有四大主干网络的基本情况:1)公用计算机互联网(ChinaNet):ChinaNet由骨干网和接入网组成。2)中国教育和科研计算机网(CERNet):它是全国最大的公益性互联网络。
3)中国科学技术网(CSTNet)4)国家公用经济信息通信网络(金桥网:ChinaGBN)金桥网是建立在金桥工程上的业务网,支持金关、金税、金卡等“金”字头工程的应用。1.6.3Internet基础C程序设计(ProgramminginC)二、Internet的部分常用专业术语(1)ISP:服务提供商,主要为用户提供拨号上网、WWW浏览、FTP、收发E-mail、BBS、Telnet等各种服务。(2)PPP协议:点对点协议,Modem与ISP连接通信时所支持的协议。(3)DNS:域名服务器,用户间Internet任意站点的必由之路,也相当于指路牌。在配置Internet软件时,必须将ISP提供给自己的DNS的IP地址写正确。(4)博客:Blog或Weblog,源于“WebLog”(网络日志)的缩写,是一种十分简易的傻瓜化个人信息发布方式。
1.6.3Internet基础C程序设计(ProgramminginC)三、Internet的IP地址及域名系统1.IP地址
1)IP地址的概念在Internet上为每个计算机指定的唯一的32位地址称为IP地址,也称为网际地址。IP地址具有固定、规范的格式,它由32位二进制数组成,分成4段,其中每8位构成一段,这样每段所能表示的十进制数的范围最大不超过255,段与段之间用“.”隔开。为了便于识别和表达,IP地址以十进制形式表示,每8位为一组用一个十进制数表示。例如:
11001010.01110111.00000010.11000111是一个IP地址,它对应的十进制数的IP地址为99。1.6.3Internet基础C程序设计(ProgramminginC)IP地址常用A、B、C三类,它们均由网络号和主机号两部分组成,规定每一组都不能用全0和全1,通常全0表示网络本身的IP地址,全1表示网络广
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 钢铁厂建设钢筋工施工合同
- 高速公路服务区小青瓦施工协议
- 高铁绿化带改造承包合同
- 酒店建设硬装合同
- 垃圾处理供货施工合同范本
- 股份受让协议三篇
- 股票交易所行纪合同(2篇)
- 外场试验保密协议书
- 公司个人互赔协议书
- 土地出让合同中关于纳税额的约定
- 体验式家长会的实施与开展
- 《标准工时培训》课件
- 射击馆建设方案
- 应用写作-消息和通讯
- 华为公司客户满意度管理
- 四年级综合实践活动上三:学校中遵守规则情况调查教学课件
- 2023-2024学年江苏省淮安市数学高一上期末复习检测试题含解析
- 中学首席名师、名师、骨干教师、教坛新秀评选方案
- 国际物流运输管理智慧树知到课后章节答案2023年下上海海事大学
- 犯罪学智慧树知到课后章节答案2023年下山东警察学院
- 03K132 风管支吊架图集
评论
0/150
提交评论