2013广东省计算机等级考试试题 二级C试题考试重点和考试技巧

合集下载

全国计算机等级考试二级C语言上机答题技巧

全国计算机等级考试二级C语言上机答题技巧

上机编程题答题技巧上机编程题的特点和说明一、在二级C程序设计上机考试中,要求完成一个独立的函数的编程。

目前教育部考试中心已出版了上机考试习题集,这些有助于学习编程,但考生应当在学习过程中理解基本的算法,通过实际上机操作积累经验,才能掌握基本的编程能力。

二、进行编程测试时,建议按以下步骤进行1.首先仔细审题,了解试题的要求,记下试题给出的输入和输出例示,以便检验在完成指定的函数后程序运行的结果是否正确。

2.当在Visual C++6.0环境下调出源程序后,应对照函数首部的形参,审视主函数中调用函数时的实参内容,以便明确在函数中需要处理的数据对象。

3.理解试题的要求,审视主函数中调用函数的方式,若在表达式中调用函数(如把函数值赋给某个对象),则要求有函数值返回,需注意函数的类型,并在函数中用return 语句返回函数值;若主函数中仅用语句形式调用函数,则需要通过形参间接地返回所得结果。

4.选择适当的算法进行编程,输入程序语句。

不要忘记及时存盘!5.编译程序,直到没有语法错误。

6.调试程序,利用试题中给出的例示数据进行输入(若要求输入的话),运行程序,用例示的输出数据检验输出结果,直到结果相同。

三、编程时常出现的错误1.书写标识符时,忽略了大小写字母的区别。

main(){int a=5;printf("%d",A);}编译程序把a和A认为是两个不同的变量名,而显示出错信息。

C认为大写字母和小写字母是两个不同的字符。

习惯上,符号常量名用大写,变量名用小写表示,以增加可读性。

2.忽略了变量的类型,进行了不合法的运算。

main(){float a,b;printf("%d",a%b);}%是求余运算,得到a/b的整余数。

整型变量a和b可以进行求余运算,而实型变量则不允许进行“求余”运算。

3.将字符常量与字符串常量混淆。

char c;c="a";在这里就混淆了字符常量与字符串常量,字符常量是由一对单引号括起来的单个字符,字符串常量是一对双引号括起来的字符序列。

广东计算机二级c 试题及答案

广东计算机二级c 试题及答案

广东计算机二级c 试题及答案一、选择题1. 下列哪个选项可以正确表示字符变量ch?A. char ch = 'A';B. char ch = "A";C. char ch = "65";D. char ch = 65;答案:A2. 下列哪个选项可以正确表示整型变量num?A. int num = 3.14;B. int num = "32";C. int num = 'A';D. int num = 32;答案:D3. 下列哪个选项可以正确表示布尔型变量flag?A. boolean flag = True;B. boolean flag = "true";C. boolean flag = 'T';D. boolean flag = true;答案:D4. 下列哪个选项可以实现两个整型变量a和b的交换?A. a = b; b = a;B. int temp = a; a = b; b = temp;C. a += b; b = a - b; a -= b;D. a = a + b; b = a - b; a = a - b;答案:B5. 下列哪个选项可以正确表示字符串变量str?A. String str = "Hello";B. String str = 'Hello';C. String str = Hello;D. String str = "Hello";答案:A二、填空题1. 编写代码,输出“广东计算机二级C考试”。

答案:System.out.println("广东计算机二级C考试");2. 编写代码,声明一个整型变量num,并赋予初始值为10。

答案:int num = 10;3. 编写代码,计算两个整型变量a和b的和,并将结果存储在变量sum中。

全国计算机等级考试二级C语言真题2013年3月

全国计算机等级考试二级C语言真题2013年3月

全国计算机等级考试二级C语言真题2013年3月(总分40, 做题时间90分钟)一、选择题1. 程序流程图中带有箭头的线段表示的是______。

A 图元关系B 数据流C 控制流D 调用关系答案:C[解析] 在数据流图中,用标有名字的箭头表示数据流。

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

所以选择C。

2. 结构化程序设计的基本原则不包括______。

A 多态性B 自顶向下C 模块化D 逐步求精答案:A[解析] 结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。

3. 软件设计中模块划分应遵循的准则是______。

A 低内聚低耦合B 高内聚低耦合C 低内聚高耦合D 高内聚高耦合答案:B[解析] 软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。

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

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

4. 在软件开发中,需求分析阶段产生的主要文档是______。

A 可行性分析报告B 软件需求规格说明书C 概要设计说明书D 集成测试计划答案:B[解析] A错误,可行性分析阶段产生可行性分析报告。

C错误,概要设计说明书是总体设计阶段产生的文档。

D错误,集成测试计划是在概要设计阶段编写的文档。

B正确,需求规格说明书是后续工作如设计、编码等需要的重要参考文档。

5. 算法的有穷性是指______。

A 算法程序的运行时间是有限的B 算法程序所处理的数据量是有限的C 算法程序的长度是有限的D 算法只能被有限的用户使用答案:A[解析] 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。

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

6. 对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是______。

A 快速排序B 冒泡排序C 直接插入排序D 堆排序答案:D[解析] 除了堆排序算法的比较次数是O(nlog2n),其他的都是n(n-1)/2。

2013广东省计算机等级考试二级考试答题技巧

2013广东省计算机等级考试二级考试答题技巧
C、计算机科学计算 D、人工智能
15、在计算机应用中,“计算机辅助制造”的英文缩写为( A )
A、CAD B、CAM C、CAE D、CAT
16、连接计算机系统结构的五大组成部件一般通过( D )
37、SRAM存储器的中文含义是( A )
A、静态随机存储器 B、动态随机存储器
C、静态只读存储器 D、动态只读存储器
38、与十进制数0.625D等值的二进制数是( A )
A、0.1010B B、0.1101B C、0.1111B D、0.1011B
A、一种计算机设备 B、一种计算机芯片
C、一种计算机部件 D、一种计算机程序
21、冯?诺依曼计算机工作原理的设计思想是( B )
A、程序设计 B、程序存储 C、程序编制 D、算法设计
A、25行,每行80个字符 B、25行,每行60个字符
C、20行,每行80个字符 D、20行,每行60个字符
27、当前使用的微型计算机,其主要器件是由( B )构成的。
A、晶体管 B、大规模、超大规模集成电路
D、其中的信息断电后也不会丢失
29、下列设备中,既能向主机输入数据又能接收主机输出数据的设备是( C )
A、CD-ROM B、显示器 C、软磁盘驱动器 D、光笔
30、动态RAM的特点是( B )
A、在不断电的条件下,其中的信息保持不变,因而不必定期刷新
C、中、小规模集成电路 D、微处理器集成电路
28、动态RAM的保持不变,因而不必定期刷新
B、在不断电的条件下,其中的信息不能长时间保持,因而必须定期刷新才不致丢失信息
C、其中的信息只能读不能写
34、下列关于系统软件的4条叙述中,正确的一条是( A )

