计算机二级C语言程序设计易错知识点

1.在数据流图中,用标有名字的剪头表示数据流。

   在程序流程图中,用标有名字的箭头表示控制流。

2.结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句。

3.软件设计中模块划分应遵循的准则是:高内聚低耦合、模块大小规模适当、模块的依赖关系适当等。

   模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。

   模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。

4.可行性分析阶段陈长生可行性分析报告。

   总体设计阶段产生概要设计说明书。

   概要设计阶段编写集成测试计划。

   需求分析阶段产生的主要文档是软件需求规格说明书,它是后续工作如设计、编码等需要的重要参考文档。

5.算法的有穷性是指算法程序的运行时间是有限的。

6.除了堆排序算法的比较次数是nlog2n,其他的都是n(n-1)/2。

7.栈是按“先进后出”的原则组织数据的,数据的插入和删除都在栈顶进行操作。

8.E-R图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。

9.自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。

   笛卡尔积是用R集合中的元素为第一元素,S集合中元素为第二元素构成的有序对。

10.C语言中的非执行语句不会被编译,不会生成二进制的机器指令。

     由C语言构成的指令序列称C源程序,C源程序经过C语言编译程序编译之后生成一个后缀为.obj的二进制文件(称为目标文件);最后要由“连接程序”把此.obj文件与C语言提供的各种库函数连接起来生成一个后缀为.exe的可执行文件。

11.C语言中八进制整型常量的开头是数字0,十六进制开头数字是0x。

     小数形式表示的实型常量必须要有小数点。

     指数形式以“e”或者“E”后跟一个整数来表示以10位底数的幂数,且规定字母e或E之前必须要有数字,且e或E后面的指数必须为整数。

12.取模运算符“%”,二元运算符,具有左结合性,参与运算的量均必须为整型。

13.getchar()可以吸收回车符。

14.逻辑运算符两侧运算对象可以是任意合法的表达式。

15.声明静态局部变量,例:static int m=0;,函数调用结束后,其占用的存储单元不释放,在下次函数调用时,该变量保留上一次函数调用结束时的值。

16.auto:函数中的局部变量,动态地分配存储空间,数据存储在动态存储区中,在调用该函数时系统会给它们分配存储空间,在函数调用结束时就自动释放这些存储空间。

     register:为了提高效率,C语言允许将局部变量的值放在CPU中的寄存器中,这种变量叫“寄存器变量”,只有局部自动变量和形式参数可以作为寄存器变量。

     extern:外部变量(即全局变量)是在函数的外部定义的,它的作用于为从变量定义出开始,到本程序文件的末尾。如果外部变量不在文件的开头定义,其有效的作用单位只限于定义出到文件终了。

     static:静态局部变量属于静态存储类别,在静态存储区内分配存储单元。在程序整个运行期间都不释放。

 

17.循环队列有队头和队尾两个指针,但是循环队列仍是线性结构。

     循环队列中只需要队头指针和队尾两个指针来共同反映队列中元素的动态变化情况。

18.当有序线性表为顺序存储时才能用二分法查找。

     可以证明的是对于长度为n的有序线性表,在最坏情况下,二分法查找只需要比较log2n次,而顺序查找需要比较n次。

19.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的。

     链式存储结构既可以针对线性结构也可以针对非线性结构。

     链式存储结构中每个结点都由数据域与指针两部分组成,增加了存储空间。

20.在需求分析阶段可以使用的工具有数据流图DFD图,数据字典DD,判定树与判定表。

21.对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好。

22.数据管理发展至今已经经历了三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。

     数据库系统阶段结构简单,使用方便,逻辑性强,物理性少,在各方面表现最好,一直占据数据库领域的主导地位。

23.一个C语言程序可以进行多种算法的实现,对算法的个数没有规定。

24.逗号运算符( , )是C语言运算符中优先级最低的一种运算符,结合顺序是从左至右,用来顺序求值(最后一个逗号后面表达式的值作为整个表达式的值)。

 

下面举例说明逗号运算符的使用方法:

1

2

3

4

int a=3, b=5, c;

c = a>b, a+b;   // 运行后c值为0,因为逗号运算符的优先级低于赋值运算符,所以先将a>b的结果(为0)赋值给c,之后运算a+b(结果不保存),所以c=0

 

c = (a>b, a+b); // 运行后c值为8,因为括号的优先级高于赋值运算符,所以先算括号内的表达式,此时计算结果为最后一个表达式的值,即a+b的值,所以c=8

 

25.条件表达式:x = 表达式1?表达式2:表达式3 的含义是:先求解表达式1,结果为非0(真),则求解表达式2,将表达式2的值赋给x。表表达式1的值为0(假),则求解表达式3,将表达式3的值赋给x。

26.在if else语句中,else总是与离它最近的if配对。

27.switch case语句中,case后面常量表达式的类型必须与switch后面的表达式类型一致。

28.栈支持子程序调用。栈是一种智能在一端进行插入或删除的线性表,在主程序调用子函数时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,继续向下执行,这种调用符合栈的特点。

29.数据库应用系统中的核心问题是数据库的设计。

30.从E-R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R图中属性也可以转换成关系的属性。

31.算数运算符+的优先级高于-=,且-=的结合方向为自右向左,即先计算右边的表达式再往左计算。

32.在输入多个数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。

33.向switch语句块传送参数后,编译器会先寻找匹配的case语句块,找到后就执行该语句块,遇到break跳出;如果没有匹配的语句块,则执行default语句块。case与default没有顺序之分。

34.函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。

35.static表示静态局部变量,在静态存储区内分配存储单元,在程序整个运行期间都不释放。

36.程序调试的人物是诊断和改正程序中的错误。

37.数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的。

38.一个正确的算法有零个或者多个输入,零个输入就是算法本身确定了初始条件。

     一个算法有一个或者多个输出,以反映出数据加工的结果。

39.字符都是以ASCII码存储的,字符0和数字0是不一样的概念。字符0的ASCII码为48,而空字符'\0'==0,字符数字减去字符数字0即'0'可得到其数值数字。

40.一般来说,在线性表的链式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。线性链表中数据的插入和删除都不需要移动表中的元素,只需改变结点的指针域即可。

41.二叉树的性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个。

42.软件危机主要表现在:软件需求的增长得不到满足;软件开发成本和进度无法控制;软件质量难以得到保证;软件不可维护或维护程度非常低;软件的成本不断提高;软件开发生产率的提高赶不上硬件的发展和应用需求的增长。

43.需求分析阶段的工作有:需求获取;需求分析;编写需求规格说明书;需求评审。

44.黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证,黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明。

45.系统结构图是对软件系统结构的总体设计的图形显示。在需求分析阶段,已经从系统开发的角度出发,把系统按功能逐次分割成层次结构,是在概要设计阶段用到的。PAD图是在详细设计阶段用到的。程序流程图是对程序流程的图形表示,在详细设计过程中用到。数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它只是一种功能模型,是在可行性研究阶段用到的而非软件设计时用到的。

46.C语言中没有逻辑类型。整数类型可以无误差地表示自然数。

47.形参属于局部变量,占用动态内存,而static型变量占用静态存储区。

        

  • 6
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值