全国计算机二级C语言笔试历届真题汇编2006年4月-2010年9月

合集下载

2010年9月计算机二级C语言笔试试题及答案公布范文

2010年9月计算机二级C语言笔试试题及答案公布范文

2010年9月计算机二级C语言笔试试题及答案公布(含解析)一、选择题(1)答案:(C)解析:算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。

所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度一般是指执行这个算法所需要的内存空间。

(2)答案:(B)解析:链式存储结构克服了顺序存储结构的缺点:它的结点空间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,不需要移动数据元素。

故链式存储结构下的线性表便于插入和删除操作。

(3)答案:(B)解析:栈操作原则上“后进先出”,栈底至栈顶依次存放元素A、B、C、D,则表明这4个元素中D是最后进栈,B、C处于中间,A最早进栈。

所以出栈时一定是先出D,再出C,最后出A。

(4)答案:(A)解析:从平均时间性能而言,快速排序最佳,其所需时间最少,但快速排序在最坏情况下的时间性能不如堆排序和归并排序。

当序列中的记录基本有序或元素个数较少时,冒泡排序和简单选择排序为最佳排序方法,故本题答案应该为选项A)。

(5)答案:(D)解析:滥用GOTO 语句将使程序流程无规律,可读性差,因此A)不选;注解行有利于对程序的理解,不应减少或取消,B)也不选;程序的长短要依照实际情况而论,而不是越短越好,C)也不选。

(6)答案:(D)解析:软件工程包括3个要素,即方法、工具和过程。

方法是完成软件工程项目的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。

(7)答案:(A)解析:软件的白盒测试方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。

(8)答案:(C)解析:关系模型较之格式化模型(网状模型和层次模型)有以下方面的优点,即数据结构比较简单、具有很高的数据独立性、可以直接处理多对多的联系,以及有坚实的理论基础。

(9)答案:(C)解析:数据库(DataBase,简称DB)是数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。

国家二级(C语言)机试历年真题试卷汇编1(题后含答案及解析)

国家二级(C语言)机试历年真题试卷汇编1(题后含答案及解析)

国家二级(C语言)机试历年真题试卷汇编1(题后含答案及解析) 题型有:1. 选择题选择题1.下列叙述中正确的是( )。

【10年9月】A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.上述3种说法都不对正确答案:B解析:线性表的存储分为顺序存储和链式存储。

在顺序存储中,所有元素所占的存储空间是连续的,各数据元素在存储空间中是按逻辑顺序依次存放的。

所以每个元素只存储其值就可以了,而在链式存储的方式中,将存储空间的每一个存储结点分为两部分,一部分用于存储数据元素的值,称为数据域;另一部分用于存储下一个元素的存储序号,称为指针域。

所以线性表的链式存储方式比顺序存储方式的存储空间要大一些。

知识模块:公共基础知识2.下列叙述中正确的是( )。

【10年9月】A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.上述3种说法都不对正确答案:C解析:在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。

栈跟队列不同,元素只能在栈顶压入或弹出,栈底指针不变,栈中元素随栈顶指针的变化而动态变化,遵循后进先出的规则。

知识模块:公共基础知识3.软件测试的目的是( )。

【10年9月】A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误正确答案:D解析:软件测试的目的是为了发现程序中的错误,而软件调试是为了更正程序中的错误。

知识模块:公共基础知识4.下面描述中,不属于软件危机表现的是( )。

【10年9月】A.软件过程不规范B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高正确答案:A解析:软件危机主要表现在以下6个方面:①软件需求的增长得不到满足;②软件开发成本和进度无法控制;③软件质量难以保证;④软件不可维护或维护程序非常低;⑤软件的成本不断提高;⑥软件开发生产率的提高赶不上硬件的发展和应用需求的增长。

2006-2011全国计算机等级考试二级C语言笔试答案

2006-2011全国计算机等级考试二级C语言笔试答案