全国计算机二级C语言考试答题策略及技巧

全国计算机二级C语言考试答题策略及技巧

全国计算机二级C语言考试答题策略及技巧计算机二级C语言考试是广大计算机专业学生必须要应对的一项考试。

为了帮助大家更好地应对这个考试,本文将介绍一些答题策略和技巧,希望能为大家提供一些帮助。

以下是具体的内容:一、了解考试大纲和考试要点在准备考试之前,首先要详细了解考试大纲和考试要点。

考试大纲会明确列出考试的内容范围,而考试要点则会告诉我们在考试中需要重点关注的知识点和考点。

通过对这些内容的了解,我们可以以针对性的方式进行备考,提高考试效率。

二、刷题是关键在备考过程中,刷题是非常关键的一步。

通过解决大量的真题和模拟题,我们可以熟悉考试的题型和难度,掌握解题思路和方法,提高我们的答题水平。

此外,刷题还有助于我们发现自己的薄弱环节,并有针对性地进行复习和强化,从而更好地应对考试。

三、合理安排备考时间备考时间的合理安排对我们备考的效果起到至关重要的作用。

首先,我们要合理划分时间,进行系统而有条理的学习。

其次,要根据自己的实际情况,合理安排每天的学习时间,保证高效率地进行学习和复习。

此外,还要留出一定的时间进行模拟考试和自我检测,检验自己的学习成果。

四、注重基础知识的掌握在备考过程中,要注重对C语言基础知识的掌握。

这些基础知识是我们应对考试的基础,也是我们进行进一步学习和解题的前提。

例如,掌握C语言的语法规则、常用的数据类型和相关操作,以及常见的控制语句和函数等。

通过对这些基础知识的深入理解和掌握,我们可以更好地应对考试中的各类题目。

五、注意细节和常见错误在解答题目的过程中,我们要注意细节和常见错误。

在C语言中,一些小错误常常会导致程序的错误或逻辑的混乱,从而影响整体的解题效果。

因此,在解答题目时,我们要仔细审题,注意细节,并且避免一些常见的错误。

例如,注意变量的命名规范、数组的越界问题、指针的使用等等。

六、做好总结与复习在备考的最后阶段,我们要对之前的学习进行总结和复习。

通过总结,我们可以对所学知识进行整合和梳理,形成系统而完整的知识框架。

2013广东省计算机等级考试试题 二级C试题(必备资料)

2013广东省计算机等级考试试题 二级C试题(必备资料)

1、索引属于(B)A. 模式B. 内模式C. 外模式D. 概念模式2、用树形结构来表示实体之间联系的模型称为(B)A. 关系模型B. 层次模型C. 网状模型D. 数据模型3、在深度为5的满二叉树中,叶子结点的个数为(C)A. 32B. 31C. 16D. 154、数据库设计包括两个方面的设计内容,它们是(A)A. 概念设计和逻辑设计B. 模式设计和内模式设计C. 内模式设计和物理设计D. 结构特性设计和行为特性设计5、在一棵二叉树上第5层的结点数最多是(B) 注:由公式2(k-1)得A. 8B. 16C. 32D. 156、设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出A. 349B. 350C. 255D. 3517、关系表中的每一横行称为一个(A)A. 元组B. 字段C. 属性D. 码8、在结构化方法中,软件功能分解属于下列软件开发中的阶段是(C) 注:总体设计也就是概要设计A. 详细设计B. 需求分析C. 总体设计D. 编程调试9、按条件f对关系R进行选择,其关系代数表达式为(C)A. R|X|RB. R|X|RfC. бf(R)D. ∏f(R)10、在关系数据库中,用来表示实体之间联系的是(D)A. 树结构B. 网结构C. 线性表D. 二维表11、在软件开发中,下面任务不属于设计阶段的是(D)A. 数据结构设计B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型12、在深度为5的满二叉树中,叶子结点的个数为(C)A. 32B. 31C. 16D. 1513、下列关于栈的叙述中正确的是(D)A. 在栈中只能插入数据B. 在栈中只能删除数据C. 栈是先进先出的线性表D. 栈是先进后出的线性表14、算法的时间复杂度是指(C)A. 执行算法程序所需要的时间B. 算法程序的长度C. 算法执行过程中所需要的基本运算次数D. 算法程序中的指令条数15、软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及(B)A. 阶段性报告B. 需求评审C. 总结D. 都不正确16、关系数据库管理系统能实现的专门关系运算包括(B)A. 排序、索引、统计B. 选择、投影、连接C. 关联、更新、排序D. 显示、打印、制表。

2013全国计算机等级考试新大纲二级C语言题库及参考答案

2013全国计算机等级考试新大纲二级C语言题库及参考答案

参考答案第一套题二、程序填空题本题是根据给定的公式来计算函数的值。

第一处:程序中使用双精度double类型进行计算,所以函数的返回值类型也为double,所以应填:double。

第二处:当i等于1时,则返回f1函数的值,所以应填:f1。

第三处:如果i不等于1,则返回f2函数的值,所以应填:f2。

三、程序修改题解题思路:第一处: 试题要求返回字符串的首地址,所以应改为:char *fun(char *s,char *t)第二处: 取字符串指针ss的下一个位置,所以应改为:ss++;。

第三处:取字符串指针tt的下一个位置,所以应改为:tt++;。

四、程序设计题解题思路:本题是考察字符串的操作。

1. 由于函数fun1是将字符串中字符循环左移一个位置,并通过实参w返回循环左移一个位置的字符串。

2. 利用循环for语句来操作多少个字符(m)需要循环左移。

参考答案:void fun(char *w, int m) /* 可调用fun1函数左移字符*/{int i;for(i = 0 ; i < m ; i++) fun1(w);}第二套题一、选择题解题思路:第一处:计算好的平均值通过形参av返回,所以应填:*av。

第二处:计算小于平均值且最接近平均值的位置j,所以应填:i。

第三处:返回该数,所以应填:x[j]。

三、程序修改题解题思路:第一处:函数的返回是浮点型数,所以应改为:float fun(int n)。

第二处:for的终止条件应是i<=n。

