2010内蒙古自治区计算机等级考试试题 二级C试题必过技巧
1、下列工具中属于需求分析常用工具的是(D)
A. PAD
B. PFD
C. N-S
D. DFD
2、算法一般都可以用哪几种控制结构组合而成(D)
A. 循环、分支、递归
B. 顺序、循环、嵌套
C. 循环、递归、选择
D. 顺序、选择、循环
3、在深度为5的满二叉树中,叶子结点的个数为(C)
A. 32
B. 31
C. 16
D. 15
4、在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送(D)
A. 调用语句
B. 命令
C. 口令
D. 消息
5、对建立良好的程序设计风格,下面描述正确的是(A)
A. 程序应简单、清晰、可读性好
B. 符号名的命名要符合语法
C. 充分考虑程序的执行效率
D. 程序的注释可有可无
6、设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出
A. 349
B. 350
C. 255
D. 351
7、索引属于(B)
A. 模式
B. 内模式
C. 外模式
D. 概念模式
8、下列叙述中正确的是(A)
A. 线性表是线性结构
B. 栈与队列是非线性结构
C. 线性链表是非线性结构
D. 二叉树是线性结构
9、软件调试的目的是(B) 注:与软件测试要对比着复习
A.发现错误
B.改正错误
C.改善软件的性能
D.挖掘软件的潜能
10、算法的时间复杂度是指(C)
A. 执行算法程序所需要的时间
B. 算法程序的长度
C. 算法执行过程中所需要的基本运算次数
D. 算法程序中的指令条数
11、设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出
A. 349
B. 350
C. 255
D. 351
12、数据的存储结构是指(B)
A. 数据所占的存储空间量
B. 数据的逻辑结构在计算机中的表示
C. 数据在计算机中的顺序存储方式
D. 存储在外存中的数据
13、在深度为5的满二叉树中,叶子结点的个数为(C)
A. 32
B. 31
C. 16
D. 15
14、下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A)
A. 内模式
B. 外模式
C.概念模式
D. 逻辑模式
15、以下数据结构中不属于线性数据结构的是(C)
A. 队列
B. 线性表
C. 二叉树
D. 栈
16、在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送(D)
A. 调用语句
B. 命令
C. 口令
D. 消息
17、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
下列图符名标识的图符不属于数据流图合法图符的是(A)
A. 控制流
B. 加工
C. 数据存储
D. 源和潭
18、软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及(B)
A. 阶段性报告
B. 需求评审
C. 总结
D. 都不正确
19、数据库设计包括两个方面的设计内容,它们是(A)
A. 概念设计和逻辑设计
B. 模式设计和内模式设计
C. 内模式设计和物理设计
D. 结构特性设计和行为特性设计
20、在深度为5的满二叉树中,叶子结点的个数为(C)
A. 32
B. 31
C. 16
D. 15
21、下面对对象概念描述错误的是(A)
A. 任何对象都必须有继承性
B. 对象是属性和方法的封装体
C. 对象间的通讯靠消息传递
D. 操作是对象的动态性属性
22、下面不属于软件工程的3个要素的是(D)
A. 工具
B. 过程
C. 方法
D. 环境
23、下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A)
A. 内模式
B. 外模式
C. 概念模式
D. 逻辑模式
24、算法一般都可以用哪几种控制结构组合而成(D)
A. 循环、分支、递归
B. 顺序、循环、嵌套
C. 循环、递归、选择
D. 顺序、选择、循环
25、在结构化方法中,软件功能分解属于下列软件开发中的阶段是(C) 注:总体设计也就是概要设计
A. 详细设计
B. 需求分析
C. 总体设计
D. 编程调试
26、以下数据结构中不属于线性数据结构的是(C)
A. 队列
B. 线性表
C. 二叉树
D. 栈
27、对建立良好的程序设计风格,下面描述正确的是(A)
A. 程序应简单、清晰、可读性好
B. 符号名的命名要符合语法
C. 充分考虑程序的执行效率
D. 程序的注释可有可无
28、在下列选项中,哪个不是一个算法一般应该具有的基本特征(C)
A. 确定性
B. 可行性
C. 无穷性
D. 拥有足够的情报
29、对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为(B) 注:要牢记
A. N+1
B. N
C. (N+1)/2
D. N/2
30、在一棵二叉树上第5层的结点数最多是(B) 注:由公式2(k-1)得
A. 8
B. 16
C. 32
D. 15
31、下面对对象概念描述错误的是(A)
A. 任何对象都必须有继承性
B. 对象是属性和方法的封装体
C. 对象间的通讯靠消息传递
D. 操作是对象的动态性属性
32、对建立良好的程序设计风格,下面描述正确的是(A)
A. 程序应简单、清晰、可读性好
B. 符号名的命名要符合语法
C. 充分考虑程序的执行效率
D. 程序的注释可有可无
33、按条件f对关系R进行选择,其关系代数表达式为(C)
A. R|X|R
B. R|X|Rf
C. бf(R)
D. ∏f(R)
34、设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出
A. 349
B. 350
C. 255
D. 351。
二级计算机答题技巧
二级计算机答题技巧在二级计算机考试中,答题技巧是提高成绩的重要因素之一。
本文将为大家介绍几种二级计算机答题技巧,帮助大家在考试中取得好成绩。
一、审题准确在答题前,首先要认真审题,并确保对题目的要求和内容有清晰的理解。
可以先通读题目,仔细阅读每个选项,然后确定正确答案。
这样做有助于避免因为理解错误而选错答案。
二、掌握基础知识二级计算机考试主要考察计算机基础知识和技能,因此,在答题之前,要对各个知识点进行充分的复习和巩固。
这包括硬件、操作系统、网络、办公软件等方面的基础知识。
只有掌握了这些基础知识,才能在考试中应对各种题型。
三、注意细节在答题过程中,要注意细节,尤其是选择题。
有些选项只是在表面上看似正确,但很容易被忽略一些细微的差别。
因此,在选择题中,要仔细阅读每个选项,并对其进行逐一比较。
对于涉及概念的题目,要理解每个选项的含义,确保选择正确答案。
四、运用逻辑思维二级计算机考试中,有些题目需要用到逻辑思维能力。
例如,逻辑推理题、编程题等。
在解答此类题目时,要清晰地分析问题,合理运用逻辑思维方法,找出问题的解决办法。
同时,在答题时要注意逻辑的严谨性,确保答案的准确性和完整性。
五、练习模拟题在备考阶段,要多做一些模拟题和真题,提前熟悉考试的题型和难度。
通过多次练习,可以掌握答题思路、提升答题速度和准确性。
同时,还可以发现自己在哪些方面存在不足,及时进行补充和改进。
六、注意答题技巧在解答二级计算机考试题目时,还有一些答题技巧可以帮助提高答题效率。
例如,应先解答易题,留下一些时间用来解答难题。
在填空题中,可以对空白的位置进行估算,以减少答题时间。
对于选择题,可以使用排除法来确定正确答案。
同时,在解答题时,要注意回答问题的要求,简明扼要,言之有理。
总结:通过审题准确、掌握基础知识、注意细节、运用逻辑思维、练习模拟题和注意答题技巧,可以帮助大家在二级计算机考试中取得好成绩。
当然,合理的备考规划和积极的备考态度也是不可忽视的因素。
计算机二级c上机解题技巧(简便方法,不用编程)
一、填空题(一)链表类型题目包括:15、42、43、50、56、75、79、85、86、87技巧解析:1、首先看清楚题目要求和意思。
看清楚链表有没有带头结点,如果带有头结点,指向数据源的指针内容是p=h—>next;如果是不带有头结点,则填写的是p=h;2、如果所要填写的空在循环语句while的括号中的时候,里面的内容填写的是p或者是q,以最近出现的为主;如果是在循环语句的里面的时候,填写的是q=p —>next;3、如果是排序的时候,从小到大的时候是大于号,从大到小的时候是小于号。
4、如果链表题目中考到调用函数,一般只需要填入实参head,例如:fun(head);在构造链表的时候都会有头结点,一般用head来表示,head指向了链表中的第一个数据的地址。
细化分类:1.将数据域中的数据进行排序,类似题目:15、42void fun(NODE *h){ NODE *p, *q; int t;/**********found**********/p = __1__ ;指向数据源,由于h是带头结点的链表,因此需要填入h->next while (p) {判断链表p是否已经到末尾/**********found**********/q = __2__ ; 比较两个数的大小,因此需要q指向p中的下一个数据需要填入p->next,也就是说p指向了第一个数据,q指向了第二个数据。
while (q) {判断q是否指向了末尾/**********found**********/if (p->data __3__ q->data)从小到大排序,因此填入大于符号{ t = p->data; p->data = q->data; q->data = t; }交换数据 q = q->next; q自增,目的是比较出最小的数据}p = p->next; p自增}}联想记忆分析1:对一维数组进行从小到大排序void fun(int b[N]){ int i, j, a;for(i=0;i<N-1;i++)for(j=i;j<N;j++){if(b[i]>b[j]){a=b[i];b[i]=b[j];b[j]=a;}}}联想记忆分析2:对结构体数组按照姓名进行从小到大排序for(i=0;i<N-1;i++)for(j=i;j<N;j++){if(strcmp(a[i].name,a[j].name)>0){a=b[i];b[i]=b[j];b[j]=a;}2.将数据域中的元素逆置,类似的题目:43、50链表中数据域中的元素逆置,首先将第一个数据取出来放在最后一个位置,也就是将其next置空,表示已经到了末尾。
计算机等级考试二级C语言知识点
计算机等级考试二级C语言知识点必须牢牢掌握的概念总体上必须清楚的:1)程序结构是三种: 顺序结构, 循环结构(三个循环结构), 选择结构(if 和switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。
3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。
byte 是指字节, 一个字节= 八个位.5)一定要记住二进制如何划成十进制。
概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、每个C语言程序中main函数是有且只有一个。
3、在函数中不可以再定义函数。
4、算法的是一定要有输出的,但可以没有输入。
5、break可用于循环结构和switch语句。
6、逗号运算符的级别最低。
第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了。
关键字不可以作为用户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地方If是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
2)实型数据的合法形式:2.333e-1 就是合法的,且数据是2.333×10-1。
考试口诀:e前e后必有数,e后必为整数。
.3)字符数据的合法形式::'1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。
'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。
4) 整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。
碰到这种情况,不要去管,一样做题。
2010内蒙古自治区计算机等级考试二级考试重点和考试技巧
1、数据的存储结构是指(B)A. 数据所占的存储空间量B. 数据的逻辑结构在计算机中的表示C. 数据在计算机中的顺序存储方式D. 存储在外存中的数据2、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
其中数据独立性最高的阶段是(A)A. 数据库系统B. 文件系统C. 人工管理D. 数据项管理3、算法一般都可以用哪几种控制结构组合而成(D)A. 循环、分支、递归B. 顺序、循环、嵌套C. 循环、递归、选择D. 顺序、选择、循环4、下列关于队列的叙述中正确的是(C)A. 在队列中只能插入数据B. 在队列中只能删除数据C. 队列是先进先出的线性表D. 队列是先进后出的线性表5、下面对对象概念描述错误的是(A)A. 任何对象都必须有继承性B. 对象是属性和方法的封装体C. 对象间的通讯靠消息传递D. 操作是对象的动态性属性6、关系数据库管理系统能实现的专门关系运算包括(B)A. 排序、索引、统计B. 选择、投影、连接C. 关联、更新、排序D. 显示、打印、制表7、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
下列图符名标识的图符不属于数据流图合法图符的是(A)A. 控制流B. 加工C. 数据存储D. 源和潭8、下面不属于软件设计原则的是(C)A. 抽象B. 模块化C. 自底向上D. 信息隐蔽9、下列关于栈的叙述中正确的是(D)A. 在栈中只能插入数据B. 在栈中只能删除数据C. 栈是先进先出的线性表D. 栈是先进后出的线性表10、下面不属于软件设计原则的是(C)A. 抽象B. 模块化C. 自底向上D. 信息隐蔽11、软件调试的目的是(B) 注:与软件测试要对比着复习A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能12、软件调试的目的是(B) 注:与软件测试要对比着复习A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能。
全国计算机二级C语言考试答题策略及技巧
全国计算机二级C语言考试答题策略及技巧计算机二级C语言考试是广大计算机专业学生必须要应对的一项考试。
为了帮助大家更好地应对这个考试,本文将介绍一些答题策略和技巧,希望能为大家提供一些帮助。
以下是具体的内容:一、了解考试大纲和考试要点在准备考试之前,首先要详细了解考试大纲和考试要点。
考试大纲会明确列出考试的内容范围,而考试要点则会告诉我们在考试中需要重点关注的知识点和考点。
通过对这些内容的了解,我们可以以针对性的方式进行备考,提高考试效率。
二、刷题是关键在备考过程中,刷题是非常关键的一步。
通过解决大量的真题和模拟题,我们可以熟悉考试的题型和难度,掌握解题思路和方法,提高我们的答题水平。
此外,刷题还有助于我们发现自己的薄弱环节,并有针对性地进行复习和强化,从而更好地应对考试。
三、合理安排备考时间备考时间的合理安排对我们备考的效果起到至关重要的作用。
首先,我们要合理划分时间,进行系统而有条理的学习。
其次,要根据自己的实际情况,合理安排每天的学习时间,保证高效率地进行学习和复习。
此外,还要留出一定的时间进行模拟考试和自我检测,检验自己的学习成果。
四、注重基础知识的掌握在备考过程中,要注重对C语言基础知识的掌握。
这些基础知识是我们应对考试的基础,也是我们进行进一步学习和解题的前提。
例如,掌握C语言的语法规则、常用的数据类型和相关操作,以及常见的控制语句和函数等。
通过对这些基础知识的深入理解和掌握,我们可以更好地应对考试中的各类题目。
五、注意细节和常见错误在解答题目的过程中,我们要注意细节和常见错误。
在C语言中,一些小错误常常会导致程序的错误或逻辑的混乱,从而影响整体的解题效果。
因此,在解答题目时,我们要仔细审题,注意细节,并且避免一些常见的错误。
例如,注意变量的命名规范、数组的越界问题、指针的使用等等。
六、做好总结与复习在备考的最后阶段,我们要对之前的学习进行总结和复习。
通过总结,我们可以对所学知识进行整合和梳理,形成系统而完整的知识框架。
计算机二级答题技巧总结
计算机二级答题技巧总结一、选择题答题技巧选择题在计算机二级考试中占有一定比重,掌握好答题技巧能够有效提高答题准确率。
以下是一些关键技巧:1. 仔细阅读题目在答题前,要仔细阅读每个选择题的题目,并理解题目的要求和限制。
2. 排除法如果有多个选项,在犹豫不决时,可以通过排除法来缩小选择范围。
将明显错误或不相关的选项排除,提高猜对答案的几率。
3. 分析关键词在选择题中,通常会有一些关键词或者限定词,如“必须”、“不包括”等。
要仔细分析这些关键词,将其与选项进行对比,找出正确答案。
4. 注意题目要求有些选择题会要求选择“最佳”答案或“最适合”答案,而不仅仅是一个正确答案。
特别要注意这类题目的要求,在做出选择前要仔细衡量选项。
二、填空题答题技巧填空题是计算机二级考试中常见的题型,以下是一些填空题答题技巧:1. 定位关键词阅读填空题时,要注意寻找关键词,比如问题中提到的特定术语、数字或关键概念。
这将有助于定位到正确的答案位置。
2. 确保答案完整填空题的答案通常是一个短语、单词或数字。
在填写答案之前,要确保答案完整,并满足题目的要求。
3. 上下文连贯性填空题涉及到的答案通常需要与其上下文相互关联,要保证答案的逻辑连贯性,理解答案与题目的衔接关系。
4. 注意格式要求填空题有时需要按照特定的格式填写答案,如日期、单位、符号等。
要仔细阅读题目要求,并按照要求填写答案。
三、实操题答题技巧实操题是考察学生实际操作能力的题目,以下是一些实操题答题技巧:1. 重点复习操作步骤实操题通常是根据具体的操作步骤来回答问题的,因此,要重点复习各种操作的步骤,掌握每个步骤的要点。
2. 实践操作通过实际操作来加深对操作步骤的理解和记忆。
在答题前,可以先在电脑上进行模拟操作,熟悉各种操作的界面和操作方式。
3. 注意细节在实操题中,细节的处理往往是得分的关键。
要注意各种细节要求,如文件保存格式、快捷键的使用等。
4. 时间管理实操题需要一定的操作时间,为了保证答题顺利完成,要合理安排每个操作步骤的时间,避免因时间不足而草率操作或无法完成任务。
二级C应试技巧
C语言笔试轻松过—也谈二级C应试技巧二级C语言笔试只有选择题和填空题两种题型。
这两种题型的解题方法有所不同,考生在备考时要深化对基本概念和知识点的理解,并注重实践,同时要作一些针对性的练习,特别是历年真题,从中找出规律性的东西以及解题技巧。
一、选择题这种类型的题,要求考生从四个待选答案中选择一个正确答案。
考生可综合运用直选法,排除法等多种方法。
但是这类题目考的知识点往往都比较多且细,容易出错,考生在做这类题时,切忌不加分析,一看就选,从而漏掉正确的答案。
如2003年9月笔试第49题:有以下程序main( ){ int a[3][3], p,i;p=&&a[0][0];for (i=0;i<9;i++) p[i]=i+1;printf("%d\n",a[1][2]);}程序运行后的输出结果是(A)3 (B)6 (C)9 (D)2此题主要考的知识点有:(1)数组与指针的关系;(2)数组的初始化和数组元素的引用。
在C语言中,数组与指针有着非常密切的联系。
任何能用数组下标完成的操作也都可以用指针来实现。
语句“ p=&&a[0][0];”使p指向数组中的第0号元素,即a[0][0],指针变量p中存放了数组元素a[0][0]的地址,由于数组元素在内存中是连续存储的,因此,我们就可以通过指针变量p访问数组中的任何一个元素。
本题中通过“for (i=0;i<9;i++) p[i]=i+1;”语句使a[3][3]={1,2,3,4,5,6,7,8,9},所以a[1][2]=6。
这里要特别注意C 语言中数组的下标从0开始,不要错选a[1][2]=3。
二、填空题填空题主要考查考生对基础知识的准确理解。
对于这类型的题,考生应深刻理解题意,明确题目要求,运用相关知识做出正确回答。
在历年考试中,考生这部分试题的得分直接决定考试成绩。
由于这部分共20个空,计40分,有的考生能得35~40分,而有的考生却得不到10分,直接拉开了最后成绩。
计算机二级考试小技巧
计算机二级考试小技巧
相信很多人都报考了计算机二级考试,那么下面小编就为大家带来了关于计算机二级考试的小技巧,欢迎大家阅读!
1、对于上级考试的复习,切记不可死记硬背
根据师兄师姐们的考试经验可知,总会有一部分同学考试不能通过,主要原因是这部分宝宝们已经习惯于传统考试的“死记硬背”,而对于真正的知识应用,却显得束手无策。
为了克服这个弊病,大家应该在熟记基本知识点的基础上,加强编程训练,加强上机训练,从历年试题中寻找解题技巧,理清解题思路,将各种程序结构反复练习哟。
2、在考前,一定要重视等级考试模拟软件的使用
在考试之前,应使用等级考试模拟软件进行实际的上机*作练习,尤其要做一些具有针对*的上机模拟题,以便熟悉考试题型,体验真实的上机环境,以此减轻宝宝们考试时的紧张程度哦。
3、学会并习惯使用帮助系统。
每个编程软件都有较全面的帮助系统,熟练掌握帮助系统,可以使宝宝们减少记忆量,解决解题中的疑难问题呢。
4、熟悉考试场地及环境,尤其是要熟悉考场的硬件情况和所使用的相关软件的情况。
考点在正式考试前,会给大家提供一次模拟上机的机会。
模拟考试时,宝宝们重点不应放在把题做出来,而是应放在熟悉考试环境,相应软件的使用方法,考试系统的使用等方面
最重要的是同学们在做上机题时要不急不燥,认真审题哦。
2010年3月二级C语言考试真题(附答案)
2010年3月计算机等级考试二级C笔试试题一、选择题(1)下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏清况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)(2)算法的时问复杂度是指A)算法的执行时间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于系统软件的是A)编辑软件B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图(DFD图)是A)软件概要设计的工具B)软件详细设计的工具C)结构化方法的需求分析工具D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。
详细设计属于A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段B)逻辑设计一阶段C)概念设计阶段D)物理设计阶段(10)有两个关系R和T如下:则由关系K得到关系T的操作是A)选择B)投影C)交D)并(11)以下叙述正确的是A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可作为单独文件形式存在(12)以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示(13)以下C语言用户标识符中,不合法的是A)_1B)AaBcC)a_bD)a—b(14)若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是A)a=a++,i++;B)i=(a+k)<=(i+k);C)i=a ;D)i=!a;(15)有以下程序#includemain(){ char a,b,c,d;scanf(“%c%c”,&a,&b);c=getchar(); d=getchar();printf(“%c%c%c%c\n”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)1234则输出结果是A)1234B)12C)123D)1234(16)以i关于C语言数据类型使用的叙述中错误的是A)若要准确无误差的表示自然数,应使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型(17)若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是A)1B)0C)2D)不知道a的值,不能确定(18)以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是A)switch(a){case:a=b;break;default:a++;}B)switch(a==1){case 0:a=b;break;case 1:a++;}C)switch(a){default:a++;break;case 1:a=b;}D)switch(a==1){case 1:a=b;break;case 0:a++;}(19)有如下嵌套的if语句if (a<B)< p>if(a< p>else k=c;elseif(belse k=c;以下选项中与上述if语句等价的语句是A)k=(a<C)?B:C;< p>B)k=(a<B)?((Bc)?b:c);C)k=(a<B)?((A<E)?A:E):((B<E)?B:C);< p>D)k=(a<C)?A:C;< p>(20)有以下程序#includemain(){in i,j,m=1;for(i=1;i<3;i++){for(j=3;j>O;j--){if(i*j)>3)break;m=i*j;}}printf("m=%d\n",m);}程序运行后的输出结果是A)m=6B)m=2C)m=4D)m=5(21)有以下程序#include(stdio.h>main(){int a=l;b=2;for(;a<8;a++) {b+=a;a+=2;}printf("%d,%d\n",a,b);}程序运行后的输出结果是A)9,18B)8,11C)7,11D)10,14(22)有以下程序,其中k的初值为八进制数#includemain(){int k=011;printf("%d\n",k++);}程序运行后的输出结果是A)12B)11C)10D)9(23)下列语句组中,正确的是A)char *s;s="Olympic";B)char s[7];s="Olympic";C)char *s;s={"Olympic"};D)char s[7];s={"Olympic"};(24)以下关于return语句的叙述中正确的是A)一个自定义函数中必须有一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成void类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处(25)下列选项中,能正确定义数组的语句是A)int num[0..2008];B)int num[];C)int N=2008;int num[N];D)#define N 2008int num[N];(26)有以下程序#includevoid fun(char *c,int d){*c=*c+1;d=d+1;printf("%c,%c,",*c,d);main(){char b='a',a='A';fun(&b,a);printf("%e,%e\n",b,a);}程序运行后的输出结果是A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B(27)若有定义int(*Pt)[3];,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组ptC)定义了一个名为*pt、具有三个元素的整型数组D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组(28)设有定义double a[10],*s=a;,以下能够代表数组元素a[3]的是A)(*s)[3]B)*(s+3)C)*s[3]D)*s+3(29)有以下程序#include(stdio.h)main(){int a[5]={1,2,3,4,5},b[5]={O,2,1,3,0},i,s=0;for(i=0;i<5;i++) s=s+a[b[i]]);printf("%d\n", s);}程序运行后的输出结果是A)6B)10C)11D)15(30)有以下程序#includemain(){int b [3][3]={O,1,2,0,1,2,O,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=ij<=1;j++) t+=b[i][b[j][i]];printf("%d\n",t);}程序运行后的输出结果是A)1B)3C)4D)9(31)若有以下定义和语句char s1[10]="abcd!",*s2="\n123\\";printf("%d %d\n", strlen(s1),strlen(s2));则输出结果是A)5 5B)10 5C)10 7D)5 8(32)有以下程序#include#define N 8void fun(int *x,int i){*x=*(x+i);}main(){int a[N]={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=O;i<>{printf("%d",a[i]);}printf("\n");}程序运行后的输出结果是A)1313B)2234C)3234D)1234(33)有以下程序#includeint f(int t[],int n);main{ int a[4]={1,2,3,4},s;s=f(a,4); printf("%d\n",s);int f(int t[],int n){ if(n>0) return t[n-1]+f(t,n-1); else return 0;}程序运行后的输出结果是A)4B)1OC)14D)6(34)有以下程序#includeint fun(){ static int x=1;x*2; return x;}main(){int i,s=1,for(i=1;i<=2;i++) s=fun(); printf("%d\n",s);}程序运行后的输出结果是A)OC)4D)8(35)有以下程序#include#define SUB(a) (a)-(a)main(){ int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d\n",d);}程序运行后的输出结果是A)0B)-12C)-20D)10(36)设有定义:struct complex{ int real,unreal;} data1={1,8},data2;则以下赋值语句中错误的是A)data2=data1;B)data2=(2,6);C)data2.real=data1.real;D)data2.real=data1.unreal;(37)有以下程序#include#includestruct A{ int a; char b[10]; double c;};void f(struct A t);main(){ struct A a={1001,"ZhangDa",1098.0};f(a); printf("%d,%s,%6.1f\n",a.a,a.b,a.c);}void f(struct A t){ t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;} 程序运行后的输出结果是A)1001,zhangDa,1098.0B)1002,changRong,1202.0C)1001,ehangRong,1098.OD)1002,ZhangDa,1202.0(38)有以下定义和语句struct workers{ int num;char name[20];char c;struct{int day; int month; int year;}s;};struct workers w,*pw;pw=&w;能给w中year成员赋1980的语句是A)*pw.year=198O;B)w.year=1980;C)pw->year=1980;D)w.s.year=1980;(39)有以下程序#includemain(){ int a=2,b=2,c=2;printf("%d\n",a/b&c);}程序运行后的输出结果是A)OB)1C)2D)3(40)有以下程序#includemain(){ FILE *fp;char str[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp);fpfopen("myfile.data","a++");fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str); puts(str);fclose(fp);}程序运行后的输出结果是A)abcB) 28cC) abc28D)因类型不一致而出错二、填空题(1)一个队列的初始状态为空。
2010年全国计算机等级二级C语言考试题型与解题技巧.
2010年全国计算机等级二级C语言考试题型与解题技巧一、程序填空题程序填空题分值为30分,是在一个完整的程序中挖出2~4个空让考生填写,所考查的内容一般是C语言中最基础的内容。
1. 基本语句方面的知识点,如printf( 函数和Scanf( 函数的相关知识点。
2. 变量等的初始化,以作为累加器或累乘器。
3. 选择结构或循环结构语句的考查。
4. 函数的相关知识,如函数类型的定义、形参的定义,以及确定函数的返回值等。
5. 数组、指针、结构体等的应用。
二、程序改错题1. 若错误行是函数首部,可分为以下几种情况:A、该行最后若有分号则删除,中间若有分号则改成逗号B、形参类型不一致的问题,非凡是指针类型,若后面用到某形参时有指针运算则该形参必为指针类型;若形参是二维数组或指向m个元素的指针变量,则第二维的长度必须与main中对应数组的第二维长度相同。
C、函数类型不一致的问题,若函数中没有return语句则函数类型为void,若有return 语句则函数的类型必须与return后变量的类型一致。
2. 若错误行是if或while语句,则首先看有没有用小括号将整个表达式括起,若没有则加上小括号。
3. 若错误行中有if、while、for则要非凡注重条件表达式的错误问题:A、指针变量的应用,若表达式中有指针变量且没有指针运算符,则加上指针运算符B、若条件表达式中只要一个等于号,则改成两个等于号,若为其它比较运算符则一般是进行逆转或加一个等于号。
C、for中要用分号分隔表达式,而不是用逗号。
4. 语法错误A、语句缺少分号,若错误行中有语句没有用分号结束,则加上分号。
B、大小写不对,若错误行中有大写字母则一般都改成小写字母。
5. 指针变量的运用,若错误行中有指针变量,并且该变量名前没有指针运算符则一般都是加上指针运算符。
6. 若错误行为return语句,则首先看是否是缺少分号若是则加上分号即可;否则就是return后的变量或表达式错误(此时可通过看题意,来分析该返回哪一变量或表达式。
