网站大量收购独家精品文档,联系QQ:2885784924

计算机C语言知识.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机C语言知识

计算机C语言知识 1.1算法 算法是指一系列解决问题的清晰指令。四个基本特征:可行性,确定性,有穷性,拥有足够的情报。两种基本要素:对数据对象的运算和操作、算法的控制结构(运算和操作的时间)。设计的基本方法:列举法、归纳法、递推法、递归法、减半递推技术和回溯法。 算法的时间复杂程度是执行算法所需要的计算工作量,空间复杂程度是执行算法时所需的内存空间。 1.2 数据结构指相互有关联的数据元素的集合,即数据的组织形式。其中逻辑结构反映数据元素之间逻辑结构关系,存储结构为数据的逻辑结构在计算机存储空间中的存放形式,有顺序存储、链式存储、索引存储和散列存储四种方式。 数据结构按各元素之间前后件关系的复杂程度可划分为:(1)线性结构:有且只有一个根节点,且每个节点最多有一个直接前驱和一个直接后继的非空数据结构。(2)非线性结构:不满足线性结构的数据结构。 线性结构又称线性表,线性表是最简单也是最常用的一种数据结构。 线性表的顺序存储结构:元素所占的存储空间必须连续,元素在存储空间的位置是按逻辑顺序存放的 线性表的插入运算:在第i个元素之前插入一个新元素的步骤:1把原来第n个节点至第i个节点依次往后移一个元素位置。2把新节点放在第i个位置上。3修正线性表的节点个数。 线性表的删除运算:1把第i个元素之后不包括的i个元素的n-i个元素依次前移一个位置。2修正表的节点个数。 1.3 栈:一种特殊的线性表,其插入和删除运算都只能在线性表的一端进行,也被称为“先进后出”或“后进先出”表。栈顶:允许插入和删除的一端。栈底:栈顶的另一端。空栈:栈中没有元素的栈。 栈顶元素是最后被插入和最早被删除的元素。栈底元素是最早被插入和最后被删除的元素。栈具有记忆功能。在顺序存储结构下栈的插入和删除运算不需移动表中其他数据元素。栈顶指针top动态反映了栈中元素的变化情况。顺序存储结构及运算:入栈运算、退栈运算和读栈顶运算。 队列:是指允许在一端进行插入在另一端进行删除的线性表。又称先进先出线性表。 队尾,允许插入的一端,用尾指针指向队尾元素。排头,允许删除的一端,用头指针指向头元素的前一位置。 循环队列:将队列在存储空间的最后一个位置绕到第一个位置形成逻辑上的环状空间。入队运算是指在循环队列的队尾加入一个元素。当循环队列非空且队尾指针等于队头指针时说明循环队列已满不能进行入队运算,称为上溢。退队运算是指在循环队列的队头位置退出一个元素并赋给指定的变量,先将队头指针进一后将排头指针指向的元素赋给指定的变量。当循环队列为空时不能进行退队运算,称为下溢。 1.4线性链表 在链表存储方式中,要求每个节点由两部分组成一部分用来存储数据元素另一部分用来存储指针指向下一个节点。 scanf()函数规定,如果在格式控制字串中除了格式说明以外还有其他字符,则在输入数据时应输入与这些字符相同的字符,如题干中的name=和num=。在输入过程中遇到空格、回车或跳格键时认为输入结束,这些字符称为间隔符。 scanf()函数会把空格字符作为输入的字符串之间的分隔符,因此字符串a为how。gets()函数读取字符串时,直至接受到换行符或EOF时才停止,并将读取的结果存放在指针所指向的字符数组中,因此其余输入的内容赋值给b。 在线性表中,如果元素按从小到大的顺序排列且查找从后向前进行时,比较1次即能找到最大值,这时查找比较次数最少,故至少比较次数为1次。 在长度为n的线性表中,寻找最大项至少需要比较 【2】 次。 参考答案:1 面向对象方法中,继承是指 A)一组对象所具有的相似性质 B)一个对象具有另一个对象的性质 C)各对象之间的共同性质 D)类之间共享属性和操作的机制 参考答案:D 【解析】继承是面向对象方法的一个重要特征。广义地说,继承是指能够直接获得已有的性质和特征,不必重复定义它们。在面向对象的软件技术中,继承是指子类自动地共享基类中定义的数据和方法的机制,故答案为D)。 有以下定义:int a;long b;double x,y;则以下选项中正确的表达式是 A)a%(int)(x-y) B)a=x!=y; C)(a*y)%b D)y=x+y=x 参考答案:B 【解析】A)选项中如果x与y的值相等那么取余时就会有除数为0的情况。C)选项中取余的两个数据都应为整数,不能有一方为实型变量,而a*y的结果为double型。D)选项表达式本身就错误,不能给表达式赋值。所以,本题答案为B)。 以下程序段完全正确的是 A)int*p; scanf(%d,p); B)int*p; scanf(%d,p); C)int k,*p=k; scanf(%d,p);

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档