四、程序设计题解题思路:本题是利用两重循环给二维数组右上三角元素中的值乘以m。

参考答案:int fun ( int a[][N], int m ){int i, j;for(i = 0 ; i < N ; i++)for(j = i ; j < N ; j++)a[i][j] *= m ;}第三套题一、选择题解题思路:第一处:如果n是奇数,则中间的元素不动,所以应填:1。

2013广东省计算机等级考试二级(必备资料)

2013广东省计算机等级考试二级(必备资料)

1、下面不属于软件工程的3个要素的是(D)A. 工具B. 过程C. 方法D. 环境2、在一棵二叉树上第5层的结点数最多是(B) 注:由公式2(k-1)得A. 8B. 16C. 32D. 153、对建立良好的程序设计风格,下面描述正确的是(A)A. 程序应简单、清晰、可读性好B. 符号名的命名要符合语法C. 充分考虑程序的执行效率D. 程序的注释可有可无4、算法一般都可以用哪几种控制结构组合而成(D)A. 循环、分支、递归B. 顺序、循环、嵌套C. 循环、递归、选择D. 顺序、选择、循环5、数据库系统的核心是(B)A. 数据模型B. 数据库管理系统C. 软件工具D. 数据库6、在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)A. 可行性分析B. 需求分析C. 详细设计D. 程序编码7、下面概念中,不属于面向对象方法的是 (D)A. 对象B. 继承C. 类D. 过程调用8、下列关于队列的叙述中正确的是(C)A. 在队列中只能插入数据B. 在队列中只能删除数据C. 队列是先进先出的线性表D. 队列是先进后出的线性表9、下述关于数据库系统的叙述中正确的是(A)A. 数据库系统减少了数据冗余B. 数据库系统避免了一切冗余C. 数据库系统中数据的一致性是指数据类型的一致D. 数据库系统比文件系统能管理更多的数据10、算法的空间复杂度是指(D)A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 算法执行过程中所需要的存储空间11、下述关于数据库系统的叙述中正确的是(A)A. 数据库系统减少了数据冗余B. 数据库系统避免了一切冗余C. 数据库系统中数据的一致性是指数据类型的一致D. 数据库系统比文件系统能管理更多的数据12、下面对对象概念描述错误的是(A)A. 任何对象都必须有继承性B. 对象是属性和方法的封装体C. 对象间的通讯靠消息传递D. 操作是对象的动态性属性13、在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送(D)A. 调用语句B. 命令C. 口令D. 消息14、用树形结构来表示实体之间联系的模型称为(B)A. 关系模型B. 层次模型C. 网状模型D. 数据模型。

二级C操作题高频考点速记

