还剩11页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
语言程序设计基本知识点解答
(一)C第章计算机基础知识Q001A计算机的基本原理是什么?(计算机的基本原理)A001>计算机的基本原理有两个
1.二进制是指计算机中所有的信息都是以二进制形式的数据来表达、存储、传递和运算的
2.存储程序控制是指在运用计算机处理问题时,首先需要人找出处理措施,然后将这个措施用某种计算机语言转换成计算机程序(包括了原始数据和处理指令),再送入计算机中存储,最终由人发出命令,计算机开始按照程序中的指令和流程执行这个程序(即对数据进行加工处理)QOO2A为何计算机内部使用二进制?(二进制)A002>使用二进制的重要原因是L物理上很轻易实现两种相对立的稳定的能量状态(如晶体管的导通与不导通、高电平与低电平、磁性材料中剩磁的顺时针或逆时针方向等)
3.二进制数据的运算规则数量少并且简朴,操作实现简便A003运算器中央处理器CPU控制器Q003A计算机硬件的基本构造是什么?(硬件)主机内存储器]\存储器硬件J外存储器系统外设输入输出设备(I/O)QOO4A计算机硬件系统的关键部件有哪些?它们的作用是什么?(硬件)AOO4A计算机硬件系统的四大关键部件是控制器、运算器、存储器和输入输出设备其中控制器是计算机的指挥控制中心其重要功能是识别翻译指令代码并向计算机各部分发出合适的控制信号,以便执行机器指令运算器是对数据进行加工、运算的部件其重要功能是对二进制数据进行算术运算和逻辑运算存储器是寄存数据和程序的部件其重耍功能是按照规定向指定的位置存进或取出信息输入设备的功能是将数据和程序送入到计算机的存储器中常见的输入设备有键盘、鼠标等输出设备的功能是将计算机产生的成果送出计算机外常见的输出设备有显示屏、打印机等QOO5A计算机的基本工作过程是怎样的?(硬件)(工作过程)A005第二章算法基础知识QO45A什么叫“算法”?算法AO45A算法,简朴的说就是为处理一种问题而采用的措施和环节一种实际问题假如需要通过编写计算机程序来处理的话,就必须首先制定出处理该问题的算法对于同一种问题也许存在着不一样的处理措施和环节,也就是说有不一样的算法因此确定算法时,在保证对的有效的前提下,应当尽量提高算法的效率和质量此外,我们更关怀的是专门针对计算机编程而制定的算法,而不是一般的一般意义上的算法QO46A能否举例阐明什么是“计算机算法”?算法AO46A例如编程序求1X2X3X4X5X…X10对于这样一种详细问题,我们可以得到不止一种的算法算法1直接写一种乘法体现式来计算,即SIprod=lX2X3X4X5X6X7X8X9X10这个算法的成果虽然是对的的,不过这样的处理措施和环节显然不是有效合理的由于假如问题变成了求1X2X3X4X5X…义100,或者变成了1X3X5X7X9义…义101,那么这种措施就不合用了算法2运用编程语言中“变量”的概念,每次计算一种乘法并把成果保留在该变量中,下次再用这个变量去乘如下一种数,即SIprod=lS2prod=prodX2S3prod=prodX3S4prod=prodX4S5prod=prodX5S10:prod=prodX10这个算法的成果也是对的的,比算法1简洁某些,不过仍然不是有效合理的,同样的问题就在于算法不通用算法3运用“变量”的概念的同步,再运用“循环”的处理措施,可以实现真正的计算机算法SI prod=lS2n=lS3prod=prodXnS4n=n+lS5假如nWlO,则返回到S3;否则,结束这个算法具有通用性、灵活性由于只要是同样的类似的问题,那么这个算法是不需要作大的改动的并且所有计算机语言均有实现“循环”的控制语句,因此这个算法就是我们所说的有效的对的的计算机算法Q047A一种计算机算法应当有什么样的特性?算法A047一种算法应具有如下特点1有穷性一种算法的环节必须是合理有限的2确定性算法中的每一种环节应当是确定的,而不应当是模糊的、模棱两可的3有零个或多种输入执行算法是需从外界获得必要的信息
(4)有一种或多种输出执行一种算法后应当有必要的成果
(5)有效性算法中的每一种环节都必须是能有效成立和有效执行,并得到确定成果的QO48A怎样表达一种计算机算法?(算法)(算法的表达)AO48A一种算法制定好后,总要通过某种方式把它表达出来,以便自己和其他人阅读理解一般,可以通过“自然语言”、“流程图”、“伪代码”、“计算机语言”等措施来描述一种计算机算法自然语言就是人们平常使用的语言,可以是英语、汉语或其他语言用自然语言表达算法通俗易懂,但文字冗长,含义不太严格,轻易出现“歧义性”此外,用自然语言表达包括分支和循环的算法也不以便因此,最常见的计算机算法表达措施就是“流程图”用“计算机语言”来描述算法实际上就是我们一般所说的编程序,即程序实际上就是对一种算法的描述“伪代码”是用介于自然语言和计算机语言之间的文字和符号来描述算法它如同一篇文章自上而下地写下来每一行(或几行)表达一种基本操作它不用图形符号因此书写以便格式紧凑,也比很好懂,便于向计算机语言算法(即程序)过渡QO49A怎样用流程图表达一种计算机算法?(算法的表达)(流程图)AO49A流程图是用某些事先规定好的具有某种含义的图框和流程线来表达算法中的环节和多种操作这是用老式流程图表达的求1X2X3X45X…X10的算法:用流程图表达算法直观形象,逻辑清晰,不过占用篇幅较多,尤其当算法P=1比较复杂时,画流程图既费时又不以便,并且当算法不停改动时,流程图n=l的修改也非常麻烦,因此流程图宜用于表达一种完毕的最终算法p=p*n流程图有诸多种类型,最常见的是老式流程图和N-S流程图n=n+l老式流程图中由于对流程线的使用没有严格限制,所有很轻易导致流程图的混乱和无规律QO50A什么是基本程序构造?(程序构造)AO50A为了提高算法的质量,使算法设计和阅读以便,必须限制老式流程图当中流程线的滥用,即不容许无规律的使流程转向,只能次序的进行下去不过,一种算法当中难免会包括某些分支和反复而不也许所有由一种一种环节次序向下构成为了处理这个问题,人们规定出几种基本程序构造,然后由这些基本程序构造按一定规律构成一种算法构造,整个算法的描述则是由上而下的将各个基本构造次序排列起来而成的基本程序构造有三种,分别是次序构造、分支构造和反复构造流程图如下用这三种基本构造就可以表达任何复杂的算法顺序结构选择结构循环结构aa-N IL__Qb控制运算器存取命令计算程令指命令序令原始数取数>据入入出备存储器运算输存数器输输计算控制流数据流设结果QOO6A内存储器和外存储器有哪些区别?(存储器)(内存)A006>重要区别如下表所示:内存储器(主存储器)外存储器(辅助存储器)属于硬件系统的主机部分,位于主机板的属于硬件系统的外设部分,与运算器和控构造插槽上,与运算器和控制器直接联络进行制器必须通过一定的硬件接口相联络进行数据互换数据互换电介质半导体集成电路磁介质磁盘或磁带物理构成计算机断电会使内存数据丢失磁介质损伤或消磁会使数据丢失寄存计算机系统运行期间正在执行的多种寄存系统程序、多种应用程序和数据文献作用程序和数据等目前不参与运行的大量信息QOO7A什么叫存储单元的“位”和“字节”?(内存)(字节)(位)A007>“位”(bit)是最小的电子线路单元,只能保留一位二进制数即一种0或一种1因此一种“位”单元可以保留的最大的十进制数是lo“字节”(byte)是由若干个“位”构成的逻辑单元微机中,1字节=8位字节是最基本的数据存储单元,即数据在内存中的存储是以“字节”为基本单位的任何数据总是占据整数个“字节”单元Q008A什么叫存储单元的地址和内容?(内存)A008>存储器从第一种字节开始到最终一种字节为止,每一种字节单元在了逻辑上依次有一种“编号”,这个编号就叫内存单元的地址而有这个地址所指向的内存单元中寄存的数据就叫该内存单元的内容Q009>计算机是怎样在内存单元中找到需要的数据的?(内存)A009A计算机总是首先找到所需数据所在字节单元的地址(编号),再到该地址所指向的内存单元去读取内存单元的内容(数据的值)QO1OA什么是“机器语言”?(语言)AO1OA计算机能直接执行的用于表达机器指令的二进制数字代码称为“机器语言”,也就是机器指令集合经典的机器语言程序如下10101111♦O/
0011011101110110.......等等几百个指令很显然,这样的语言写的程序不易记忆和理解,使用、修改和维护都很费时费力,并且不易推广Q011A什么是“汇编语言”?(语言)A011A使用某些符号来代表指令、寄存器、存储单元等机器指令中的要素,然后用这些符号来写程序使用这些助记符代码的语言,叫做“汇编语言”经典的汇编语言源程序如下MOV A,47翻译之后就是10101111ADD A,B00110111HALT01110110……等等几百个指令长处比机器语言易理解、记忆和使用,速度与机器语言相仿大量用于实时控制不能独立于机器汇编语言源程序必须通过“汇编程序”的汇编后才能执行Q012A什么是“高级语言”?(语言)AOI2A使用与人类的自然语言和数学语言相近的符号和运算符构成的语言,叫做“高级语言”经典的C语言源程序如下void main()(int a=l,b=2,c;c=a+b;printf(/zc=%d\nz/,c);)长处独立于机器,通用性和可移植性强;轻易理解、记忆和学习,使用以便,源程序较短缺陷不可以直接执行,源程序必须通过“编译程序”的编译或“解释程序”的解释后形成目的程序才行执行速度慢,系统开销大Q013A计算机中表达数据的基本原则是什么?(数据)A013>计算机中表达数据的基本原则是一种数据总要占据一定数目的字节单元(整数个字节、有限个字节)不一样类型的数据占据不一样数目的字节单元(例如,PC机DOS环境下一种整数占2个字节,一种实数占4个字节)所有数据都是以二进制数的补码形式表达的当要表达一种数据的止负号时,总是用该数据所占字节单兀的所有位中最高一位表达数的符号(0表达正,1表达负)Q014A什么叫“定点数”和“浮点数”?(数据)(定点数)(浮点数)A014A在计算机中,小数点位置固定的数被称为定点数定点数有定点整数和定点小数两种定点整数小数点默认为在一种二进制数最低位的背面如图所示定点小数小数点默认为在一种二进制数最高位(符号位)的背面Ns1010101在计算机中,既有整数部分又有小数部分的数被称为浮点数第一章语言基础知识CQ015A什么是“C?CAOI5A在现代社会中,组织处理信息的能力是成功的关键设计计算机的目的就是为了迅速而有效地处理大量信息不过除非有人告诉计算机该干什么和怎么干,否则它什么事情也不能做这就是计算机编程语言诞生的原因,而C语言就属于一种计算机编程语言它是一种可以让软件工程师与计算机之间进行有效对话的介于汇编语言和高级语言之间的编程语言C语言非常灵活并且适应性强自1970年诞生之日起,它一直被用来开发多种各样的程序,包括用于微控制器的固化软件、操作系统、应用程序和图形程序Q016A什么是“C++”?C++A016AC++是C语言改善之后的产物这种语言最初被称为“带类的C”(C withclass)它增长o了某些特性,其中最重要的特性就是引入了“类”“类”是根据面向对象的程序设计(00D)思想来创立的,它能使代码便于反复使用C++语言完全兼容C语言,学好C有助于C++的学习Q017A怎样学习“C”?(C)AOI7A学习和掌握一门编程语言的最终途径是用这门语言编写程序实际上,在编写程序之前和之后也有诸多很重要的工作要做总的来说,遵照这样一种过程是必有收获的,即读他人写的程序一自己动手写程序一调试这个程序直到成功这就如同下围棋打棋谱一亲自下棋一复盘Q018A什么是计算机程序?(程序)AOI8A计算机程序重要由两部分构成数据与指令在一种计算机程序当中,数据和指令总是在满足语法规则的前提下,由程序员按照某种组织形式安排好它们,从而来描述对某个详细问题的已经预先制定出来的处理措施和环节程序员使用数据来描述他要操作的信息,使用指令来描述操作的措施、过程和环节Q019A什么叫“源程序”?(程序)A019>源程序特指用汇编语言或高级语言编写出来的,计算机不可以直接识别并执行的数据和代码的集合源程序必须通过某种“翻译”过程才能变成计算机可以识别的指令这个“翻译”过程对于汇编语言源程序叫做“汇编”,对于高级语言源程序有“编译”或“解释”两种翻译措施C语言源程序采用是“编译”的措施Q020A什么是“编译器”?(编译器)AO20A从主线上说,计算机不能直接识别和执行有高级语言编写的“源程序”,因此必须使用一种称之为“翻译程序”的程序,把“源程序”翻译成二进制形式的“目的程序”而“编译器”就是这些“翻译程序”当中的一种C语言就是一种“编译”语言,即是说,用C语言写出的源程序必须通过“C编译器”的编译才能变成二进制的代码Q021>我怎么能得到C的“编译器”?(编译器)AO21A世界上有诸多厂商和团体开发了诸多的“C编译器”,有商业版本的,也有完全免费的比较有名的c编译器有Microsoft C,Turbo C,Borland C,Watcom C,GNU C等等商业版本的编译器往往性能更好,所附带的函数库也更丰富,不过需要花钱购置因此,假如重要目的是为了学习C语言,那么完全可以使用免费的C编译器例如Turbo C和GNU C你可以在有关企业的网站上或者诸多有关C语言的个人网站上下载这些免费的编译器此外一点,由于C++是完全兼容C的,因此你也可以使用C++编译器来编译你的C源程序同样,你也可以在互联网上下载到免费的C++编译器,例如Inprise企业(原Borland企业)的C++Builder编译器Q022A C程序的基本构造和特点是什么?(C程序)(程序构造)AO22AL一种C程序是由函数构成的C语言又被称作“函数式语言”函数也许是系统库函数或顾客自定义函数使用函数构成程序可以轻易实现构造化程序设计措施
2.一种C程序中必须有一种main函数,并且只能有一种无论主函数位于程序的何处,程序都由它开始执行
3.一种函数由两部分构成函数原型和函数体函数原型确定函数名,形参数量和类型,函数的返回值及其类型;而函数体包括在一对{}中,由若干语句构成以实现函数功能
4.每个C语句必须以分号结束
5.可以用/**/(块注释符)在程序中任何地方作注释注释的内容不会被编译
6.C程序的书写格式很自由QO23A什么是“函数”?(函数)AO23A函数是按照一定语法规则被封装好了的,可以完毕特定功能的一段代码模块使用函数构成程序可以轻易实现构造化程序设计措施QO24A什么是“系统库函数”和“顾客自定义函数”?(函数)AO24A系统库函数是指随同某个版本的C编译器一起公布的已经实现了的函数集合顾客往往不能得到这些函数的源代码,不过可以在自己的程序里调用这些函数从而实现对应的功能不一样企业、不一样版本的C编译器所附带的库函数不尽相似,不过所有的C编译器都会附带一种被称之为“原则库函数”的函数库因此,在使用原则库函数编程时,可以不考虑编译器的版本问题,由于所有的编译器都支持它们此外也有某些独立软件供应商会提供第三方的需要单独购置的具有特定功能的函数库而顾客自定义函数是指用程序员自己编写的完毕所需功能的函数例如,每个C程序中都包括的main函数就是一种顾客自定义函数Q025AC语言有哪些“系统库函数”?(函数)AO25A每个版本的编译器都会发送对所附带的库函数的分类列表和字母次序列表以及详细阐明手册此外,也可以查找编译器所附带的在线协助系统来寻求信息还可以购置有关专家编写的函数使用手册假如是原则库函数的话,你可以在互联网上找到它们的使用阐明Q026>什么是main函数?(main函数)(主函数)AO26A在C程序当中,main函数是一种具有特定名称和特殊地位的顾客自定义函数无论主函数位于源程序的何处,程序都从它的第一种语句开始执行,到执行完最终一种语句结束在main函数的函数体中,通过调用系统库函数或其他的顾客自定义函数来完毕整体的功能而其他的自定义函数是不能调用main函数的Q027AC程序中,怎样定义一种函数?(函数)A027>定义一种函数包括定义函数头和定义函数体格式如下函数值类型函数名(函数形参列表)(函数体)函数头指示了该函数与其他函数不一样的唯一的函数名,执行该函数时所必须提供的输入信息,以及函数执行结束后得到的值的类型函数体包括若干个语句来详细实现该函数的功能Q028AC程序中,函数体为何要包括在大括号而不是其他的括号当中?(函数)A028>函数体总要包括在一对特定的符号中以形成封装的模块其他的高级语言也许使用的是其他的符号,而C语言中就是使用的大括号这是规定QO29A什么叫“语句”和“语句结束符”?(语句)(语句结束符)AO29A一种语句就是一条命令一种语句在编译后会变成诸多条机器指令,告诉计算机做什么事情语句可以很简朴,也可以很复杂为了辨别程序中的若干个语句,每种语言都必须指定一种符号来标示语句的结束,这个符号就叫语句结束符C语言中的语句结束符是分号又是规定QO30A什么叫“注释”?(注释)A030A注释是指在源程序中,对代码自身以及代码所设计的有关信息进行阐明和注解的字符序列为了区别源程序中的注释内容和正式的内容,必须用某种界定符号包围注释Q031A在编写计算机源程序中,为何要添加“注释”?(注释)AO31A现代计算机的运行速度已经很快,因此对计算机程序的规定从本来的程序大小、算法效率、编程的技巧性等等已经转变为程序的可读性和可维护性而添加合适的注释是保证和增强程序可读性和可维护性的最重要的手段之一对大型的程序尤其如此对没有注释或注释不科学的程序进行维护和二次开发,其代价和成本是无法估计阿因此,对程序员来讲,一开始就养成给程序写注释的习惯是至关重要的,这已经成为评价一种程序员水平高下的重要原则Q032A在C程序中,怎样添加“注释”?(注释)A032AC语言中,用成对出现的/*/来告诉编译器,包括在/**/之间的所有内容都是注释编译器在对源程序进行编译时,将忽视和跳过这些内容Q033A对于C程序的书写格式有何规定?(格式)A033AC程序的书写格式是很自由的你只要不把一种完整的符号或一种常量拆开,其他的都可以随便安排QO34A在编写计算机源程序时,为何要遵照一定的书写规范?(格式)AO34A原因很简朴也很重要保证和增强程序的可读性和可维护性一幅漂亮的书法会使人赏心悦目,可一幅涂鸦则会使人雅兴大减QO35A有关良好的书写规范和编码习惯,有何提议?(格式)AO35A只是提议,并非规定,但实际上已经约定俗成:
1.合适的注释会大大增长程序的可读性和可维护性
2.一行尽量只写一种语句
3.使用有规则的缩进式代码排列方式
4.在需要的地方加上某些空行
5.起故意义和易于辨别的符号名AO37A是集成开发环境Integrated DevelopEnvironment的缩写IDE包括了编辑器Editor、编译器Compiler、连接程序Linker、项目管理程序Project Manager>调试器Debugger、在线协助系统Online HelpSystem和其他某些辅助开发工具Other Toolso顾客的所有开发工作都可以在一种IDE中完毕QO38A怎么学习使用IDE(IDE)(集成开发环境)AO38A最佳的措施就是查看IDE自带的在线协助系统绝大多数的IDE都带有详尽的协助系统,对IDE自身的构成、功能和使用有详细的阐明除此之外,协助系统中还包括对所有库函数和辅助工具的使用阐明因此,一定要学会看协助当然,这对你的计算机英语水平有较高规定QO39A什么叫“预编译”?(预编译)A039>在对源程序进行正式编译之前所做的某些处理工作叫做预编译最常见的预编译工作就是用include包括文献和用define进行符号替代C源程序中,所有的预编译命令都由#号开头使用预编译命令,可以提供C语言自身不包括的某些扩充功能QO40A什么叫“编译”?(编译)A040>将高级语言源程序翻译成二进制代码的目的程序的一种措施和过程完毕这个过程的是一种专门的程序,叫“编译器”Q041A什么叫“连接?(连接)A041>将编译后的二进制目的程序和有关函数库进行连接并打包成可执行程序的过程叫做连接完毕这个过程的是一种专门的程序,叫“连接器”Q042A什么叫“调试”?(调试)AO42A一种程序永远不也许一次就完全写对的,总会存在这样那样的错误有些错误属于简朴的语法错误,有些错误属于复杂的逻辑错误,有些错误直到程序运行时才有也许发现检查并排除所有这些错误直到程序完全对的的过程就叫调试编写一种大型的程序,往往有二分之一的时间用在了调试工作上,因此,学习调试的措施,积累调试的经验时一种程序员必须要经历的过程Q043A用C语言只能写在DOS下运行的程序吗?(C)A043>当然不是不管是DOS和WINDOWS,还是Unix和Linux,或者其他的操作系统,你所需要的就是属于那个操作系统的C或C++“编译器”,你就可以用C语言编写在那个操作系统下运行的程序当然,不一样的操作系统下,由于程序运行的原理不相似,因此编程的原理会有所不一样Q044A除了C程序设计的书籍外,尚有更多学习C语言的资源吗?(C)(学习)AO44A有,那就是INTERNET你只要在某个搜索引擎中输入诸如“C语言”、“C教程”、“C源码”之类的关键字,就会搜索到成百上千的网站和网页国外有关C语言教程和C语言编程的网站就更多了学会使用并用好这些资源,你很快就会变成一种C语言高手。
个人认证
优秀文档
获得点赞 0