2006年4月全国计算机等级考试二级C语言笔试答案一、选择题((1)~(40)题每题1分,(41)~(50)每题2分,共60分)1-5DADBA 6-10DCDAC 11-15CCADD 16-20DBBCA21-25CA BDD 26-30CDDDB 31-35DBABB36-40CACAC 41-45ACADB 46-50DCDBA二、填空题(每空2分,共40分)(1)【1】45(2)【2】类(3)【3】关系(4)【4】静态分析(5)【5】物理独立性(6)【6】printf("a=%d,b=%d",a,b)(7)【7】a+b>c&&a+c>b&&b+c>a(8)【8】30(9)【9】a*b*c*d*(10)【10】11(11)【11】ahT(12)【12】p+n 或 str+n(13)【13】i<=9 或 i<10 【14】j%3!=0(14)【15】return 0 【16】return 1(15)【17】ch=ch+1 【18】printf("\n")(16)【19】p!=NULL 【20】p->next2006年9月全国计算机等级考试二级C语言笔试答案一、选择题((1)~(40)题每题1分,(41)~(50)题每题2分,共60分)1-5DACBD 6-10CDBBA 11-15AADDD 16-20AABBC21-25DACBC 26-30BBCAC 31-35ACBAD36-40BBADC 41-45CBBCD 46-50BABDC二、填空题(每空2分,共40分)(1)【1】3 (2)【2】程序调试(3)【3】记录(4)【4】栈(5)【5】线性结构(6)【6】123.460000 (7)【7】10 11 (8)【8】1 (9)【9】1 1 (10)【10】n/=10或n=n/10;(11)【11】x+8 【12】sin(x)(12)【13】j+1 【14】i%2或i%2==1(13)【15】s-1 【16】*s++(14)【17】18(15)【18】16 11(16)【19】->next->data 【20】"rb"2007年4月全国计算机等级考试二级C语言笔试答案一、选择题:1-5 BDACD6-10 CACBA11-15CDBCA 16-20 DCAAC 21-25 DCDBA 26-30ADBDA31-35BBDAB 36-40BCBCB 41-45DBDAA 46-50ACBDA二、填空题:1. 63 2,墨盒 3.DBNS 4,开发5,数据字典 6,a-14 7,0 8,无答案9,#与号 10,9 11,1 12,5_4 13,13 0 14,i=115,X[i-1] 16,无答案 17,10 18,40 19,无答案20,"20a"2007年9月全国计算机等级考试二级C语言笔试答案一、选择题1~10 DBCAD CCABD 11~20 BABCC DABBB 21~30 BCBBD CCDAA 31~40 BDCDC CDDDD 41~50 AABAD CDDCD二、选择题1.无歧义性2.白盒3.顺序4.ACBDFEHGP5.实体6.12 347.a:b c:t1 8.54321 9.k<=n k++ 10.ACE 11.efgh12.x[0] x[0] 13.c=getchar() 1 14.3 7 15 15.55 16.p->next2008年4月全国计算机等级考试二级C语言笔试答案一、选择题1-5CABBA 6-10DBCD 11-15CCBCB 16-20DBBBD 21-25DADCA26-30DDCAB 31-35CCACC 36-40ABAAB二、填空题(1)【1】输出 (2)【2】16(3)【3】24 (4)【4】关系(5)【5】数据定义语言 (6)【6】0(7)【7】3 (8)【8】##2##4(9)【9】2 【10】2 4 6 8 (10)【11】35(11)【l2】4 (12)【13】l3(I 3)【14】 person[i].sex (14)【1 5】"filea.dat","r"2008年9月全国计算机等级考试二级C语言笔试答案一、选择题1~10 BDCAD BABCD 11~20 CDACD ADCBA21~30 CABAB CDDAB 31~40 CACDB CDDCB二、选择题1.DBXEAYFZC2.单元3.过程4.逻辑设计5.分量6.a=a-(a+b)7.a=%d\nb=%d 8.1 9.9911 10.3 11.5 12.i-- 13.n14.func() 15.m++2009年3月全国计算机等级考试二级C语言笔试答案一选择题:1-5 DACDC 6-10 ABABC 11-15CBDDA 16-20 CDBCB21-25CDABA 26-30 BACBC 31-35ADBCC 36-40 CBDAC二填空题:(1)19 (2)白盒(3)顺序结构(4)数据库管理系统(DBMS)(5)菱形(6)4 (7)"x/y=%d" (8)能( 9)s=0(10)1AbCeDf2Df (11)7777654321 (12)max(int a,int b) (13)NULL (14)1001,ChangRong,1098.0 (15)p=p—>next2009年9月全国计算机等级考试二级C语言笔试答案一。

2006年9月全国计算机等级考试二级c语言上机题汇编

2006年9月全国计算机等级考试二级c语言上机题汇编