二级C操作题高频考点速记
3 4 5 6 e 3表示 1 2 3 . 4 5 6ˑ 1 0 ) 。
( 2 ) 实型变量: 可分为单精度型( f l o a t ) 、 双精度型( d o u b l e ) 和长双精度型( l o n gd o u b l e ) 。 3 . 字符型数据 ( 1 ) 字符常量: 用单引号括起来的一个字符( 如, ‘ a ’ 、 ‘+ ’ 、 ‘ \ 0 ’ ) 。 ( 2 ) 字符变量: 用来存储单个字符。 ( 3 ) 字符串常量: 由一对双引号括起来的字符序列( 如“ h e l l o ” 、 “ 1 2 3 4 5 6 ” ) 。字符串常量占用的内存字节 , 最后一个字节存放字符‘ \ 0 ’ ( A S C I I 码为 0 ) , 即字符串结束标志。 数等于字符串中字符数加 1 4 . 变量的初始化 定义的变量在使用之前, 需要赋给一个确定的初值, 否则会出现冗余数据直接参与运算的情况。初始化 有两种方法: ( 1 ) 先定义然后初始化( 如: i n t a ;a = 5 ; ) , ( 2 ) 在定义时直接初始化( 如: i n t a = 5 ; ) 。在遇到循环 时, 循环变量需要先定义, 然后才能在循环结构中应用。 题型剖析: 字符串和字符串结束标志( ‘ \ 0 ’ ) 是常考查的内容, 在填空题和修改题中都时有出现, 并且编 程题中经常要对字符串进行操作, 因此在编程题中出现的几率也很高。 常见的考查形式有两种。 ( 1 ) 判断是否到达字符串的结尾, 即判断当前字符是否为‘ \ 0 ’ 。 例如, 要遍历字符串 s , 使用整型变量 n 存放下标, 那么判断当前字符是否为‘ \ 0 ’ , 可表示为: w h i l e ( s [ n ] ! = ‘ \ 0 ’ ) { …} 。 注: 也可以使用指针实现, 若指针 p 指向某一个字符, 则为: w h i l e ( != ‘ \ 0 ’ ) { …} 。 p 2 ) 对字符串操作结束后, 添加‘ \ 0 ’ 。 ( 例如, 下标 n 为字符串中最后一个字符的下标, 要添加结束标志, 可以表示为: s [ n ++ ]= ‘ \ 0 ’ 。 注: 也可以用指针实现, 若指针 p 指向最后一个字符, 则为: p ++ )= ‘ \ 0 ’ 。 (

2013年3月份全国计算机等级考试二级C语言_笔试+上机题库(完整版)

2013年3月份全国计算机等级考试二级C语言_笔试+上机题库(完整版)

.全国计算机等级考试二级C语言笔试+上机题库(全)一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为A)PAD图B)N-S图 C)结构图 D)数据流图(2)结构化程序设计主要强调的是A)程序的规模 B)程序的效率 C)程序设计语言的先进性 D)程序易读性(3)为了使模块尽可能独立,要求A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(4)需求分析阶段的任务是确定A)软件开发方法 B)软件开发工具 C)软件开发费用 D)软件系统功能(5)算法的有穷性是指A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是A)快速排序 B)冒泡排序 C)直接插入排序 D)堆排序(7)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A)e3,e1,e4,e2 B)e2,e4,e3,e1 C)e3,e4,e1,e2 D) 任意顺序(8)将E-R图转换到关系模式时,实体与联系都可以表示成A)属性 B)关系 C)键 D)域(9)有三个关系R、S和T如下:RB C Da 0 k1b 1 n1SB C Df 3 h2a 0 k1n 2 x1TB C Da 0 k1由关系R和S通过运算得到关系T,则所使用的运算为A)并 B)自然连接 C)笛卡尔积 D)交(10)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字(11)以下叙述中正确的是A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出(12)下列可用于C语言用户标识符的一组是A)void, define, WORD B)a3_3,_123,Car C)For, -abc, IF Case D)2a, DO, sizeof(13)以下选项中可作为C语言合法常量的是A)-80 B)-080 C)-8e1.0 D)-80.0e(14)若有语句:char *line[5];,以下叙述中正确的是A) 定义line是一个数组,每个数组元素是一个基类型为char为指针变量B) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C) 定义line是一个指针数组,语句中的*号称为间址运算符D) 定义line是一个指向字符型函数的指针(15)以下定义语句中正确的是A)int a=b=0; B)char A=65+1,b=′b′; C)float a=1,*b=&a,*c=&b;D)double a=00;b=1.1;(16)有以下程序段char ch; int k;ch=′a′;k=12;printf("%c,%d,",ch,ch,k); printf("k=%d \n",k);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12D)a,97,k=12(17)有以下程序main(){ int i,s=1;for (i=1;i<50;i++)if(!(i%5)&&!(i%3)) s+=i;printf("%d\n",s);}程序的输出结果是A)409 B)277 C)1 D)91(18)当变量c的值不为2、4、6时,值也为"真"的表达式是A)(c==2)||(c==4)||(c==6)B)(c>=2&& c<=6)||(c!=3)||(c!=5)C)(c>=2&&c<=6)&&!(c%2)D)(c>=2&& c<=6)&&(c%2!=1)(19)若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b) a=b; c=a;if(c!=a) c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是A)程序段有语法错 B)3,5,3 C)3,5,5 D)3,5,7 (20)有以下程序#include <stdio.h>main(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0:a++; break;case 1:b++; break;}case 2:a++; b++; break;case 3:a++; b++;}printf("a=%d,b=%d\n",a,b);}程序的运行结果是A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1(21)下列程序的输出结果是#include "stdio.h"main(){ int i,a=0,b=0;for(i=1;i<10;i++){ if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b); }A)a=4,b=4 B)a=4,b=5 C)a=5,b=4 D)a=5,b=5(22)已知#int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对(23)下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A)3 B)4 C)1 D)2(24)以下错误的定义语句是A)int x[][3]={{0},{1},{1,2,3}}; B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; D)int x[][3]={1,2,3,4}; (25)有以下程序void ss(char *s,char t){ while(*s){ if(*s==t)*s=t-′a′+′A′;s++; } }main(){ char str1[100]="abcddfefdbd",c=′d′;ss(str1,c); printf("%s\n",str1);}程序运行后的输出结果是A)ABCDDEFEDBD B)abcDDfefDbD C)abcAAfefAbA D)Abcddfefdbd(26)有如下程序main(){ char ch[2][5]={"6937","8254"},*p[2];int i,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>′\0′;j+=2)s=10*s+p[i][j]-′0′;printf("%d\n",s);}该程序的输出结果是A)69825 B)63825 C)6385 D)(27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是A)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]); (28)以下叙述中错误的是A)在程序中凡是以"#"开始的语句行都是预处理命令行 B)预处理命令行的最后不能以分号表示结束 C)#define MAX 是合法的宏定义命令行 D)C程序对预处理命令行的处理是在程序执行的过程中进行的(29)设有以下说明语句typedef struct{ int n;char ch[8];} PER;则下面叙述中正确的是A)PER 是结构体变量名 B)PER是结构体类型名 C)typedef struct 是结构体类型D)struct 是结构体类型名(30)以下叙述中错误的是A)gets函数用于从终端读入字符串 B)getchar函数用于从磁盘文件读入字符C)fputs函数用于把字符串输出到文件 D)fwrite函数用于以二进制形式输出数据到文件(31)以下能正确定义一维数组的选项是A)int a[5]={0,1,2,3,4,5}; B)char a[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′}; C)char a={′A′,′B′,′C′}; D)int a[5]="0123";(32)有以下程序#include<string.h>main(){ char p[]={′a′, ′b′, ′c′},q[10]={ ′a′, ′b′, ′c′};printf("%d%d\n",strlen(p),strlen(q));}以下叙述中正确的是A) 在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3B) 由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3C) 由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3D) 由于p和q数组中都没有字符串结束符,故长度都不能确定(33)有以下程序#include <stdio.h>#include <string.h>void fun(char *s[],int n){ char *t; int i,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]:s[j];s[j]=t;}}main(){ char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};fun(ss,5); printf("%s,%s\n",ss[0],ss[4]);}程序的运行结果是A)xy,aaaacc B)aaaacc,xy C)bcc,aabcc D)aabcc,bcc(34)有以下程序#include <stdio.h>int f(int x){ int y;if(x==0||x==1) return(3);y=x*x-f(x-2);return y;}main(){ int z;z=f(3); printf("%d\n",z);}程序的运行结果是A)0 B)9 C)6 D)8(35)下面程序段的运行结果是char str[]="ABC",*p=str;printf("%d\n",*(p+3));A)67 B)0 C)字符′C′的地址 D)字符′C′(36)若有以下定义:struct link{ int data;struct link *next;} a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。

计算机等级考试二级C语言试题及答案

计算机等级考试二级C语言试题及答案
{return (*a)++;} main( ) { int s=0;
{ int a=5; s+=f(&a);
}
s+=f(&a); printf(“%d\nC)7 D)8
38、有以下程序 #define f(x) x*x main( ) { int i; i=f(4+4)/f(2+2);
15、 若以下选项中的变量已正确定义,则正确的赋值语句 是
(C) A)x1=26.8%3 B)1+2=x2 C)x3=0x12 D)x4=1+2=3;
//%为模式运算,又称为求余运算,二侧均为整形数据 16、 设有以下定义
int a=0; double b=1.25; char c=’A’; #define d 2 则下面语句中错误的是(D) A)a++; B)b++ C)c++; D)d++;
{ int i,s=0;
for(i=1;i<10;i+=2) s+=i+1;
printf(“%d\n”,s);
} 程序执行后的输出结果是(D)
A)自然数1~9的累加和
B)自然数1~10的累加和
C)自然数1~9中的奇数之和 D)自然数1~10中的偶数 之和
25、有以下程序 main( ) { int i,n=0; for(i=2;i<5;i++) { do { if(i%3) continue; n++; } while(!i); n++; } printf(“n=%d\n”,n); } 程序执行后的输出结果是(D) A)n=5 B)n=2 C)n=3 D) n=4

2013版全国计算机等级考试二级C教程

2013版全国计算机等级考试二级C教程

