《C语言程序设计》基本知识点解答(一)_第1页
《C语言程序设计》基本知识点解答(一)_第2页
《C语言程序设计》基本知识点解答(一)_第3页
《C语言程序设计》基本知识点解答(一)_第4页
《C语言程序设计》基本知识点解答(一)_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、学习好资料欢迎下载A003中央处理器CPU控制器C语言程序设计基本知识点解答(一)第。章计算机基础知识Q001 计算机的基本原理是什么?(计算机的基本原理)A001 计算机的基本原理有两个:1 .二进制:是指计算机中所有的信息都是以二进制形式的数据来表示、存储、传递和运算的。2 .存储程序控制:是指在利用计算机解决问题时,首先需要人找出解决方法,然后将这个方法用某 种计算机语言转换成计算机程序(包含了原始数据和处理指令),再送入计算机中存储,最后由人 发出命令,计算机开始按照程序中的指令和流程执行这个程序(即对数据进行加工处理)。Q002 为什么计算机内部使用二进制?(二进制)A002 使用二

2、进制的主要原因是:1 .物理上很容易实现两种相对立的稳定的能量状态(如晶体管的导通与不导通、高电平与低电平、 磁性材料中剩磁的顺时针或逆时针方向等)2 .二进制数据的运算规则数量少而且简单,操作实现简便Q003 计算机硬件的基本结构是什么?(硬件)运算器硬件系统存储器L内存储器 r外存储器k输入输出设备(I/O )Q004 计算机硬件系统的核心部件有哪些?它们的作用是什么?(硬件)A004 计算机硬件系统的四大核心部件是控制器、运算器、存储器和输入输出设备。其中: 控制器是计算机的指挥控制中心。其主要功能是识别翻译指令代码并向计算机各部分发出适当的控 制信号,以便执行机器指令。运算器是对数据进

3、行加工、运算的部件。其主要功能是对二进制数据进行算术运算和逻辑运算。 存储器是存放数据和程序的部件。其主要功能是按照要求向指定的位置存进或取出信息。输入设备的功能是将数据和程序送入到计算机的存储器中。常见的输入设备有键盘、鼠标等。 输出设备的功能是将计算机产生的结果送出计算机外。常见的输出设备有显示器、打印机等。Q005 计算机的基本工作过程是怎样的?(硬件)(工作过程)A005结果-控制流 一数据流Q006 内存储器和外存储器有哪些区别?(存储器)(内存)A006 主要区别如下表所示:内存储器(主存储器)外存储器(辅助存储器)结构属于硬件系统的主机部分,位于主机板的 插槽上,与运算器和控制器

4、直接联系进行 数据父换属于硬件系统的外设部分,与运算器和控 制器必须通过f的硬件接口相联系进 行数据交换物理组成电介质:半导体集成电路计算机断电会使内存数据丢失磁介质:磁盘或磁带磁介质损伤或消磁会使数据丢失作用存放计算机系统运行期间正在执行的各 种程序和数据存放系统程序、各种应用程序和数据文件 等当前不参与运行的大量信息Q007 什么叫存储单元的“位”和“,节”?(内存)(,节)(位)A007“位”(bit ):是最小的电子线路单元,只能保存一位二进制数即一个0或一个1。因此一个“位”单元可以保存的最大的十进制数是 1。“字节”(byte):是由若干个“位”组成的逻辑单元。微机中, 1字节=8

5、位。字节是最基本的数 据存储单元,即数据在内存中的存储是以“字节”为基本单位的。任何数据总是占据整数个“字节” 单元。Q008 什么叫存储单元的地址和内容?(内存)A008 存储器从第一个字节开始到最后一个字节为止,每一个字节单元在了逻辑上依次有一个“编 号”,这个编号就叫内存单元的地址。而有这个地址所指向的内存单元中存放的数据就叫该内存 单元的内容。Q009 计算机是如何在内存单元中找到需要的数据的?(内存)A009 计算机总是首先找到所需数据所在字节单元的地址(编号),再到该地址所指向的内存单元去读取内存单元的内容(数据的值)。,也就是机器Q010 什么是“机器语言”?(语言)A010 计

