电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

首师大考研C语言简答题总结

4页
  • 卖家[上传人]:老怪
  • 文档编号:61402390
  • 上传时间:2018-11-30
  • 文档格式:DOCX
  • 文档大小:17.04KB
  • / 4 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、C语言大题总结1、冯.诺伊曼模型的基本组成部分。输入设备、输出设备、存储器(内存储器、外存储器)、运算器、控制器2、请写出结构化程序的含义和基本思想。以模块设计为中心,将待开发的软件系统划分为若干相互独立的模块,完成每一个模块的功能独立而明确,为设计大的软件打下了基础。结构化程序设计的基本思想是自顶向下,逐步求精。3、 一个算法应该具有以下五个重要的特征:1.有穷性:算法的有穷性是指算法必须能在执行有限个步骤之后终止2.确切性:算法的每一步骤必须有确切的定义;3.输入项:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;4.输出项:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;5.可行性:算法中执行的任何计算步都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成。(也称之为有效性)4、请列举三种以上的排序算法,并从稳定性、算法复杂度进行比较。1.稳定度:就是说排序过程中,出现错误排序(从小到大排列时,某次交换是8排到了7前面,就作为一次错误排序)的次数越少,稳定性越好。2.计算的复杂度:

      2、可用时间复杂度来衡量,对于一个n元素的数组,最好的排序复杂度自然是O(n)但是做不到,退而求其次,O(nlogn)也不错,最差的是O(n2).稳定算法不稳定算法名称复杂度名称复杂度插入排序O(n2)选择排序O(n2)冒泡排序O(n2)堆排序O(nlogn)快速排序O(nlogn)-O(n2)5、 什么是算法?什么是算法复杂度?算法是指在解决问题时,按照某种机械步骤一定可以得到问题结果的处理过程。算法的复杂度指的是算法在运行过程中所需要的资源(时间、空间)多少。所需资源越多,表明算法的复杂度越高。6、算法分析的目的是什么?是为了建立衡量算法优劣的标准,用以比较同一类问题的不同算法。为了对算法的某些特定输入,估算该算法所需的内存空间和运行时间;7、算法设计的常用技术是什么?分治法;回溯法;贪心法;动态规划法分治限界法;穷举法;递推法; 递推法8、什么是递归算法?递归算法的特点?递归算法:是一个模块(函数、过程)除了可调用其它模块(函数、过程)外,还可以直接或间接地调用自身的算法。递归算法特点:要有终止条件,不然会无限循环要找到一个可以循环调用的递归表达式9、分治法的基本思想是什么? 将一个

      3、规模为N的问题分解为K个规模较小的子问题,这些子问题互相独立且与原问题相同。递归地解这些子问题,然后将各子问题的解合并得到原问题的解。10、递归算法的优点是什么? 结构清晰,可读性强,容易用数学归纳法来证明算法的正确性,因此它为设计算法、调试程序带来很大方便。11、递归算法的缺点是什么?运行效率较低,耗费的计算时间和占用的存储空间都多。为了达到此目的,根据具体程序的特点对递归调用工作栈进行简化,尽量减少栈操作,压缩栈存储空间以达到节省计算时间和存储空间的目的。12、C语言为什么要规定对所有用到的变量要“先定义,后使用”这样做有什么好处?因为C语言是一种强类型语言,要求所有变量在使用之前先定义数据类型。1、根据数据类型分配内存空间。2、便于提高源代码的安全性。 例子:假如一个全局变量money在代码中多次使用。但有一次写成了menoy。由于变量不需要事先声明的。所以程序正常运行,但是逻辑错误,难以排除。如果要求事先定义,则不会出现这样的错误。13、简述C语言中指针与数组的联系与区别。数组名只是指针中的一种,它是指针中只指向栈区的且指针的移动范围是有限的,即数组长度。而且数组在定义之初就已

      4、经有了自己的内存,一般的指针如果未指向某一个内存块时,它是没有自己的内存的,即所谓的野指针。联系:如上面所说,数组只是定义在栈区的一个连续变量,它的首地址就是一个指针。区别:数组是地址的常量,指针是保存地址的变量。14、在编写程序的过程中,可能会出现程序编译错误或执行结果不正确等情况,为了有效的检查和分析错误原因,经常采用调试的方法。请写出至少2种常见的程序调试方法。1、设置断点 2、分段隔离 3、跟踪打印 4、单步执行 5、查看变量6、预定义使用16、什么是全局变量和局部变量。给出局部变量的任意两种存储方式。全局变量指在程序整个生命周期都占据内存的变量。局部变量指在定义该变量的范围内可用的变量,仅在定义该变量的局部范围内起作用。auto动态变量,默认是它,数据存储在动态存储区中。static:静态变量,在函数调用结束后不消失而保留原值,在下一次函数调用时,该变量已有值就是上次函数调用结束时的值。17、简述C程序的编译过程。1. 编译预处理预编译程序所完成的基本上是对源程序的“替代”工作。经过此种替代,生成一个没有宏定义、没有条件编译指令、没有特殊符号的输出文件。这个文件的含义同没有经

      5、过预处理的源文件是相同的,但内容有所不同。下一步,此输出文件将作为编译程序的输出而被翻译成为机器指令。2. 编译阶段编译程序所要做的工作就是通过词法分析和语法分析,在确认所有的指令都符合语法规则之后,将其翻译成等价的中间代码表示或汇编代码。3. 优化阶段 优化一部分是对中间代码的优化。这种优化不依赖于具体的计算机。另一种优化则主要针对目标代码的生成而进行的。经过优化得到的汇编代码必须经过汇编程序的汇编转换成相应的机器指令,方可能被机器执行。4. 汇编过程汇编过程实际上指把汇编语言代码翻译成目标机器指令的过程。对于被翻译系统处理的每一个C语言源程序,都将最终经过这一处理而得到相应的目标文件。目标文件中所存放的也就是与源程序等效的目标的机器语言代码。5. 链接程序链接程序的主要工作就是将有关的目标文件彼此相连接,也即将在一个文件中引用的符号同该符号在另外一个文件中的定义连接起来。18、模块化程序设计思想,简述这种方法的策略和优点。模块化是结构化方法最基本的分解原则的具体应用它主要出现在结构化设计阶段中其目标是将系统分解成具有特定功能的若干模块从而完成系统指定的各项功能。自顶向下逐层分解,是指在程序设计时,先考虑问题大的方面,在确定了主要方向后,再由表及里深入到问题具体的细节,由易到难,逐层解决问 题。这是一个由模糊到清晰,由概括到具体的过程。而逐步求精是在遇到复杂问题的时候,先设计一些子目标作为过渡,来逐步细化。19、什么是剪枝函数?回溯法搜索解空间树时,通常采用两种策略避免无效搜索,提高回溯法的搜索效率。其一是用约束函数在扩展结点处剪去不满足约束的子树;其二是用限界函数剪去得不到最优解的子树。这两类函数统称为剪枝函数。

      《首师大考研C语言简答题总结》由会员老怪分享,可在线阅读,更多相关《首师大考研C语言简答题总结》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.