2013 版全国计算机等级考试二级C教程课后编程题答案3-16#include<stdio.h>main(){double a,b,c,s,v;printf("input a,b,c:");scanf("a=%f b=%f c=%f", &a,&b,&c);s=a*b;v=a*b*c;printf("a=%f,b=%f,c=%f\n",a,b,c);printf("s=%f,v=%f",s,v);return 0;}3-17#include <stdio.h>main(){int a,b,c;printf(" 请输入需要划算成小时和分钟的数值\n");scanf("%d",&a);b=a/60;c=a%60;printf("a=%d 小时 %d 分钟 ",b,c);return 0;}3-18#include <stdio.h>main(){int a,b,c,d;printf(" 请输入两个整数 a 和 b\n");scanf("%d %d",&a,&b);c=a/b;d=a%b;printf("a 和 b 的商和余数分别是 %d %d",c,d); return 0;}3-19#include<stdio.h>main(){double a,b,c,d;printf("please input three numbers\n");scanf("%lf%lf%lf",&a,&b,&c);d=(a+b+c)/3;printf("d=%lf",d);return 0;}3-20#include<stdio.h>main(){printf("please input three numbers"); int a,b,c,t;scanf("%d%d%d",&a,&b,&c);t=c;c=b;b=a;a=t;printf("a=%d,b=%d,c=%d",a,b,c); return 0;}4-21#include<stdio.h>main(){int a;printf(" 请输入 a 的值 a=\n");scanf("%d",&a);switch(a/10){case 0: printf("m=1"); break;case 1: printf("m=1"); break;case 2: printf("m=1"); break;case 3: printf("m=2");break;case 4: printf("m=3");break;case 5: printf("m=4");break;default: printf("m=5");return 0;}}4-22#include<stdio.h>main(){int a,b,c,d,e,f,y,m,t;printf("please input her or his birthday \n"); scanf("%d%d%d",&a,&b,&c);printf(" 请输入现在的日期 \n");scanf("%d%d%d",&d,&e,&f);y=d-a;m=e-b;t=f-c;printf(" 该生的实际年龄是 %d 年%d 月%d 天",y,m,t); return 0;}4-24#include<stdio.h>main(){int a,b,c,max;printf(" 请输入三个整数 \n");scanf("%d%d%d",&a,&b,&c);max=a;if(a<b) max=b;if(max<c) max=c;printf("max=%d",max);return 0;}4-25#include <stdio.h>main(){double x,y;printf(" 请输入 x 的值 \n");scanf("%lf",&x);if(-5<x&&x<0) y=x;if(x==0) y=x-1;if(0<x&&x<10) y=x+1;if(x<-5||x==-5)printf(" 您输入的 x 的值不在查找范围内 "); if(x>10||x==10) printf(" 您输入的 x 的值不在查找范围内 "); printf("y=%lf",y);return 0;5-17#include<stdio.h>main(){int n,i=1,t,sum=0;for(n=1;n<=101;n+=2){t=i*n;sum+=t;i=-i;}printf("sum=%d",sum);return 0;}5-18#include<stdio.h>main(){int t=1,n;float sum=1.0;for(n=1;n<=50;n++){t=t*n;sum+=1/t;}printf("e=%.3f",sum);return 0;}5-19#include<stdio.h>main(){int y,n=0;for(y=2000;y<=3000;y++){if(y%4==0&&y%100!=0||y%400==0) {printf("%d ",y);n++;}if(n%10==0) printf("\n");}printf("n=%d",n);return 0;}5-20#include<stdio.h>main(){int i,j,k,m,n,h;for(i=1;i<=3;i++){for(j=i;j<=3;j++)printf(" ");for(k=0;k<2*i-1;k++)printf("*");printf("\n");}for(m=0;m<4;m++){for(n=0;n<m;n++) printf(" ");for(h=0;h<7-2*m;h++) printf("*");printf("\n");}return 0;}6-19#include<stdio.h>main(){char ch;int n=0;printf(" 请输入一行字符并用回车换行符结束输入\n"); do{ch=getchar();printf("ch=%c ASCII=%d",ch,ch);n++;if(n%3==0) putchar('\n');}while((ch=getchar())!='\n');putchar('\n');return 0;6-20#include<stdio.h>main(){char ch;printf(" 请输入一行字符并用回车换行符结束输入\n"); while((ch=getchar())!='\n'){if(ch!=' ') printf("%c",ch);}putchar('\n');return 0;}6-216-21#include<stdio.h>main(){printf(" 请输入几行数字并用 !来结束 \n");char ch;int n=0;while((ch=getchar())!='!'){if(ch=='\n') n++;}printf(" 输入的行数是 :");printf("%d",n);return 0;}6-22#include<stdio.h>main(){char ch;int n=0;printf(" 请输入一行字符并用回车换行符结束输入 \n"); while((ch=getchar())!='\n'){ if('a'<ch&&ch<'z') n++;}printf("n=%d",n);putchar('\n');return 0;}6-23#include<stdio.h>main(){ int i,j,k; for(i=1;i<=5;i++) {for(j=0;j<=5-i;j++) printf(" "); for(k=0;k<2*i-1;k++) printf("%c",'A'+i-1);putchar('\n');}return 0;}int mymod(int a,int b){int c;c=b%a;return c;}7-15#include<stdio.h>main(){ int a,b,c;printf("please input two numbers\n"); scanf("%d%d",&a,&b);c=mymod(a,b);printf(" 所求余数是 %d",c); return 0;}7-16#include<stdio.h>main(){int m,n;printf(" 请输入 m 的值 \n"); scanf("%d",m);double t=1.0;for(n=2;n<=m;n++)t+=1/(n*n);printf("t=%f",t);return 0;}7-17#include<stdio.h>main(){int m,n;printf(" 请输入 m 的值 \n"); scanf("%d",m);double t=1.0;for(n=2;n<=m;n++)t+=1/(n*n);printf("t=%f",t);return 0;}7-18float f(float x){float s;s=x*x-5*x+4;return s;}#include<stdio.h>main(){float t,y1;printf(" 请输入参数 t 的值 \n"); scanf("%f",&t);y1=f(t);printf("y1=%f",y1);return 0;}8-17voidf( float a, float b, float *p1,float *p2) {*p1=a+b;*p2=a-b;}#include<stdio.h>main(){float x, y ;printf(" 请输入 x 和 y 的值 \n");scanf ("%f%f",x,y);f(x,y,&x,&y);printf("%f%f",x,y);return 0;}8-18void f(int x ,int y ,int z ,int *p1 ,int *p2) {*p1=x;*p2=z;if(*p1>y) *p1=y;if(*p1>z) *p1=z;if(*p2<y) *p2=y;if(*p2<x) *p2=x;}#include<stdio.h>main(){printf(" 请输入 a b c 的值 \n");int a,b,c;scanf("%d%d%d",&a,&b,&c);f(a,b,c,&a,&b);printf(" 三个数中最小的数是 %d 最大的数是 %d",a,b); return 0;}9-27#include<stdio.h>main(){char ch;int num[9]={0},i;printf(" 请输入一行字符以回车来结束输入 \n");while((ch=getchar())!='\n')if('0'<ch&&ch<'9')num[ch-'0']+=1;for(i=0;i<9;i++)printf("%d 字符出现的次数是: %d 次\n",i,num[i]);return 0;}9-28#include<stdio.h>main(){int a[10]={0,1,2,3,4,5,6,7,8,9},i,n;printf(" 请输入需要向前移动的第一个元素的下标n(n>0):\n"); scanf("%d",&n);for(i=n;i<=9;i++)a[i-1]=a[i];for(i=0;i<=8;i++)printf("%d",a[i]);return 0;}9-29#include<stdio.h>#include<stdlib.h>main(){int y[20],h[20],k=0,i,j;printf("y 数组中的值如下 \n");for(i=0;i<20;i++){ y[i]=rand()%99;printf("%d ",y[i]);}for(i=0;i<=10;i++){if(y[i]%2==1){h[k]=y[i];k++;}}printf("y 数组中的奇数如下 \n"); for(j=0;j<k;j++)printf("%d ",h[j]);return 0;}9-30#include<stdio.h>main(){int j,p,k,m;char a[8]={'a','2','c','d','e','f','g','9'},t; for(j=0;j<8;j++){if('A'<=a[j]&&a[j]<='z'){p=j;for(k=j+1;k<7;k++)if('A'<=a[k]&&a[k]<='z')if(a[p]<a[k]) p=k;t=a[j]; a[j]=a[p]; a[p]=t;}}for(m=0;m<=7;m++)printf("%c ",a[m]);return 0;}9-31#include<stdio.h>main(){int i=0,m;char ch,a[11]={0},x;printf(" 请输入 8 个有序的数 \n"); do {ch=getchar();a[i]=ch;i++;}while((ch=getchar())!='\n');printf(" 输入的数分别是: ");for(m=0;m<8;m++)printf(" a[%d]=%c\n ",m,a[m]); putchar('\n');printf(" 请输入需要插入的数 \n"); int j,k,s,l,p;scanf("%c",&x);if(x<a[0]){for(l=10;l>=1;l--)a[l]=a[l-1];a[0]=x;}if(a[0]<x&&x<a[9]){for(j=0;j<=8;j++)if(a[j]<x&&x<a[j+1]){p=j+1;for(k=10;k>j+1;k--)a[k]=a[k-1];}}a[p]=x;if(x>a[9])a[10]=x;for(s=0;s<=8;s++)printf("%c ",a[s]);return 0;}9-32#include<stdio.h>main(){int h,j,i,k,a[15];printf(" 请输入需要转化成 2 进制的 10 进制数 \n"); scanf("%d",&h);do{j=h%2;h=h/2;a[i]=j;i++;}while(h/2==0);for(k=i;k>=0;k--)printf("%d",a[k]);return 0;}9-33#include<stdio.h>#include<stdlib.h>main(){int i=0,n=1,a[15],j,x;x=rand()%20;a[i]=x;for(j=0;n<=14;j++){ x=rand()%20;while(i<n&&x!=a[i])i++;if(i==n){a[n]=x;n++;}i=0;}printf("a 数组中不重复的15 个数是 :");for(j=0;j<=14;j++)printf("%d " ,a[j]);return 0;}9-34#include <stdio.h>#include <stdlib.h>main(){int a[5][5],k=0,c1=0,c2=0,h[5]={0},e[5]={0},o,i,j,l,n,y,z; for(i=0;i<5;i++)for(j=0;j<5;j++){a[i][j]=rand()%30;printf("%d ",a[i][j]);k++;if(k%5==0)printf("\n");}for(z=0;z<=4;z++){c1=c1+a[z][z];c2=c2+a[z][5-z];}printf("c1=%d c2=%d\n",c1,c2); for(l=0;l<5;l++)for(n=0;n<5;n++){h[l]=h[l]+a[l][n];e[l]=e[l]+a[n][l];}for(o=0;o<5;o++)printf("h[%d]=%d ",o,h[o]); printf("\n");for(y=0;y<=4;y++)printf("e[%d]=%d ",y,e[y]); return 0;}9-36include<stdio.h>main(){inta[9][9],k,i,j;printf("* * A MULTIPLICATION TABLE * *\n"); printf(".......................................................\n"); printf("(1)");for(k=2;k<=9;k++)printf("(%d)",k);printf("\n");for(i=0;i<9;i++){printf("(%d)",i+1);for(j=0;j<9;j++){a[i][j]=(i+1)*(j+1);printf("%-4d",a[i][j]);}printf("\n");}printf(".......................................................\n"); return 0;}9-37#include<stdio.h>#include<stdlib.h>main(){int a[5][5],i,j,k,m;for(i=0;i<5;i++){for(j=0;j<5;j++){a[i][j]=rand()%100;printf("%-4d",a[i][j]);}printf("\n\n");}printf(" 转置后的距阵如下 \n"); for(k=0;k<5;k++){ for(m=0;m<5;m++)printf("%-4d",a[m][k]);printf("\n");}return 0;}10-19#include<stdio.h>scomp(char*s1,char*s2){int i;i=0;while(sl[i]==s2[i]&&s1[i]) i++;jreturn (s1[i]-s2[i]);}main(){char str1[]="ABC",str2[10];get(tr2);if(scomp(str1,str2)<0printf("str1>str2\n");else if(scomp (str1,str2)<0)printf("str1<str2\n"); elseprintf("str1=str2\n");}10-20#include<stdio.h>void gettext (char(*)[61],int*);void puttext (char[][61],int);main(){char text[40][61];int n;gettext (text,&n);puttext (text,n);}void gettext (char(*t)[61],int*m){ int n;printf("enter texline,ended to empty line:\n"); n=0;gets(t[n]);while(*t[n]){n++;gets(t[n]);}*m=n;}void puttext (char t[][61],int n){ int i;for(i=0;i<n;i++){ printf("%-2d:",i+1);puts(t[i]);}}10-21#include<stdio.h>#include<string.h>getstr(char p[][80]){char t[80];int n=0;printf("enter string.a empty sring to end\n");gets(t);while(strcmp(t," ")){strcmp(p[n],t);n++;}return n;}char*findmin(char(*a)[80],int n){char*p;int i;p=a[0];for(i=0;i<=n;i++)if(strcmp(p,a[i]))p=a[i];return p;}11-11#include<stdio.h>#include<string.h>main(int argv,char*a[]){char str[]="Ilove you pretty because not olny are you elegent but also you make so success";int i;printf("请输入 outch 或 outch-2 或 outch+6\n");if(*(a[1]+1)==2)for(i=0;i<=1;i++)printf("%c",str[strlen(str)-1-i]);if(*(a[1]+1)==6)for(i=0;i<=5;i++)printf("%c",str[i]);if(argv==1)for(i=0;i<=10;i++)printf("%c",str[i]);return 0;}11-12#include<stdio.h>void f(int n){int d,t;d=n%2;printf("%d",d);t=n/2;if(t>=1) f(t);}main(){int num;printf(" 请输入一个 10 进制的数 \n"); scanf("%d",&num);f(num);return 0;11-13#include<stdio.h>int f(int n){int t=0;if(n!=0) return n+f(n-1);else return 0;}main(){int a,s;printf(" 请输入 a 的值 \n");scanf("%d",&a);printf("%d",f(a));}11-14#include<stdio.h>#define N30struct stud{char num[5],name[10]; int s[4];double ave;};void readrec(struct stud*ps);void write (struct stud*ps);main(){struct stud student[N];readrec(student);write(student);return 0;}void readrec(struct stud*ps){int i,j;for(i=0;i<N;i++){gets(ps[i].num);gets(ps[i].name);ps[i].ave=0;for(j=0;j>4;j++){scanf("%d",&ps[i].s[j]);ps[i].ave+=ps[i].s[j]/4.0;} getchar();}void write (struct stud*ps){int i,j;for(i=0;i<N;i++){printf("%s %s",(ps+i)->num,ps[i].name);for(j=0;j<4;j++) printf("%3d",ps[i].s[j]);printf("%6.1f\n",ps[i].ave);}}14-12#include<stdio.h>#define N30struct stud{char num[5],name[10];int s[4];double ave;};void readrec(struct stud*ps);void write (struct stud*ps);main(){struct stud student[N];readrec(student);write(student);return 0;}void readrec(struct stud*ps){int i,j;for(i=0;i<N;i++){gets(ps[i].num);gets(ps[i].name);ps[i].ave=0;for(j=0;j>4;j++){scanf("%d",&ps[i].s[j]);ps[i].ave+=ps[i].s[j]/4.0;} getchar();}void write (struct stud*ps){int i,j;for(i=0;i<N;i++){printf("%s %s",(ps+i)->num,ps[i].name); for(j=0;j<4;j++) printf("%3d",ps[i].s[j]); printf("%6.1f\n",ps[i].ave);}}14-13#include<stdio.h>#include<stdlib.h>struct student {int date;struct student*next;};typedef struct student SLIST;SLIST * create_slist(){ int c;SLIST*h,*s,*r;h=(SLIST*)malloc(sizeof(SLIST));r=h;printf(" 请输入整形数据并以 -1 来结束 \n"); scanf("%d",&c);while(c!=-1){s=(SLIST*)malloc(sizeof(SLIST)); s->date=c;r->next=s;r=s;scanf("%d",&c);}r->next='\0';return h;}int maxaval(SLIST*head){int m;SLIST *p,*pmax;p=head->next;m=p->date;pmax=p;for(p=p->next;p;p=p->next)if(p->date>m) m=p->date;return m;}SLIST *maxadd(SLIST*head) {int m;SLIST *p,*pmax;p=head->next;m=p->date;pmax=p;for(p=p->next;p;p=p->next) if(p->date>m) pmax=p; return pmax;}main(){SLIST *add;add=create_slist();printf("%d\n", maxaval(add)); printf("%d",maxadd(add));。