6、算机能直接执行的用于表示机器指令的二进制数字代码称为“机器语言 指令集合。典型的机器语言程序如下:1010 11110011 01110111 0110等等几百个指令很显然,这样的语言写的程序不易记忆和理解,使用、修改和维护都很费时费力,而且不易推广Q011 什么是“汇编语百”?(语百)A011 使用一些符号来代表指令、寄存器、存储单元等机器指令中的要素,然后用这些符号来写程序。使用这些助记符代码的语言,叫做“汇编语言”。典型的汇编语言源程序如下:MOV A, 47翻译之后就是10101111ADD A, B00110111HALT01110110等等几百个指令优点:比机器语言易理解、记忆和使

7、用,速度与机器语言相仿。大量用于实时控制。不能独立于机器。汇编语言源程序必须经过“汇编程序”的汇编后才能执行。Q012 什么是“局级语百”?(语百)A012 使用与人类的自然语言和数学语言相近的符号和运算符构成的语言,叫做“高级语言” 典型的C语言源程序如下: void main() int a=1, b=2, c;c=a+b;printf("c=%dn", c); 优点:独立于机器,通用性和可移植性强;容易理解、记忆和学习,使用方便,源程序较短。缺点:不能够直接执行,源程序必须经过“编译程序”的编译或“解释程序”的解释后形成目标程 序才行。执行速度慢,系统开销大。Q013

8、 计算机中表示数据的基本原则是什么?(数据)A013 计算机中表示数据的基本原则是:一个数据总要占据一定数目的字节单元(整数个字节、有限个字节)。不同类型的数据占据不同数目的字节单元(比如,PC机DOS境下一个整数占2个字节,一个实数占4个字节)。所有数据都是以二进制数的补码形式表示的。当要表示一个数据的正负号时,总是用该数据所占字节单元的所有位中最高一位表示数的符号(0表示正,1表示负)。Q014 什么叫“定点数”和“浮点数”?(数据)(定点数)(浮点数)A014 在计算机中,小数点位置固定的数被称为定点数。定点数有定点整数和定点小数两种 定点整数:小数点默认为在一个二进制数最低位的后面。如

