全国计算机二级C笔试真题0409范文.docx
《全国计算机二级C笔试真题0409范文.docx》由会员分享,可在线阅读,更多相关《全国计算机二级C笔试真题0409范文.docx(106页珍藏版)》请在冰豆网上搜索。
全国计算机二级C笔试真题0409范文
2011年计算机二级C考试大纲
公共基础知识
基本要求
1、掌握算法的基本概念。
2、掌握基本数据结构及其操作。
3、掌握基本排序和查找算法。
4、掌握逐步求精的结构化程序设计方法。
5、掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力。
6、掌握数据的基本知识,了解关系数据的设计。
考试内容
一、基本数据结构与算法
1、算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。
2、数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。
3、线性表的定义;线性表的数序存储结构及其插入与删除运算。
4、栈和列队的定义;栈和队列的数序存储结构及其基本运算。
5、线性单列表、双向链表与循环链表的结构及其基本运算。
6、树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。
7、顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。
二、程序设计基础
1、程序设计方法与风格。
2、结构化程序设计。
3、面向对象的程序设计方法,对象,方法,属性及继承与多态性。
三、软件工程基础。
1、软件工程的基本概念,软件生命周戎概念,软件工具与软件开发环境。
2、结构化分析方法,数据流图,数据字典,软件需求规格说明书。
3、结构化设计方法,总体设计与详细设计。
4、软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。
5、程序的调试,静态调试与动态调试。
四、数据库设计基础
1、数据库的基本概念:
数据库、数据库管理系统、数据库系统。
2、数据模型,试题联系模型及E-R图,从E-R图导出关系数据模型。
3、关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。
4、数据库设计方法和步骤:
需求分析、概念设计、逻辑设计和物理设计的相关策略。
考试方式
1、公共基础的考试方式为笔试,与C语言的笔试部分合为一张试卷。
公共基础部分占全卷的30分。
2、公共基础只是10道选择题和5道填空题。
C语言程序设计
基本要求
1、熟悉TURBOC集成环境。
2、熟悉掌握结构化程序设计的方法,具有良好的程序设计风格。
3、掌握程序设计中的简单的数据结构和算法。
4、TURBOC的集成环境下,能够编写简单的C程序,并具有几百呢的纠错和调试程序能力。
考试内容
一、C语言的结构
1、程序的构成,MAIN函数和其他函数。
2、头文件,数据说明,函数的开始和结束标志。
3、源程序的书写格式。
4、C语言的风格。
二、数据类型及其运算
1、C的数据类型(基本类型,构造类型,指针类型,空类型)及其定义方法。
2、C运算符的种类、运算优先级和结合性。
3、不同类型数据间的转换与运算。
4、C表达式类型(赋值表达式、算术表达式、关系表达式、逻辑表达式、条件表达式、逗号表达式)和求值规则。
三、基本语句、
1、表达式语句,空语句,复合语句。
2、数据的输入和输出,输入输出函数的调用。
3、复合语句。
4、GOTO语句和语句标号的使用。
四、选择结构程序设计
1、用if语句实现选择结构。
2、用switch语句实现错只选择结构。
3、选择结构的奇嵌套。
五、循环结构程序设计
1、for循环结构。
2、while和dowhile循环结构。
3、continue语句和break语句。
4、循环的嵌套。
六、数组的定义和引用
1、一位数组和多维数组的定义、初始化和引用。
2、字符串和自发数组。
七、函数
1、库函数的正确调用。
2、函数的定义方法。
3、函数的类型和返回值。
4、形式参数和实在参数,参数值的传递。
5、函数的正确调用,嵌套调用,递归调用。
6、局部变量和全局变量。
7、变量的存储类别(自动、静态、寄存器、外部),变量的作用域和生存期。
8、内部函数和外部函数。
八、编译预处理
1、宏定义:
不带参数的宏定义;带参数的宏定义。
2、“文件包含”处理。
九、指针
1、指针与指针变量的概念,指针与地质运算符。
2、变量、数组、字符串、函数、结构体的指针以及指向变量、数组、字符串、函数、结构体、的指针变量。
通过指针引用以上类型数据。
3、用指针作函数参数。
4、返回指针值的指针函数。
5、指针数组、指向指针的指针,MAIN函数的命令行参数。
一十、结构体(即“结构”)用共用体(即“联合”)
1、结构体和共用体类型数据定义方法和引用方法。
2、用指针和结构体构成链表,单向链表的建立、输出、删除和插入。
十一、位运算
1、位运算符的含义及使用。
2、简单的位运算。
十二、文件操作
只要求缓冲文件系统(即高级磁盘I/O系统),对非标准缓冲文件系统(即低级磁盘I/O系统)不要求。
1、文件类型指针(FILE类型指针)。
2、文件的打开与关闭(fopen,fclose).
3、文件的读写(fputc,fgetc,fputs,fgets,fread,frwite,fprintf,fsanf函数),文件的定位(rewind,fseek函数)。
考试方式
1、笔试:
120分钟,满分100分,其中含公共基础知识部分30分。
2、上级:
60分钟,满分100分。
2008年4月全国计算机等级考试二级笔试试卷及答案
C语言程序设计
(考试时间90分钟,满分100分)
一、选择题(共70分)
下列各题A),B),C),D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡
相应位置上,答在试卷上不得分。
(1)程序流程图中指有箭头的线段表示的是
A)图元关系B)数据流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)下列关于栈的叙述正确的是
A)栈按“先进先出”组织数据B)栈按“先进后出”组织数据
C)只能在栈底插入数据D)不能删除数据
(8)在数据库设计中,将E-R图转换成关系数据模型的过程属于[C]
A)需求分析阶段B)概念设计阶段
C)逻辑设计阶段D)物理设计阶段
(9)有三个关系R、S和T如下:
T
RS
BCD
a0k1
b1n1
BCD
f3h2
a0k1
n2x1
有关系R和S通过运算得到关系T,则所使用的运算为
A)并B)自然连接C)笛卡尔积D)交
(10)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课
号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为
A)课号,成绩B)学号,成绩
C)学号,课号D)学号,姓名,成绩
(11)以下叙述中正确的是
A)C程序中的注释只能出现在程序的开始位置和语句的后面
B)C程序书写格式严格,要求一行内只能写一个语句
C)C程序书写格式自由,一个语句可以写在多行上
D)用C语言编写的程序只能放在一个程序文件中
(12)以下选项中不合法的标识符是
BCD
a0k1
A)printB)FORC)&aD)_00
(13)以下选项中不属于字符常量的是
A)'C'B)"C"C)'\xCC0'D)'\072'
(14)设变量已正确定义并赋值,以下正确的表达式是
A)x=y*5=x+zB)int(15.8%5)
C)x=y+z+5,++yD)x=25%5.0
(15)以下定义语句中正确的是
A)inta=b=0;B)charA=65+1,b='b';
C)floata=1,*b=&a,*c=&b;D)doublea=0.0,b=1.1;
(16)有以下程序段
charch;intk;
ch='a';k=12;
printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);
已知字符a的ASCll十进制代码为97,则执行上述程序段后输出结果是
A)因变量类型与格式描述符的类型不匹配输出无定值
B)输出项与格式描述符个数不符,输出为零值或不定值
C)a,97,12k=12D)a,97,k=12
(17)已知字母A的ASCⅡ代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为
大写字母的表达式是
A)kk>='A'&&kk<='Z'B)!
(kk>='A'‖kk<='Z')
C)(kk+32)>='a'&&(kk+32)<='z'D)isalpha(kk)&&(kk<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)若变量已正确定义,有以下程序段
inta=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,3C)3,5,5D)3,5,7
(20)有以下程序
#include
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:
a++;break;
case1:
b++;break;
}
case2:
a++;b++;break;
case3:
a++;b++;
}
printf(“a=%d,b=%d\n”,a,b);
}
程序的运行结果是
A)a=1,b=0B)a=2,b=2
C)a=1,b=1D)a=2,b=1
(21)有以下程序
#include
main()
{
intx=8;
for(;x>0;x--)
{if(x%3){printf(“%d,”,x--);continue;}
printf(“%d,”,--x);
}
}
程序的运行结果是
A)7,4,2B)8,7,5,2
C)9,7,6,4D)8,5,4,2
(22)以下不构成无限循环的语句或者语句组是
A)n=0;
B)n=0;
do{++n;}while(n<=0);while
(1){n++;}
C)n=10;
D)for(n=0,i=1;;i++)