计算机等级考试二级C语言应试技巧

计算机等级考试二级C语言应试技巧

计算机等级考试二级C语言应试技巧这是一篇由网络搜集整理的关于计算机等级考试二级C语言应试技巧的文档,希望对你能有帮助。

1、牢固、清晰地掌握基本知识二级C语言考试的重点是基本知识的掌握情况和实际编程应用,但其前提条件是对基本知识点的掌握。

因此,我们正确地理解、熟记基本概念和原理是通过考试的前提条件。

那么我们要如何才能做到这一点呢?我们可以通过以下3方面来实现:① 在考前冲刺阶段要注意“比较总结”学习成果,特别是对一些关系复杂的知识点,通过比较、总结更容易理解、牢记。

“比较总结”是一个好的学习方法,同时也是一个好的增强记忆方法,在C语言中有些问题只有通过综合比较、总结才容易在脑海中留下牢固的印烙;② 理解概念要准确,尤其是一些容易混淆、重要的概念,一定要在考前冲刺阶段准确地掌握它们之间在操作步骤和实现功能上的细微区别,一定不能忽视;③ 通过联想记忆各考点,在C语言中有一部分考点不是孤立的,而是相互联系的',我们要能通过一个考点联想到与他相关的考点、这样就能扩大记忆了。