9、图所示:定点小数:小数点默认为在一个二进制数最高位(符号位)的后面在计算机中,既有整数部分又有小数部分的数被称为浮点数第一章C语言基础知识Q015 什么是 “ C” ? ( 0A015 在现代社会中,组织处理信息的能力是成功的关键。设计计算机的目的就是为了快速而有 效地处理大量信息。但是除非有人告诉计算机该干什么和怎么干,否则它什么事情也不能做。这就 是计算机编程语言诞生的原因,而C语言就属于一种计算机编程语言。它是一种能够让软件工程师 与计算机之间进行有效对话的介于汇编语言和高级语言之间的编程语言。C语言非常灵活而且适应性强。自1970年诞生之日起,它一直被用来开发各种各样的程序, 包括用于

10、微控制器的固化软件、 操作系统、应用程序和图形程序。Q016 什么是 “ C+' ? ( C+A016 C+< C语言改进之后的产物。这种语言最初被称为“带类的 C' (C with class )。它增加 了一些特性,其中最重要的特性就是引入了 “类”。“类”是根据面向对象的程序设计(OOD思想 来创建的,它能使代码便于重复使用。 C+邮言完全兼容C语言,学好C有助于C+勺学习。Q017 如何学习" C' ? ( C)A017 学习和掌握一门编程语言的最终途径是用这门语言编写程序。事实上,在编写程序之前和 之后也有很多很重要的工作要做。总的来说, 遵循

11、这样一个过程是必有收获的,即:读别人写的程 序一自己动手写程序一调试这个程序直到成功。这就如同下围棋:打棋谱一亲自下棋一复盘。Q018 什么是计算机程序?(程序)A018 计算机程序主要由两部分组成:数据与指令。在一个计算机程序当中,数据和指令总是在 满足语法规则的前提下,由程序员按照某种组织形式安排好它们, 从而来描述对某个具体问题的已 经预先制定出来的解决方法和步骤。程序员使用数据来描述他要操作的信息,使用指令来描述操作的方法、过程和步骤。Q019 什么叫“源程序” ?(程序)A019 源程序特指用汇编语言或高级语言编写出来的,计算机不能够直接识别并执行的数据和代 码的集合。源程序必须经过

12、某种“翻译”过程才能变成计算机能够识别的指令。这个“翻译”过程 对于汇编语言源程序叫做“汇编”,对于高级语言源程序有“编译”或“解释”两种翻译方法。C语言源程序采用是“编译”的方法。Q020 什么是“编译器”?(编译器)A020 从根本上说,计算机不能直接识别和执行有高级语言编写的“源程序”,因此必须使用一种 称之为“翻译程序”的程序,把“源程序”翻译成二进制形式的“目标程序” 。而“编译器”就是 这些“翻译程序”当中的一种。C语言就是一种“编译”语言,即是说,用 C语言写出的源程序 必须经过“ C编译器”的编译才能变成二进制的代码。Q021 我怎么能得到C的“编译器”?(编译器)A021 世

13、界上有很多厂商和团体开发了很多的“ C编译器”,有商业版本的,也有完全免费的。比 较有名的C编译器有Microsoft C , Turbo C, Borland C , Watcom C GNU C?等。商业版本的编 译器往往性能更好,所附带的函数库也更丰富, 但是需要花钱购买。因此,如果主要目的是为了学 习C语言,那么完全可以使用免费的 C编译器。比如Turbo C和GNU C你可以在有关公司的网站 上或者很多有关C语言的个人网站上下载这些免费的编译器。另外一点,由于C+隹完全兼容C的,所以你也可以使用 C+与译器来编译你的C源程序。同样, 你也可以在互联网上下载到免费的 C+S译器,比如I

14、nprise 公司(原Borland公司)的C+Builder 编译器。Q022 C程序的基本结构和特点是什么? ( C程序)(程序结构)A022 1.一个C程序是由函数构成的。C语言又被称作“函数式语言”。函数可能是系统库函数或用户自定义函数。使用函数构成程序可以容易实现结构化程序设计方法。2. 一个C程序中必须有一个 main函数,而且只能有一个。无论主函数位于程序的何处,程序都由 它开始执行。3. 一个函数由两部分组成:函数原型和函数体。函数原型确定函数名,形参数量和类型,函数的 返回值及其类型;而函数体包含在一对中,由若干语句组成以实现函数功能。4. 每个C语句必须以分号结束。5. 可

15、以用/*/ (块注释符)在程序中任何地方作注释。注释的内容不会被编译。6. C程序的书写格式很自由。Q023 什么是“函数”?(函数)A023 函数是按照一定语法规则被封装好了的,能够完成特定功能的一段代码模块。使用函数构 成程序可以容易实现结构化程序设计方法。Q024 什么是“系统库函数”和“用户自定义函数”?(函数)A024 系统库函数是指随同某个版本的 C编译器一起发布的已经实现了的函数集合。用户往往不 能得到这些函数的源代码,但是可以在自己的程序里调用这些函数从而实现相应的功能。不同公司、不同版本的C编译器所附带的库函数不尽相同,但是所有的C编译器都会附带一个被称 之为“标准库函数”的

16、函数库。因此,在使用标准库函数编程时,可以不考虑编译器的版本问题, 因为所有的编译器都支持它们。另外也有一些独立软件供应商会提供第三方的需要单独购买的具有 特定功能的函数库。而用户自定义函数是指用程序员自己编写的完成所需功能的函数。比如,每个C程序中都包含的main函数就是一个用户自定义函数。Q025 C语言有哪些“系统库函数”?(函数)A025 每个版本的编译器都会发送对所附带的库函数的分类列表和字母顺序列表以及详细说明手 册。另外,也可以查找编译器所附带的在线帮助系统来寻求信息。还可以购买有关专家编写的函数使用手册。如果是标准库函数的话,你可以在互联网上找到它们的使用说明。Q026 什么是

17、 main函数? ( main函数)(主函数)A026 在C程序当中,main函数是一个具有特定名称和特殊地位的用户自定义函数。无论主函数 位于源程序的何处,程序都从它的第一个语句开始执行,到执行完最后一个语句结束。在 main函 数的函数体中,通过调用系统库函数或其它的用户自定义函数来完成整体的功能。而其它的自定义函数是不能调用main函数的Q027 C程序中,如何定义一个函数?(函数)A027 定义一个函数包括定义函数头和定义函数体。格式如下:函数值类型函数名(函数形参列表)函数体函数头指示了该函数与其它函数不同的唯一的函数名,执行该函数时所必须提供的输入信息,以及 函数执行结束后得到的值

18、的类型。函数体包含若干个语句来具体实现该函数的功能。Q028 C程序中,函数体为什么要包含在大括号而不是其它的括号当中?(函数)A028 函数体总要包含在一对特定的符号中以形成封装的模块。其它的高级语言可能使用的是其 它的符号,而C语言中就是使用的大括号。这是规定。Q029 什么叫“语句”和“语句结束符”?(语句)(语句结束符)A029 一个语句就是一条命令。一个语句在编译后会变成很多条机器指令,告诉计算机做什么事 情。语句可以很简单,也可以很复杂。为了区分程序中的若干个语句,每种语言都必须指定一个符 号来标示语句的结束,这个符号就叫语句结束符。C语言中的语句结束符是分号。又是规定。Q030

19、什么叫“注释”?(注释)A030 注释是指在源程序中,对代码本身以及代码所设计的相关信息进行说明和注解的字符序列 为了区别源程序中的注释内容和正式的内容,必须用某种界定符号包围注释。Q031 在编写计算机源程序中,为什么要添加“注释”?(注释)A031 现代计算机的运行速度已经很快,所以对计算机程序的要求从原来的程序大小、算法效率、编程的技巧性等等已经转变为程序的可读性和可维护性。而添加适当的注释是保证和增强程序可读 性和可维护性的最重要的手段之一。 对大型的程序尤其如此。对没有注释或注释不科学的程序进行 维护和二次开发,其代价和成本是无法估计阿。 因此,对程序员来讲,一开始就养成给程序写注释

20、 的习惯是至关重要的,这已经成为评价一个程序员水平高低的重要标准。Q032 在C程序中,如何添加“注释”?(注释)A032 C语言中,用成对出现的/* */来告诉编译器,包含在/* */ 之间的所有内容都是注释 编译器在对源程序进行编译时,将忽略和跳过这些内容。Q033 对于C程序的书写格式有何规定?(格式)A033 C程序的书写格式是很自由的。你只要不把一个完整的符号或一个常量拆开,其它的都可 以随便安排。Q034 在编写计算机源程序时,为什么要遵循一定的书写规范?(格式)A034 原因很简单也很重要:保证和增强程序的可读性和可维护性。一幅漂亮的书法会使人赏心 悦目,可一幅涂鸦则会使人雅兴大

21、减。Q035 关于良好的书写规范和编码习惯,有何建议?(格式)A035 只是建议,并非规定,但事实上已经约定俗成:1 .适当的注释会大大增加程序的可读性和可维护性2 . 一行尽量只写一个语句3 .使用有规则的缩进式代码排列方式4 .在需要的地方加上一些空行5 .起有意义和易于分辨的符号名Q036 C源程序是如何运行的? ( C程序)(运行)A0364Yes执行Q037 什么是IDE? (IDE)(集成开发环境)A037 是集成开发环境Integrated Develop Environment的缩写。IDE包含了编辑器 Editor、编 译器Compiler、连接程序Linker、项目管理程序

22、Project Manager、调试器Debugger、在线帮助 系统Online Help System 和其它一些辅助开发工具Other Tools 。用户的所有开发工作都可以在 一个IDE中完成。Q038 怎么学习使用IDE? (IDE)(集成开发环境)A038 最好的方法就是查看IDE自带的在线帮助系统。绝大多数的IDE都带有详尽的帮助系统, 对IDE本身的组成、功能和使用有详细的说明。除此之外,帮助系统中还包含对所有库函数和辅助 工具的使用说明。因此,一定要学会看帮助。当然,这对你的计算机英语水平有较高要求。Q039 什么叫“预编译”?(预编译)A039 在对源程序进行正式编译之前所

23、做的一些处理工作叫做预编译。最常见的预编译工作就是 用include包含文件和用define进行符号替换。C源程序中,所有的预编译命令都由#开头。使 用预编译命令,可以提供C语言本身不包含的一些扩充功能。Q040 什么叫“编译”?(编译)A040 将高级语言源程序翻译成二进制代码的目标程序的一种方法和过程。完成这个过程的是 个专门的程序,叫“编译器”。Q041 什么叫“连接”?(连接)A041 将编译后的二进制目标程序和有关函数库进行连接并打包成可执行程序的过程叫做连接 完成这个过程的是一个专门的程序,叫“连接器”。Q042 什么叫“调试”?(调试)A042 一个程序永远不可能一次就完全写正确

24、,总会存在这样那样的错误。有些错误属于简单的 语法错误,有些错误属于复杂的逻辑错误,有些错误直到程序运行时才有可能发现。检查并排除所 有这些错误直到程序完全正确的过程就叫调试。编写一个大型的程序,往往有一半的时间用在了调试工作上,因此,学习调试的方法,积累调试的经验时一个程序员必须要经历的过程。Q043 用C语言只能写在DOST运行的程序吗? ( C)A043 当然不是。不管是DOS® WINDOW S5是Unix和Linux,或者其它的操作系统,你所需要 的就是属于那个操作系统的 C或C+“编译器”,你就可以用C语言编写在那个操作系统下运行的 程序。当然,不同的操作系统下,由于程序

25、运行的原理不相同,因此编程的原理会有所不同。Q044 除了 C程序设计的书籍外,还有更多学习 C语言的资源吗? ( C)(学习)A044 有,那就是INTERNET你只要在某个搜索引擎中输入诸如“ C语言”、“C教程”、“ C源码” 之类的关键字,就会搜索到成百上千的网站和网页。 国外关于C语言教程和C语言编程的网站就更 多了。学会使用并用好这些资源,你很快就会变成一个 C语言高手。第二章算法基础知识Q045 什么叫“算法”?(算法)A045 算法,简单的说就是为解决一个问题而采取的方法和步骤。一个实际问题如果需要通过编 写计算机程序来解决的话,就必须首先制定出解决该问题的算法。 对于同一个问

26、题可能存在着不同 的解决方法和步骤,也就是说有不同的算法。所以确定算法时,在保证正确有效的前提下,应该尽量提高算法的效率和质量。另外,我们更关心的是专门针对计算机编程而制定的算法,而不是普通 的一般意义上的算法。Q046 能否举例说明什么是“计算机算法”?(算法)A046 例如编程序求1X2X3X4X5X-X 100对于这样一个具体问题,我们可以得到不止一个 的算法。算法1 :直接写一个乘法表达式来计算,即S1: prod=1 X2X3X4X5X6X7X8X9X 10这个算法的结果虽然是正确的,但是这样的解决方法和步骤显然不是有效合理的。 因为如果问题变 成了求1X2X3X4X5X - X 1

27、00,或者变成了 1X3X5X7X9X-X 101,那么这种方法就不适用算法2:利用编程语言中“变量”的概念,每次计算一个乘法并把结果保存在该变量中,下次再用这个变量去乘以下一个数,即S1: prod=1S2: prod=prod x 2S3: prod=prod x 3S4: prod=prod X4S5: prod=prod X5S10: prod=prod 义 10这个算法的结果也是正确的,比算法1简洁一些,但是仍然不是有效合理的,同样的问题就在于算 法不通用。算法3:利用“变量”的概念的同时,再利用“循环”的解决方法,可以实现真正的计算机算法S1: prod=1S2: n=1S3: p

28、rod=prod x nS4: n=n+1S5:如果n0 10,则返回到S3;否则,结束这个算法具有通用性、灵活性。因为只要是同样的类似的问题,那么这个算法是不需要作大的改动 的。而且所有计算机语言都有实现“循环”的控制语句,因此这个算法就是我们所说的有效的正确 的计算机算法。Q047 一个计算机算法应该有什么样的特性?(算法)A047 一个算法应具有以下特点:(1)有穷性:一个算法的步骤必须是合理有限的(2)确定性:算法中的每一个步骤应当是确定的,而不应该是含糊的、模棱两可的(3)有零个或多个输入:执行算法是需从外界取得必要的信息(4)有一个或多个输出:执行一个算法后应该有必要的结果(5)有效性:算法中的每一个步骤都必须是能有效成立和有效执行,并得到确定结果的Q048 如何表示一个计算机算法?(算

温馨提示

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

评论

0/150

提交评论