2006年9月全国计算机等级考试二级c语言上机题汇编1、编一个函数fun(char *s),函数的功能是把字符串中的内容逆置。

例子如:字符串中原有的内容为:abcdefg,则调用该函数后,串中的内容为:g fedcba。

试题程序:#include <string.h>#include <conio.h>#include <stdio.h>#define N 81/*注:该题的算法是先分别找出字符串的两头,然后同时逐一往中间移动,每移动一次都进行两字符的位置对换,直到中间字符(用s+i<s+n-1-i来控制)。

由于s+i 中一个地址,因此要注意把它的内容取出再进行换位。

即先进行取内容运算*) */ fun(char *s){ int i=0,t,n=strlen(s);for(;s+i<s+n-1-i;i++){t=*(s+i);*(s+i)=*(s+n-1-i);*(s+n-1-i)=t;}}main(){ char a[N];clrscr();printf("Enter a string:"); gets(a);printf("The original string is:");puts(a);fun(a);printf("\n");printf("The string after modified:");puts(a);}2、写程序,实现矩阵(3行3列)的转置(即行列互换)。

例如,输入一面的矩阵:程序输出:试题程序:#include <stdio.h>/*这题的关键在于进行行列下标转换的算法,由矩阵的对称性我们不难看出在进行行列互换时a[j]在好是与a[j][i]互换,因而只要我位让程序走完矩阵的左上角即可(用for(i=0;i<2;i++)再套for(j=i+1;j<3;j++)来完成左上角的走动。

2006年9月国家二级(C语言)笔试真题试卷(题后含答案及解析)

2006年9月国家二级(C语言)笔试真题试卷(题后含答案及解析)

2006年9月国家二级(C语言)笔试真题试卷(题后含答案及解析) 题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

1.下列选项中不符合良好程序设计风格的是______。

A.源程序要文档化B.数据说明的次序要规范化C.避免滥用goto语句D.模块设计要保证高耦合、高内聚正确答案:D解析:良好的程序设计风格可以使程序结构清晰合理,使程序代码便于维护,因此,程序设计风格对保证程序的质量很重要。

主要应注意和考虑下述—些因素:1、源程序要文挡化;2、数据说明的次序要规范化;3、语句的结构应该简单直接,不应该为提高效率而把语句复杂化,避免滥用goto语句。

模块设计要保证低耦合、高内聚。

2.从工程管理角度,软件设计—般分为两步完成,它们是______。

A.概要设计与详细设计B.过程控制C.软件结构设计与数据设计D.程序设计与数据设计正确答案:A解析:从工程管理角度看,软件设计分为两步完成:概要设计与详细设计。

概要设计(义称结构设计)将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式;详细设计确立每个模块的实现算法和局部数据结构,用适当方法表示算法和数据结构的细节。

3.下列选项中不属于软件生命周期开发阶段任务的是______。

A.软件测试B.概要设计C.软件维护D.详细设计正确答案:C解析:软件生命周期分为软件定义、软件开发及软件维护。

其中软件开发阶段的任务中软件设计阶段可分解成概要设计阶段和详细设计骱段;软件维护不属于软件开发阶段。

4.在数据库系统中,用户所见数据模式为______。

A.概念模式B.外模式C.内横式D.物理模式正确答案:B解析:数据库管理系统的三级模式结构由外模式、模式和内模式组成。

夕模式,或子模式,或用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图。

二级C语言真题2010年09月及答案

二级C语言真题2010年09月及答案

2010年9月全国计算机等级考试二级笔试试卷C语言程序设计一、选择题下列各题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) 面向对象方法中,继承是指( )。

A) 一组对象所具有的相似性质 B) 一个对象具有另一个对象的性质 C) 各对象之间的共同性质 D) 类之间共享属性和操作的机制(7) 层次型、网状型和关系型数据库划分原则是( )。

A) 记录长度 B) 文件的大小 C) 联系的复杂程度 D) 数据之间的联系方式(8) 一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是( )。

A) 一对一 B) 一对多 C) 多对多 D) 多对一(9) 数据库设计中反映用户对数据要求的模式是( )。

A) 内模式 B) 概念模式 C) 外模式 D) 设计模式(10) 有三个关系R、S和T如下:则由关系R和S得到关系T的操作是( )。

2006年4月计算机等级考试二级 C++笔试真题及答案