2、选择的习题要有针对性,切不可进行“题海战术”现在关于二级C语言考试的习题很多,搞题海战术肯定是不行的。

我们应根据考试大纲,在考前冲刺阶段适当地做一些与二级C语言考试题型相同的题,我们可以做些试卷和历年试题(最近2~3年即可)。

研究历年考试题型、分析现在考试形式是通过考试的一个重要法宝,这做可使我们较快地掌握考试题型,从而在最短的时间内达到最大的学习效果。

注意:根据分析这些年来考试的情况,每年都会有少数新的考点出现,所以在研究历年考题时,不要忽视了一些以往没有考过的知识点,应适当理解记忆。

3、上机实践笔试中程序设计类题目学习笔试中程序设计类的题目最佳方法是上机操作,验证自己的解题思路和做题结果。

通过在计算机上验证这类题,可以发现错误和纠正解题思路,加深我们的记忆。

2013年全国计算机二级ACCESS考试大纲及复习方法+历年真题+讲义

2013年全国计算机二级ACCESS考试大纲及复习方法+历年真题+讲义

2012年全国计算机二级ACCESS正确的复习方法其实计算机二级并不难,大多为记忆性的知识,需要灵活运用的很少。

所以,备考二级不宜太早,以考前一个半月开始准备为宜。

所谓万变不离其宗,因此教材应至少通读两遍,把该记住(如变量、函数等)的都记牢,并不断复习巩固。

