2008年4月计算机二级c真题及答案

preview
需积分: 0 40 下载量 62 浏览量 更新于2009-03-07 收藏 57KB DOC 举报
【知识点详解】 1. **程序流程图**:程序流程图是一种图形表示法,用于描述程序的控制流程。其中,有箭头的线段表示的是**控制流**,即程序执行的顺序。 2. **结构化程序设计原则**:结构化程序设计强调的是清晰性和可维护性,包括自顶向下(Top-Down)、模块化(Modularization)和逐步求精(Stepwise Refinement)。原则中不包含多态性(Polymorphism),这是面向对象编程的一个特性。 3. **模块划分准则**:在软件设计中,模块应该遵循高内聚(High Cohesion)低耦合(Low Coupling)的原则,这意味着每个模块内部功能紧密相关,而模块之间相互依赖的程度较低。 4. **需求分析阶段**:在软件开发过程中,需求分析阶段主要产出文档是**软件需求规格说明书**,它详细描述了系统需要做什么。 5. **算法的有穷性**:算法必须在有限的时间内完成,即具有有穷性。因此,算法程序的运行时间是有限的。 6. **排序算法**:快速排序、冒泡排序和直接插入排序在最坏情况下比较次数都是n(n-1)/2。而堆排序在最坏情况下的比较次数不是n(n-1)/2。 7. **栈的特点**:栈是一种后进先出(Last In First Out, LIFO)的数据结构,允许在一端(栈顶)进行插入和删除操作。 8. **数据库设计阶段**:将E-R图(实体-关系图)转换成关系数据模型属于**逻辑设计阶段**。 9. **关系运算**:通过关系R和S得到关系T,如果T中只包含R和S都有的记录,则使用的是**交**运算。 10. **关键字(键或码)**:在数据库中,表SC的关键字是**学号,课号**,用于唯一标识一条选课记录。 11. **C语言注释和格式**:C语言的注释可以出现在任何位置,并且一个语句可以跨行书写。选项C描述正确。 12. **标识符**:在C语言中,标识符不能以数字开头,所以选项D`_00`是非法的。 13. **字符常量**:字符常量是单个字符,用单引号括起来。选项B`"C"`是字符串常量,选项C`\xCC0`和D`\072`是转义字符序列,但`\xCC0`不是有效的ASCII字符,而`\072`代表八进制数72,对应ASCII码的104,即'h'字符。 14. **表达式**:在C语言中,赋值操作符的优先级低于其他算术运算符,所以选项A不正确;整数除法不会产生浮点数,选项B错误;选项D中,25%5.0的结果是浮点数,与整型变量x不兼容。只有选项C是正确的。 15. **定义语句**:在C语言中,变量定义不能同时赋值,所以选项A错误;字符变量可以直接赋值ASCII码,选项B正确;选项C中,指针b指向了指针a的地址,而指针c又指向了指针b的地址,导致形成悬挂指针,是不合法的;选项D定义了两个浮点型变量,是合法的。 16. **printf函数**:printf函数按照指定的格式输出变量,选项C的输出结果为'a',97,k=12。 17. **字符判断**:在C语言中,判断字符是否为大写字母,可以通过比较其ASCII值。选项B使用了逻辑非操作符,当kk为大写字母时,表达式kk>='A' || kk<='Z'为真,其非为假,所以选项B不能正确判断。 18. **逻辑表达式**:当变量c不为2、4、6时,表达式(c>=2&&c<=6)&&(c%2!=1)为真,因为当c不等于2、4、6时,c%2必然不等于1,因此满足条件。 19. **if语句**:给定的程序段中,如果a大于b,a将被赋值为b,然后c也将被赋值为a。最后的if语句检查c是否与a不同,若不同,c将被赋值为b。由于a始终为3,所以c最后的值也为3,输出结果是B)3,5,3。 20. **C语言程序**:给定的程序中,x=1,y未定义,根据代码逻辑,y的值将被赋为1,因此输出为1,1,1。 以上是2008年4月全国计算机等级考试二级C语言程序设计试题的部分解析,涵盖了C语言的基础语法、数据结构、程序设计原则、数据库设计、算法分析等多个知识点。