2006年4月计算机等级考试二级 C++笔试真题及答案

2006年4月全国计算机等级考试二级C++试卷公共基础知识一、选择题(1)下列关于栈的叙述正确的是A)栈是非线性结构B)栈是一种树状结构C)栈具有先进先出的特征D)栈具有后进先出的特征(2)结构化程序设计所规定的三种基本控制结构是A)输入、处理、输出B)树形、网形、环形C)顺序、选择、循环D)主程序、子程序、函数(3)结构化程序设计的一种基本方法是A)筛选法B)递归法C)归纳法D)逐步求精法(4)如果对一个关系实施了一种关系运算后得到了一个新的关系,而且新的关系中属性个数少于原来关系中属性个数,这说明所实施的运算关系是:A)选择B)投影C)连接D)并二、填空题1.对于输入为N个数进行快速排序算法的平均时间复杂度是()2.在面向对象方法学中,直接反映了用户对目标系统的要求的模型是()3.软件测试方法中,黑盒测试个白盒测试法是常用的方法,其中黑盒测试法主要是用于测试()4.关系型数据库管理系统中存储与管理数据的基本形式是()C++语言程序设计一、选择题(1)C++语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是()A)面向过程B)面向对象C)安全性D)复用性(2)C++语言的跳转语句中,对于break和continue说法正确的是()A)break语句只应用与循环体中B)continue语句只应用与循环体中C)break是无条件跳转语句,continue不是D)break和continue的跳转范围不够明确,容易产生问题(3)for(int x=0,y=o;!x& &y<=5;y++)语句执行循环的次数是()A)0B)5C)6D)无次数(4)考虑函数原型void test(int a,intb=7,char="*"),下面的函数调用中,属于不合法调用的是()A)test(5); B)test(5,8); C)test(6,"#") D)test(0,0."*");(5)下面有关重载函数的说法中正确的是()A)重载函数必须具有不同的返回值类型;B)重载函数形参个数必须不同;C)重载函数必须有不同的形参列表D)重载函数名可以不同;(6)下列关于构造函数的描述中,错误的是()A)构造函数可以设置默认参数;B)构造函数在定义类对象时自动执行C)构造函数可以是内联函数;D)构造函数不可以重载(7)下面描述中,表达错误的是()A)公有继承时基类中的public成员在派生类中仍是public的B)公有继承是基类中的private成员在派生类中仍是private的C)公有继承时基类中的protected成员在派生类中仍是protected的D)私有继承时基类中的public成员在派生类中是private的(8)应在下列程序划线处填入的正确语句是()#includeclass Base{ public:void fun(){cout<<"Base::fun"<<ENDL;}};class Derived:public Base{ void fun(){_____________ //显示调用基类的函数fun()cout<<"Derived::fun"<<ENDL;}};A)fun(); B)Base.fun(); C)Base::fun(); D) Base->fun();(9)有如下程序:#includeclass BASE{char c;public:BASE(char n):c(n){}virtual~BASE(){cout<<C;}};class DERIVED:public BASE{char c;public:DERIVED(char n):BASE(n+1),c(n){}~DERIVED(){cout<<C;}};int main(){ DERIVED("X");return 0;}执行上面的程序将输出()A)XY B)YX C)X D)Y(10)在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是()A)fail B)eof C)bad D)good二、填空题(1)下面程序的打印结果是[1]#incudeint f(int);int main(){ int i;for(i=0;i<5;i++)cout<<F(I)<<"";return0;}int f(int i){ static int k=1;for(;i>0;i- -)k + = i;return k;}(2)在用class定义一个类时,数据成员和成员函数的默认访问权限是[2](3)含有纯虚函数的类称为[3](4)已知intDBL(int n){return n + n;}和longDBL(long n){return n+n;}是一个函数模板的两个实例,则该函数模板的定义是[4](5)在下面程序的横线处填上适当的语句,使该程序执行结果为10.#includeclass MyClass{ public:MyClass(int a){x = a;}[5] //取x值privateint x;};int main(){ MyClass my(10);cout<<MY.GETNUM()<<ENDL;return 0;}三、上机操作题(改错题1道,简单应用1道,综合应用1道)1.使用VC6打开考生文件夹下的工程proj1,此工程包含一个源程序文件main.cpp,但该程序运行有问题,请改正main函数中的错误,使程序的输出结果为:member=0member=5menber=10源程序文件main.cpp清单如下:#includeclass MyClass{public:MyClass(int i){member=i;}void SetMember(int m){member=m;}int GetMember()const{return menber;}void print()cont{cout<<"member="<<MEMBER><<ENDL;}private:int member;};voed main(){/* * * ** * * * * * found * * * * * * * * * */MyClass obj1;obj1.print();MyClass obj2(3);/* * * * * * * * * * found * * * * * * * * * */obj1.member=5;/* * * * * * * * * * found * * * * * * * * * */MyClass.SetMember(10);obj1.print();obj2.print();}2.请编写一个函数int find(char s[],chart[]),该函数在字符串s中查找字符串t,如果找到,则返回字符串t在字符串s中的位置(整数值);否则返回-1.注意:用数组方式及两重循环来实现该函数.注意:部分源文件程序已存在文件PROC2,CPP中.请勿修改主函数main和其他函数中的任何内容,仅在函数find的花括号中填写若干语句.文件PROC2.CPP的内容如下:#in c ludeint find(char s[],char t[]);const int MAXLINE =256;int main(){ char source[MAXLINE],rarget[MAXLINE];;cout <<"Please input a string for searching: ";cin.getline(source,MAXLINE);cout<<"Please input a string you want to find: ";cin.getline(target,MAXLINE);int intpos = find(source,target);if(intpos>=0cout<<"Finding it.The target string is at index"<<INTPOS><<"OF string ?;elsecout<<"Not finding it. ";return 0;}int find(char s[],char t[]){}3.使用VC6打开考生文件夹下的工程proj3.此工程包含一个源程序文件main.cpp.其中定义了用于表示日期的类Date,但类Date的定义并不完整.请按要求完成下列操作,将类Date的定义补充完整:(1)定义私有数据成员year,month和day分别用于表示年,月,日,它们都是int型的数据.请在注释"// * * 2* *"之后添加适当的语句.(2)完成默认构造函数Date的定义,使Date对象的默认值为:year=1,month=1,day=1,请在注释"// ** 2 * *"之后添加适当的语句.(3)完成重载构造函数Date(int y,int m,intd)的定义,把数据成员year,month和day分别初始化为参数y,m,d的值,请在注释"//* * 3**"之后添加适当的语句.(4)完成成员函数print的类外定义,使其以"年-月-日"的格式将Date对象的值输出到屏幕上.请在注释"//* * 4* *"之后添加适当的语句.注意:除在指定位置添加语句之外,请不要改动程序中的其他内源程序文件main.cpp清单如下://main.cpp#includeclass Date{public://* * 2 * *Date(int y,int m,int d){//* * 3 * *}void print() const;private:// date members//* * 1 * *};void Date::print()const{//* * 4 * *}int main();{Date national_day(1949,10,1); national_day.print();return 0;}参考答案:一、选择题1-10 DADBA DDDAC11-20 CABAA CAACB 21-30 DCBAC ADACD 31-35 ABDBB。