参考资料则不宜过多过杂,题海战术不是最有效的,可根据考试大纲,对所做题型进行适当分类整理。

比如在二级考笔试中,一般有四大类,每一大类又有若干小类,包括计算机硬件和软件系统的常识,一些基础概念、数制、各种外设的常识、主机常识等,以及计算机最新发展的一些基本常识,如互联网、多媒体等;二是DOS操作系统的知识,如目录、路径,文件等知识;三是某一语种的基本知识,如命令函数的功能和用法;四是该语种的程序阅读和理解,一般是给一段小程序,要求考生理解其意义,或选择或填空。

笔试做笔试题最好在电脑上实验。

如果是程序题,把程序输进电脑进行运行,看得出什么结果。

若是命令和函数,也可在电脑上测试,这样你会发现许多有趣的技巧或别的东西,记忆深刻。

一般说来,笔试部分只需五套模拟试题外加两套历年真题便可搞掂。

但做这些套题时不能走马观花,要反复练习,认真分析,加以总结。

“北大飞腾”的系列参考书非常具有代表性,解题技巧和复习重点一目了然,最重要的是价钱还不贵。

机试机试相对较难,二级没过的人80%栽到机试上。

机试部分除了多练习别无他法。

上机的编程题分数较多,如果只是纸上谈兵,没有实际的编程经验,很难应付考试。

对二级考生,为准备上机编程,应熟练地掌握30~50个左右的程序例子。

上机题一般都有输出结果,而要产生输出结果,必须运行程序,运用程序调试方法。

在运行中调试程序,是一项重要的技能。

“华东理工大学上海捷成系统工程部”的一套软件就很好,如果能做好这套软件里面的三十套全真模拟机试题,考出优秀绝对没有问题(今年所考的机试题竟有90%与那套光盘内容相同)。

考场上考前应提前30分钟到侯考室,并带好准考证和身份证,为避免丢失,最好用一透明塑料袋封装好。

2013年计算机等考二级C++考点归纳:语言概述

2013年计算机等考二级C++考点归纳:语言概述

第1章C++语言概述1.1 C+ +语言的发展C+ +起源于C语言。

1980年贝尔实验室的Bjarne Stroustrup和他的同事们开始对C语言进行改进和扩充,把Simula 67(一种早期的面向对象语言)中类的概念引入到C语言,并将改进后的C语言称为“带类的C”(C with class)。

1983年夏,“带类的C”被正式命名为“C+ +”,并于同年7月首次对外发表。

1.2 C+ +语言的特点1C+ +是一种面向对象的程序设计语言(1)抽象数据类型。

(2)封装和信息隐藏。

(3)以继承和派生方式实现程序的重用。

(4)以运算符重载和虚函数来实现多态性。

(5)以模板来实现类型的参数化。

2C+ +是程序员和软件开发者在实践中创造的C+ +往往从编写实际程序的角度出发,为程序员提供了各种实用、灵活、高效的语言特性。

3C+ +是C语言的超集能够很好地兼容C语言正是C+ +取得成功的原因之一,这是因为:(1)C+ +继承了C语言简明、高效、灵活等众多优点。

(2)以前使用C语言编写的大批软件可以不加任何修改,直接在C+ +开发环境下维护。

(3)C语言程序员只需要学习C+ +扩充的新特性,就可以很快地使用C+ +编写程序。

1.3 面向对象程序设计C+ +是一种面向对象的程序设计语言,它充分支持面向对象思想中的三个主要特征是:1封装性封装性是指将数据和算法捆绑成一个整体,这个整体就是对象,描述对象的数据被封装在其内部。

如果需要存取数据,可以通过对象提供的算法来进行操作,而无需知道对象内部的数据是如何表示和存储的。

这种思想被称为信息隐藏。

2继承性继承性是指一种事物保留了另一种事物的全部特征,并且具有自身的独有特征。

C+ +语言采用继承来支持重用,程序可以在现有类型的基础上扩展功能来定义新类型。

新类型是从现有类型中派生出来的,因此被称为派生类。

3多态性多态性是指当多种事物继承自一种事物时,同一种操作在它们之间表现出不同的行为。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、软件调试的目的是(B) 注:与软件测试要对比着复习
A.发现错误
B.改正错误
C.改善软件的性能
D.挖掘软件的潜能
2、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。

下列图符名标识的图符不属于数据流图合法图符的是(A)
A. 控制流
B. 加工
C. 数据存储
D. 源和潭
3、在一棵二叉树上第5层的结点数最多是(B) 注:由公式2(k-1)得
A. 8
B. 16
C. 32
D. 15
4、数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是(D)
A. 自顶向下
B. 由底向上
C. 由内向外
D. 由整体到局部
5、下列关于栈的叙述中正确的是(D)
A. 在栈中只能插入数据
B. 在栈中只能删除数据
C. 栈是先进先出的线性表
D. 栈是先进后出的线性表
6、下列关于栈的叙述中正确的是(D)
A. 在栈中只能插入数据
B. 在栈中只能删除数据
C. 栈是先进先出的线性表
D. 栈是先进后出的线性表
7、结构化程序设计主要强调的是(B)
A.程序的规模
B.程序的易读性
C.程序的执行效率
D.程序的可移植性
8、算法的时间复杂度是指(C)
A. 执行算法程序所需要的时间
B. 算法程序的长度
C. 算法执行过程中所需要的基本运算次数
D. 算法程序中的指令条数
9、算法的空间复杂度是指(D)
A. 算法程序的长度
B. 算法程序中的指令条数
C. 算法程序所占的存储空间
D. 算法执行过程中所需要的存储空间
10、在下列选项中,哪个不是一个算法一般应该具有的基本特征(C)
A. 确定性
B. 可行性
C. 无穷性
D. 拥有足够的情报
11、在一棵二叉树上第5层的结点数最多是(B) 注:由公式2(k-1)得
A. 8
B. 16
C. 32
D. 15
12、用树形结构来表示实体之间联系的模型称为(B)
A. 关系模型
B. 层次模型
C. 网状模型
D. 数据模型
13、将E-R图转换到关系模式时,实体与联系都可以表示成(B)
A. 属性
B. 关系
C. 键
D. 域
14、下面不属于软件工程的3个要素的是(D)
A. 工具
B. 过程
C. 方法
D. 环境
15、算法的空间复杂度是指(D)
A. 算法程序的长度
B. 算法程序中的指令条数
C. 算法程序所占的存储空间
D. 算法执行过程中所需要的存储空间。

相关文档
最新文档