全国计算机二级c语言2010-2006年历年真题

全国计算机二级c语言2010-2006年历年真题
} 程序运行后的输出结果是 A)m=6 B)m=2 C)m=4 D)m=5 21) (21)有以下程序 #include main() {int a=1,b=2; for(;a<8;a++) { b+=a;a+=2;} printf(“%d,%d\n”,a,b); } 程序运行后的输出结果是 A)9,18 B)8,11 C)7,11 D)10,14 22)有以下程序,其中k (22)有以下程序,其中k的初值为八进制数 #include main() {int k=011; printf(“%d\n”,k++); } 程序运行后的输出结果是 A)12 B)11 C)10 D)9 23)下列语句组中, (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 return语句的叙述中正确的是 (24)以下关于return语句的叙述中正确的是 A)一个自定义函数中必须有一条return语句 B)一个自定义函数中可以根据不同情况设置多条return语句 C)定义成void类型的函数中可以有带返回值的return语句 D)没有return语句的自定义函数在执行结束时不能返同到调用处 (25)下列选项中,能正确定义数组的语句是 25) 25 下列选项中, A)int num[0..2008]; B)int num[]; C)int N=2008 ; D)#define N 2008 int num[N]; int num[N]; 26) (26)有以下程序 #include void 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(“%c,%c\n”,b,a); } 程序运行后的输出结果是 A)b,B,b,A B)b,B,B,A -4-
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2010年9月全国计算机二级C语言笔试试题一、选择题(每小题2分,共70分)(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)面向对象方法中,继承是指A)一组对象所具有的相似性质B)一个对象具有另一个对象的性质C)各对象之间的共同性质D)类之间共享属性和操作的机制(7)层次型、网状型和关系型数据库划分原则是A)记录长度B)文件的大小C)联系的复杂程度D)数据之间的联系方式(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是A)一对一B)一对多C)多对多D)多对一(9)数据库设计中反映用户对数据要求的模式是A)内模式B)概念模式C)外模式D)设计模式(10)有三个关系R、S 和T 如下:则由关系R和S 得到关系T 的操作是A)自然连接B)交C)投影D)并(11)以下关于结构化程序设计的叙述中正确的是A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用goto语句会很便捷C)在C 语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题(12)以下关于简单程序设计的步骤和顺序的说法中正确的是A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构(13)以下叙述中错误的是A)C程序在运行过程中所有计算都以二进制方式进行B)C程序在运行过程中所有计算都以十进制方式进行C)所有C程序都需要编译链接无误后才能运行D)C程序中整型变量只能存放整数,实型变量只能存放浮点数(14)有以下定义:int a;long b;doublex,y;则以下选项中正确的表达式是A)a%(int)(x-y)B)a=x!=y;C)(a*y)%bD)y=x+y=x(15)以下选项中能表示合法常量的是A)整数:1,200B)实数:1.5E2.0C )字符斜杠:‘\’D)字符串:"\007"(16)表达式a+=a-=a=9的值是A)9 B)_9C)18 D)0(17)若变量已正确定义,在if (W)printf(“%d\n,k”);中,以下不可替代W的是A)a<>b+c B)ch=getchar()C)a==b+c D)a++(18)有以下程序#include<stdio.h>main(){int a=1,b=0;if(!a)b++;else if(a==0)if(a)b+=2;else b+=3;printf(”%d\n”,b);}程序运行后的输出结果是A)0 B)1C)2 D)3(19)若有定义语句int a, b;double x;则下列选项中没有错误的是A)switch(x%2)B)switch((int)x/2.0{case 0: a++; break; {case 0: a++; break;case 1: b++; break; case 1: b++; break;default : a++; b++; default : a++; b++;} }C)switch((int)x%2)D)switch((int)(x)%2){case 0: a++; break; {case 0.0: a++; break;case 1: b++; break; case 1.0: b++; break;default : a++; b++; default : a++; b++;} }(20)有以下程序#include <stdio.h>main(){int a=1,b=2;while(a<6){b+=a;a+=2;b%二10;}printf(”%d,%d\n”,a,b);}程序运行后的输出结果是A)5,11 B)7,1C)7,11 D)6,1(21)有以下程序#include<stdio.h>main(){int y=10;while(y--);printf(”Y=%d\n”,Y);}程序执行后的输出结果是A)y=0 B)y= -1C)y=1 D)while 构成无限循环(22)有以下程序#include<stdio .h>main(){char s[」=”rstuv";printf(”%c\n”,*s+2);}程序运行后的输出结果是A)tuv B)字符t的ASCII 码值C)t D)出错(23)有以下程序#include<stdio.h>#include<string.h>main(){char x[]=”STRING”;x[0」=0;x[1]=’\0’;x[2」=’0’;printf(”%d %d\n”,sizeof(x),strlen (x));}程序运行后的输出结果是A)6 1 B)7 0C)6 3 D)7 1(24)有以下程序#include<stdio.h>Int f(int x);main(){int n=1,m;m=f(f(f(n)));printf(”%d\n”,m); }int f(int x){return x*2;}程序运行后的输出结果是A)1 B)2C)4 D)8(25)以下程序段完全正确的是A)int *p; scanf("%d",&p);B)int *p; scanf(“%d”,p);C)int k, *p=&k; scanf("%d",p);D)int k, *p:; *p= &k; scanf(“%d”,p);(26)有定义语句:int *p[4];以下选项中与此语句等价的是A)int p[4]; B)int **p;C)int *(p「4」); D)int (*p)「4」;(27)下列定义数组的语句中,正确的是A)int N=10;B)#define N 10int x[N]; int x[N];C)int x[0..10];D)int x[];(28)若要定义一个具有5个元素的整型数组,以下错误的定义语句是A)int a[5]=﹛0﹜;B)int b[]={0,0,0,0,0};C)int c[2+3];D)int i=5,d[i];(29)有以下程序#include<stdio.h>void f(int *p);main(){int a[5]={1,2,3,4,5},*r=a;f(r);printf(”%d\n”;*r);}void f(int *p){p=p+3;printf(”%d,”,*p);}程序运行后的输出结果是A)1,4 B)4,4C)3,1 D)4,1(30)有以下程序(函数fun只对下标为偶数的元素进行操作)# include<stdio.h>void fun(int*a;int n){int i、j、k、t;for (i=0;i<n 一1;1+=2){k=i;‘for(j=i;j<n;j+=2)if(a[j]>a〔k])k=j;t=a〔i];a〔i]=a[k];a〔k]=t;}}main(){int aa「10」={1、2、3、4、5、6、7},i;fun(aa、7);for(i=0,i<7; i++)printf(”%d,”,aa[i]));printf(”\n”);}程序运行后的输出结果是A)7,2,5,4,3,6,1B)1,6,3,4,5,2,7C)7,6,5,4,3,2,1D)1,7,3,5,6;2,1(31)下列选项中,能够满足“若字符串s1 等于字符串s2,则执行ST"要求的是A)if(strcmp(s2,s1)==0)ST;B)if(sl==s2)ST;C)if(strcpy(s l ,s2)==1)ST;D)if(sl-s2==0)ST;(32)以下不能将s所指字符串正确复制到t 所指存储空间的是A)while(*t=*s){t++;s++;}B)for(i=0;t[i]=s[i];i++);C)do{*t++=*s++;}while(*s);D)for(i=0,j=0;t[i++]=s[j++];);(33)有以下程序(strcat 函数用以连接两个字符串)#include<stdio.h>#include<string .h>main(){char a[20]=”ABCD\OEFG\0”,b[]=”IJK”;strcat(a,b);printf(”%s\n”,a);}程序运行后的输出结果是A)ABCDE\OFG\OIJKB)ABCDIJKC)IJKD)EFGIJK(34)有以下程序,程序中库函数islower(ch)用以判断ch中的字母是否为小写字母#include<stdio.h>#include<ctype.h>void fun(char*p){int i=0;while (p[i]){if(p[i]==’’&&islower(p「i-1」))p[i-1]=p[i-1]-‘a’+‘A’;i++;}}main(){char s1[100]=”ab cd EFG!”;fun(s1);printf(”%s\n”,s1);}程序运行后的输出结果是A)ab cd EFG!B)Ab Cd EFg!C)aB cD EFG!D)ab cd EFg!(35)有以下程序#include<stdio.h>void fun(int x){if(x/2>1)fun(x/2);printf(”%d”,x);}main(){fun(7);printf(”\n”);}程序运行后的输出结果是A)1 3 7 B)7 3 1C)7 3 D)3 7(36)有以下程序#include<stdio.h>int fun(){static int x=1;x+=1;return x;}main(){int i;s=1;for(i=1;i<=5;i++)s+=fun();printf(”%d\n”,s);}程序运行后的输出结果是A)11 B)21C)6 D)120(37)有以下程序#inctude<stdio.h>#include<stdlib.h>Main(){int *a,*b,*c;a=b=c=(int*)malloc(sizeof(int));*a=1;*b=2,*c=3;a=b;printf(“%d,%d,%d\n”,*a,*b,*c);}程序运行后的输出结果是A)3,3,3 B)2,2,3C)1,2,3 D)1,1,3(38)有以下程序#include<stdio.h>main(){int s,t,A=10;double B=6;s=sizeof(A);t=sizeof(B);printf(“%d,%d\n”,s,t);}在VC6 平台上编译运行,程序运行后的输出结果是A)2,4 B)4,4 C)4,8 D)10,6(39)若有以下语句Typedef struct S{int g; char h;}T;以下叙述中正确的是A)可用S 定义结构体变量B)可用T定义结构体变量C)S是struct 类型的变量D)T是struct S 类型的变量(40)有以下程序#include<stdio.h>main(){short c=124;c=c_______;printf(“%d\n”、C);}若要使程序的运行结果为248,应在下划线处填入的是A)>>2 B)|248 C)&0248 D)<<I二、填空题(每空2分,共30分)(1)一个栈的初始状态为空。

相关文档
最新文档