2010年9月全国计算机二级C++机试试题及答案

合集下载

2010年9月全国计算机等级考试二级C语言真题及答案

2010年9月全国计算机等级考试二级C语言真题及答案

2010 年9 月全国计算机等级考试二级笔试试卷C 语言程序设计(附答案)(考试时间90 分钟,满分100 分)一、选择题((1)—(10)、(21)—(40)每题2 分,(11)—(20)每题1 分,共70 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项填涂在答题卡相应位置上,答在试卷上不得分。

(1)下列叙述中正确的是A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)上述三种说法都不对(2)下列叙述中正确的是A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D)上述三种说法都不对(3)软件测试的目的是A)评估软件可靠性B)发现并改正程序中的错误C)改正程序中的错误D)发现程序中的错误(4)下面描述中,不属于软件危机表现的是A)软件过程不规范B)软件开发生产率低C)软件质量难以控制C)软件成本不断提高(5)软件生命周期是指A)软件产品从提出、实现、使用维护到停止使用退役的过程B)软件从需求分析、设计、实现到测试完成的过程C)软件的开发过程D)软件的运行维护过程(6)面向对象方法中,继承是指A)一组对象所具有的相似性质B)一个对象具有另一个对象的性质C)各对象之间的共同性质D)类之间共享属性和操作的机制(7)层次型、网状型和关系型数据库划分原则是A)记录长度B)文件的大小B)联系的复杂程度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;double x,y;则以下选项中正确的表达式是A)a%(int)(x—y)B)a=x!=y; C)(a*y)%b D)y=x+y=x(15)以下选项中能表示合法常量的是A)整数:1,200 B)实数:1。

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语言机试真题2010年9月

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

全国计算机等级考试二级C语言机试真题2010年9月(总分:100.00,做题时间:90分钟)一、程序填空题(总题数:1,分数:30.00)1.请补充fun函数,该函数的功能是:判断一个年份是否为闰年。

例如,1900年不是闰年,2004是闰年。

[注意] 部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。

[试题源程序]#include<stdio.h>#include<conio.h>int fun(int n)int fiag=0;if(n%4==0)if( (1) )fiag=1;if( (2) )flag=1;return (3) ;void main()int year;clrscr();printf("Input the year:");scanf("%d", &year);if(fun(year))printf("%d is a leap year./n", year);elseprintf("%d is not a leap year./n", year);(分数:30.00)填空项1:__________________ (正确答案:[1] n%100 !=0[2] n%400==0[3] flag)解析:[解析] 题的关键是要知道闰年的定义,如果年份能被4整除但不能被100整除,或者能被400整除,这两种情况满足之一都是闰年。

填空1:显然此处属于第一种情况,能被4整除但不能被100整除。

所以这里应该填n%100!=0,只有满足这个条件,flag才能被赋值1。

填空2:此处属于第二种情况,能被400整除,所以应该填n%400==0。

填空3:从程序中可以知道,当满足以上两种情况之一时,flag就被赋值1,显然flag属于标志单元。

再看主函数中对fun()函数的调用,显然需要返回的值不是真就是假,即函数fun()中标志单元flag的内容。

2010年9月全国计算机等级考试二级C语言考试大纲、真题与答案

2010年9月全国计算机等级考试二级C语言考试大纲、真题与答案

2021年9月全国计算机二级C语言笔试试题一、选择题〔每题2分,共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〕面向对象方法中,继承是指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; double x,y;则以下选项中正确的表达式是A〕a%〔int〕〔x-y〕B〕a=x!=y;C〕〔a*y〕%bD〕y=x+y=x〔15〕以下选项中能表示合法常量的是A〕整数:1,200C 〕字符斜杠:‘\’ 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;则以下选项中没有错误的选项是{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,11B〕7,1C〕7,11D〕6,1〔21〕有以下程序#include<stdio.h>main〔〕{int y=10;while〔y--〕;printf〔〞Y=%d\n〞,Y〕;}程序执行后的输出结果是A〕y=0B〕y= -1C〕y=1D〕while构成无限循环〔22〕有以下程序#include<stdio .h>main〔〕{char s[」=〞rstuv";printf〔〞%c\n〞,*s+2〕;}程序运行后的输出结果是A〕tuvB〕字符t的ASCII码值C〕tD〕出错〔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 1B〕7 0C〕6 3D〕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〕1B〕2C〕4D〕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,4B〕4,4C〕3,1D〕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 7B〕7 3 1C〕7 3D〕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〕11B〕21C〕6D〕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,3 C〕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】至【15】序号的横线上,答在试卷上不得分。

2010年9月全国计算机等级考试二级笔试试卷

2010年9月全国计算机等级考试二级笔试试卷

2010年9月计算机二级Access考试笔试试题一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。

请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

(1)下列叙述中正确的是A) 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B) 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C) 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D) 上述三种说法都不对答案:B分析:线性表的链式存储结构除了要存储数据外还要存储指针,所以线性表的链式存储鸨结构所需要的存储空间一般要多于顺序存储结构。

(2)下列叙述中正确的是A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D)上述三种说法都不对答案:C分析:栈是限定在一端进行插入和删除操作的线性表。

允许插入和删除的一端叫栈顶,另一端叫做栈底,因此栈中元素随着栈顶指针的变化而动态变化而栈底指针不变(3)软件测试的目的是A)评估软件可靠性 B)发现并改正程序中的错误C)改正程序中的错误D) 发现程序中的错误答案:D分析:软件测试的目的是尽可能多的发现程序中的错误,而不是为了单纯的改正程序中的错误。

(4)下面描述中,不属于软件危机表现的是A)软件过程不规范B)软件开发生产率低C)软件质量难以控制D)软件成本不断提高答案:A分析:软件危机表现在以下几个方面:1、经费预算经常突破完成时间一再拖延2、开发的软件不能满足用户要求3、开发的软件可维护性差4、开发的软件可靠性差5、软件开发费用不断增加6、软件开发生产效率低下(5)软件生命周期是指A)软件产品从提出、实现、使用维护到停止使用退役的过程B)软件从需求分析、设计、实现到测试完成的过程C)软件的开发过程D)软件的运行维护过程答案:A分析:软件生命周期是指从软件定义、开发、使用、维护到报废为止的整个过程,一般包括问题定义、可行性分析、总体设计,详细设计,编码、测试和维护等。

历年计算机二级c语言考试真题以及答案详解

历年计算机二级c语言考试真题以及答案详解

2010年9月全国计算机二级C语言笔试试题(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;double x,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)9B)_9C)18D)0(17)若变量已正确定义,在if (W)printf (“%d\n,k”);中,以下不可替代W的是A)a<>b+cB)ch=getchar()C)a==b+cD)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)0B)1C)2D)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,11B)7,1C)7,11D)6,1(21)有以下程序#include<stdio.h>main(){int y=10;while(y--);printf(”Y=%d\n”,Y);}程序执行后的输出结果是A)y=0B)y= -1C)y=1D)while构成无限循环(22)有以下程序#include<stdio .h>main(){char s[」=”rstuv";printf(”%c\n”,*s+2);}程序运行后的输出结果是A)tuvB)字符t的ASCII码值C)tD)出错(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 1B)7 0C)6 3D)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)1B)2C)4D)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]; i nt 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,4B)4,4C)3,1D)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 7B)7 3 1C)7 3D)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)11B)21C)6D)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,3 C)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】至【15】序号的横线上,答在试卷上不得分。

201009计算机二级C语言笔试真题文字_超详细答案解析

201009计算机二级C语言笔试真题文字_超详细答案解析

201009二级c真题一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)下列叙述中正确的是A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)上述三种说法都不对(1)B线性表的顺序存储结构是把线性表中相邻的元素存放在相邻的内存单元中,而链式存储结构是用一组任意存储单元来存放表中的数据元素,为了表示出每个元素与其直接后继元素之间的关系,除了存储元素本身的信息外,还需存储一个指示其直接后继的存储位置信息。

故线性表的链式存储结构所需的存储空间一般要多于顺序存储结构,答案为B)。

(2)下列叙述中正确的是A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D)上述三种说法都不对(2)C栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。

当有新元素进栈时,栈顶指针向上移动;当有元素出栈时,栈顶指针向下移动。

在栈中栈底指针不变,栈中元素随栈顶指针的变化而动态变化,故答案为C)。

(3)软件测试的目的是A)评估软件可靠性B)发现并改正程序中的错误C)改正程序中的错误D)发现程序中的错误(3)D软件测试的目的是为了发现程序中的错误而运行程序。

(4)下面描述中,不属于软件危机表现的是A)软件过程不规范B)软件开发生产率低C)软件质量难以控制D)软件成本不断提高4)A软件危机是计算机软件在它的开发和维护过程中所遇到的一系列严重问题。

主要表现在以下几个方面:软件需求的增长得不到满足;软件开发成本和进度无法控制;软件质量难以保证;软件可维护性差;软件的成本不断提高;软件开发生产率的提高赶不上硬件的发展和应用需求的增长。

9月全国计算机等级考试二级c语言笔试试题及答案范文资料讲解

9月全国计算机等级考试二级c语言笔试试题及答案范文资料讲解

2010年9月全国计算机等级考试二级C语言笔试试题班级:姓名:一、选择题(每小题2分,共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)面向对象方法中,继承是指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;double x,y;则以下选项中正确的表达式是A)a%(int)(x-y)B)a=x!=y;C)(a*y)%b D)y=x+y=x(15)以下选项中能表示合法常量的是A)整数:1,200B)实数:1.5E2.0 C )字符斜杠:‘\’D)字符串:"\007"(16)表达式a+=a-=a=9的值是A)9B)_9C)18D)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)0B)1C)2D)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,11B)7,1C)7,11D)6,1(21)有以下程序#include<stdio.h>main(){int y=10;while(y--);printf(”Y=%d\n”,Y);}程序执行后的输出结果是A)y=0B)y= -1C)y=1D)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 1B)7 0C)6 3D)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)1B)2C)4D)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,4B)4,4C)3,1D)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,7 C)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\OIJK B)ABCDIJK C)IJK D)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 7B)7 3 1C)7 3D)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)11B)21C)6D)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,3 C)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】至【15】序号的横线上,答在试卷上不得分。

全国计算机等级考试二级C语言考试大纲(附2010年9月真题与答案)

全国计算机等级考试二级C语言考试大纲(附2010年9月真题与答案)

全国计算机等级考试二级C语言考试大纲(新)◆ 基本要求1.熟悉 Visual C++ 6.0 集成开发环境。

2.掌握结构化程序设计的方法,具有良好的程序设计风格。

3.掌握程序设计中简单的数据结构和算法并能阅读简单的程序。

4.在 Visual C++ 6.0 集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力5.掌握算法的基本概念。

6.掌握基本数据结构及其操作。

7.掌握基本排序和查找算法。

8.掌握逐步求精的结构化程序设计方法。

9.掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力。

10.掌握数据的基本知识,了解关系数据库的设计。

◆ 考试内容一、C语言程序的结构1.程序的构成,main函数和其他函数。

2.头文件,数据说明,函数的开始和结束标志以及程序中的注释。

3.源程序的书写格式。

4.C语言的风格。

二、数据类型及其运算1.C的数据类型(基本类型,构造类型,指针类型,无值类型)及其定义方法。

2.C运算符的种类、运算优先级和结合性。

3.不同类型数据间的转换与运算。

4.C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。

三、基本语句1.表达式语句,空语句,复合语句。

2.输入输出函数的调用,正确输入数据并正确设计输出格式。

四、选择结构程序设计1.用if语句实现选择结构。

2.用switch语句实现多分支选择结构。

3.选择结构的嵌套。

五、循环结构程序设计1.for循环结构。

2.while和do-while循环结构。

3.continue语句和break语句。

4.循环的嵌套六、数组的定义和引用1.一维数组和二维数组的定义、初始化和数组元素的引用。

2.字符串与字符数组。

七、函数1.库函数的正确调用。

2.函数的定义方法。

3.函数的类型和返回值。

4.形式参数与实在参数,参数值传递。

5.函数的正确调用,嵌套调用,递归调用。

6.局部变量和全局变量。

7.变量的存储类别(自动,静态,寄存器,外部),变量的作用域和生存期。

全国计算机等级考试二级VISUAL+FOXPRO机试真题2010年09月

全国计算机等级考试二级VISUAL+FOXPRO机试真题2010年09月

全国计算机等级考试二级VISUAL FOXPRO机试真题2010年09月(总分:100.00,做题时间:90分钟)一、一基本操作题(总题数:1,分数:30.00)(分数:30.00)(1).将数据库“稿件管理”的表“投稿”的结构复制到新表“n_投稿”中。

(分数:7.50)__________________________________________________________________________________________ 正确答案:(在命令窗口中输入命令:USE 投稿 (回车执行)COPY STRU TO n_投稿 (回车执行))解析:(2).将表“投稿”中的记录复制到表“n_投稿”中。

(分数:7.50)__________________________________________________________________________________________ 正确答案:(在命令窗口中输入命令:USE n_投稿 (回车执行)APPEND FROM 投稿.dbf (回车执行))解析:(3).对数据库“稿件管理”中的表“投稿”使用表单向导建立一个简单的表单,文件名为“bd1”,要求显示表中的全部字段,表单样式为“凹陷式”,按钮类型为“文本按钮”,按“投稿日期”升序排序,表单标题为“稿件投稿情况表”。

(分数:7.50)__________________________________________________________________________________________ 正确答案:(步骤1:单击工具栏的[新建]按钮,在弹出的[新建]对话框[文件类型]中选择“表单”,单击[向导],在[向导选取]对话框中选择“表单向导”,单击[确定]按钮。

在[表单向导]窗口中的[数据库和表]列表框中选择“稿件管理”数据库和“投稿”表,再单击[全部添加]按钮[*],将表的全部字段添加到[选定字段]列表框中,然后单击[下一步]按钮。

2010年9月全国计算机等级考试二级C语言试题及答案

2010年9月全国计算机等级考试二级C语言试题及答案

2010年9月全国计算机等级考试二级C语言笔试试题及答案一、选择题((1)-(10)每题2分,(11)-(50)每题1分.共60分))(1)下列选项中不属于软件生命周期开发阶段任务的是A)详细设计B)概要设计C)软件维护D)软件测试(2)树是结点的集合,它的根结点数目是A)有且只有1 B)1或多于1 C)0或1 D)至少2(3)在面向对象方法中,实现信息隐蔽是依靠A)对象的继承B)对象的多态C)对象的封装D)对象的分类(4)程序设计语言的基本成分是数据成分、运算成分、控制成分和A)语句成分B)变量成分C)对象成分D)传输成分(5)冒泡排序在最坏情况下的比较次数是A)n/2 B)nlog2n C)n(n-1)/2 D)n(n+1)/2(6)下列叙述中,不属于软件需求规格说明书的作用的是A)作为确认测试和验收的依据B)反映出用户问题的结构,可以作为软件开发工作的基础和依据C)便于用户、开发人员进行理解和交流D)便于开发人员进行需求分析(7)下列叙述中错误的是A)一个C语言程序只能实现一种算法B)C程序可以由多个程序文件组成C)C程序可以由一个或多个函数组成D)一个函数可单独作为一个C程序文件存在(8)下列不属于软件工程的3个要素的是A)方法B)过程C)工具D)环境(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库技术的根本目标是要解决数据的共享问题C)数据库管理系统就是数据库系统D)以上三种说法都不对(10)下列叙述中正确的是A)每个C程序文件中都必须有一个main()函数B)在C程序的函数中不能定义另一个函数C)C程序可以由一个或多个函数组成D)在C程序中main()函数的位置是固定的(11)将E-R图转换到关系模式时,实体与联系都可以表示成A)属性B)关系C)键D)域(12)下列定义变量的语句中错误的是A)double int_; B)int _int; C)char For D)float USS(13)下列叙述中正确的是A)C语言编译时不检查语法B)C语言的子程序有过程和函数两种C)C语言的函数可以嵌套定义D)C语言的函数可以嵌套调用(14)以下选项中,合法的一组C语言数值常量是(15)以下叙述中正确的是A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C)main()函数必须放在其他函数之前D)所有被调用的函数一定要在调用之前进行定义(16)若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是A)scanf("%d",&p); B)scanf("%d%d%d",a,b,c);C)scanf("%d",p); D) scanf("%d",a,b,c);(17) 有以下程序main(){int x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序运行后的输出结果是A)2,2,3 B)2,2,2 C)2,3,1 D)2,1,1(18) 若已定义:int a=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后a<=25&&b--<=2&&c?printf("***a=%d,b=%d,c=%d\n",a,b,c):printf("###a=%d,b=%d,c=%d \n",a,b,c);程序输出的结果是A)***a=25,b=13,c=19 B)***a=26,b=14,c=19C)### a=25,b=13,c=19 D)### a=26,b=14,c=19(19)下列程序段的输出结果是int a=1234;float b=123.456;double c=12345.54321;printf("-,%2.1f,%2.1f",a,b,c);A)无输出B)12,123.5,12345.5 C)1234,123.5,12345.5 D)1234,123.4,1234.5(20)有以下程序main(){int a=0,b=0;a=10; /*给a赋值b=20; 给b赋值*/printf("a+b=%d\n",a+b); /* 输出计算结果*/}程序运行后输出结果是A)30 B)a+b=30 C)a+b=0 D)出错(21)若运行以下程序时,从键盘输入ADescriptor(表示回车),则下面程序的运行结果是#includemain(){ char c;do{ switch(c=getchar()){ case ′a′:case ′A′:case ′e′:case ′E′:case ′i′:case ′I′:case ′o′:case ′O′:case ′u′:case ′U′:v1+=1;default:v0+=1;v2+=1;}} while(c!=′\n′);printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);}A)v0=11,v1=4,v2=11 B)v0=8,v1=4,v2=8C)v0=7,v1=4,v2=7 D)v0=13,v1=4,v2=12 (22) 有以下程序#includemain(){int y=9;for( y>0;y--)if(y%3= =0) printf("%d",--y);}程序的运行结果是A)732 B)433 C)852 D)874(23) 设有以下程序段int x=0,s=0;while(!x!=0)s+=++x;printf("%d",s);则A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中的控制表达式是非法的D)程序段执行无限次(24)有以下程序fun(int x,int y){return(x+y);}main(){int a=1,b=2,c=3,sum;sum=fun((a++,b++b,a+b),c++);printf("%d\n",sum);}执行后的输出结果是A)5 B)7 C)8 D)3(25)执行下面的程序段后,变量k中的值为int k=3, s[2];A)不定值B)35 C)31 D)20(26)以下叙述中错误的是A)改变函数形参的值,不会改变对应实参的值B)函数可以返回地址值C)可以给指针变量赋一个整数作为地址值D)当在程序的开头包含文件stdio.h时,可以给指针变量赋NULL(27)以下程序段的描述,正确的是x=-1;do{x=x*x;} while(!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误(28)有以下程序fun(int x,int y){static int m=0,i=2;i+=m+1;m=i+x+y; return m;}main(){int j=1,m=I,k;k=fun(j,m); printf("%d",k);k=fun(j,m); printf("%d\n",k)}执行后的输出结果是A)5,5 B)5,11 C)11,11 D)11,5(29)有以下程序fun(int x){int p;if(x==0║x= =1) return(3);p=x-fun(x=2);retum p;}main(){ prinf("%d\n",fun(7));}执行后的输出结果是A)7 B)3 C)3 D)0(30)在16位编译系统上,右有定义int a[ ]={10,20,30},*p=&a;,当执行p++;后,下列说法错误的是A)p向高地址移了一个字节B)p抽高地址移了一个存储单元C)p向高地址移了两个字节D)p与a+1等价(31)有以下程序{int a=1,b=3,c=5;int *p1=&a,*p2=&b,*p=&c;*p=*p1*(*p2);printf("%d\n",c);}执行后的输出结果是A)1 B)2 C)3 D)4 (32)下列程序执行后的输出结果是void func1(int i);void func2(int i);char st[]="hello,friend!";void func1(int i){ printf("%c",st[i]);if(i<3){i+=2;func2(i);}}void func2(int i){ printf("%c",st[i]);if(i<3){i+=2;func1(i);}}main(){ int i=0; func1(i); printf("\n");}A)hello B)hel C)hlo D)hlm (33)在下述程序中,判断i>j共执行的次数是main(){ int i=0, j=10, k=2, s=0;for (;;){ i+=k;if(i>j){ printf("%d",s);break;} s+=i;}}A)4 B)7 C)5 D)6 (34)以下函数返回a所指数组中最大值所在的下标值fun(int *a,int n){ int i,j=0,p;p=j;for(i=j;iif(a[i]>a[p]);return(p);在下划线处应填入的内容是A)i=p B)a[p]=a[i]C)p=j D)p=i(35)下列程序执行后的输出结果是main(){ int a[3][3], *p,i;p=&a[0][0];for(i=1; i<9; i++)p[i]=i+1;printf("%d\n",a[1][2]);}A)3 B)6 C)9 D)随机数(36) 有以下程序#includevoid fun(int *a,int n)/*fun函数的功能是将a所指数组元素从大到小排序*/ {int t,i,j;for(i=0;ifor(j=i+1;jif (a}main(){int c[10]={1,2,3,4,5,6,7,8,9,0},i;fun(c+4,6);for (i=0;i<10;i++) printf("%d,",c);printf("\n");}程序运行的结果是A)1,2,3,4,5,6,7,8,9,0, B)0,9,8,7,6,5,1,2,3,4,C) 0,9,8,7,6,5,4,3,2,1, D)1,2,3,4,9,8,7,6,5,0,(37)以下程序的输出结果是#includevoid prt (int *x, int*y, int*z){ printf("%d,%d,%d\n",++*x,++*y,*(z++));}main(){ int a=10,b=40,c=20;prt (&a,&b,&c);prt (&a,&b,&c);}A)11,42, 3112,22,41B)11,41,2012,42,20C)11,21,4011,21,21D)11,41,21(38) 有以下程序:#includevoid fun(char *t,char *s){while(*t!=0)t++;while((*t++=*s++)!=0);}main(){char ss[10]=”acc”,aa[10]=”bbxxyy”;fun(ss,aa);printf(“%s,%s\n”,ss,aa);}程序运行结果是A) accxyy , bbxxyy B) acc, bbxxyyC) accxxyy,bbxxyy D) accbbxxyy,bbxxyy(39) 有以下程序#includemain(){ FILE *fp; int i=20,j=30,k,n;fp=fopen("d1.dat","w");fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d%d",&k,&n); printf("%d %d\n",k,n); fclose(fp);}程序运行后的输出结果是A)20 30 B)20 50 C)30 50 D)30 20 (40) 有以下程序main(){int x[3][2]={0},I;for(I=0;I<3;I++) scanf("%d",x[i]);printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0]);}若运行时输入:246<回车>,则输出结果为A)2 0 0 B)2 0 4 C)2 4 0 D)2 4 6 (41)有以下程序int add(int a,int b){return+b};}{int k,(*f)(),a=5,b=10;f=add;…}则以下函数调用语句错误的是A)k=(*f)(a,b); B)k=add(a,b); C)k=*f(a,b); D)k=f(a,b);(41)有以下程序#include <string.h>main(int argc,char *argv[]){int i=1,n=0;while(i<arge){n=n+strlen(argv[i]);i++;}printf(“%d\n”,n);}该程序生成的可执行文件名为:proc.exe。

2010年9月计算机二级考试试题及参考答案附答案详细解析)

2010年9月计算机二级考试试题及参考答案附答案详细解析)

2010年9月计算机二级考试试题及参考答案(附答案详细解析)一、选择题(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)是数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。

2010年9月全国计算机等级考试二级C语言笔试试题答案及解析

2010年9月全国计算机等级考试二级C语言笔试试题答案及解析

1、软件生命周期中的活动不包括A、软件维护B、市场调研C、软件测试D、需求分析参考答案:B2、下面不属于需求分析阶段任务的是A、确定软件系统的功能需求B、确定软件系统的系统的系能需求B、制定软件集成测试计划 D、需求规格说明书审评参考答案:C3、在黑盒测试方式中,设计测试用例的主要根据是A、程序外部功能B、程序内部逻辑C、程序数据结构D、程序流程图参考答案:A4、在软件设计中不使用的工具是A、系统结构图B、程序流程图C、PAD图D、数据流图(DFD图)参考答案:D5、有以下程序#include <sthio.h>Main(){int s=0,n;For (n=0;n<3;n<++){switch(s){ case 0;Case 1;s+=1;Case 2;s+=2;break;Case 3;s+3;Case 4;s+=4;}printf(("%d\n",s);}}程序运行后的结果是A、1,2,4B、1,3,6C、3,10,14D、3,6,10 参考答案:C6、若k是int类型变量,且有以下for语句For(k=-1;k<0;k++) printf(****\n");下面关于语句执行情况的叙述中正确的是A、循环体执行一次B、循环体执行两次C、循环体一次也不执行D、构成无限循环参考答案:A7、有以下程序#include <sthio.h>Main(){char A,B,C;B='1';C='A'For(A=0;A<6;A++){if(A%2) putchar(B+A);Else putchar(C+A);}}程序运行后输出的结果是A、1B3D5FB、 ABCDFEC、 A2C4E6D、参考答案:C8、设有如下定义语句Int m[ ]={2,4,6,8},*k=m;以下选项中,表达式的值为6的是A、*(k+2)B、 k+2C、*k+2D、*k+=2参考答案:A9、fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。

全国计算机等级考试二级VISUAL+FOXPRO真题2010年9月

全国计算机等级考试二级VISUAL+FOXPRO真题2010年9月

全国计算机等级考试二级VISUAL FOXPRO真题2010年9月(总分:100.00,做题时间:90分钟)一、{{B}}选择题{{/B}}(总题数:31,分数:70.00)1.下列叙述中正确的是( )。

(分数:2.00)A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构√C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.上述三种说法都不对解析:[解析] 线性表的存储分为顺序存储和链式存储。

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

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

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

2.下列叙述中正确的是( )。

(分数:2.00)A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化√D.上述三种说法都不对解析:[解析] 在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。

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

3.软件测试的目的是( )。

(分数:2.00)A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误√解析:[解析] 软件测试的目的是为了发现程序中的错误,而软件调试是为了更正程序中的错误。

4.下面描述中,不属于软件危机表现的是( )。

(分数:2.00)A.软件过程不规范√B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高解析:[解析] 软件危机主要表现在以下6个方面:①软件需求的增长得不到满足。

2010年9月全国计算机等级考试二级C语言考试大纲、真题与答案

2010年9月全国计算机等级考试二级C语言考试大纲、真题与答案

或者你才在上一个洞吞了柏忌,下一个洞你就为抓了老鹰而兴奋不已。

2010年9月全国计算机二级C语言笔试试题一、选择题(每小题2分,共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)面向对象方法中,继承是指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程序在运行过程中所有计算都以二进制方式进行只有凭借毅力,坚持到底,才有可能成为最后的赢家。

2010年9月全国计算机二级C++考试真题及答案

2010年9月全国计算机二级C++考试真题及答案

2010年9月全国计算机二级C++考试真题及答案一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。

请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

(1)下列叙述中正确的是A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)上述三种说法都不对答案:D解析:线性表的链式储存肯定要比顺序储存占据更多的空间(2)下列叙述中正确的是A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D)上述三种说法都不对答案:D解析:C应该是:栈顶指针随栈中元素的变化而变化(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)函数的实参和形参共享内存空间C)函数形参的生存期与整个程序的运行期相向D)函数的形参在函数被调用时获得初始值答案:D解析:A——不必声明的是形参,而不是其类型B——形参内存空间在栈上,实参则不一定C——仅仅在函数执行期内(12)下列关于对象初始化的叙述中,正确的是A)定义对象的时候不能对对象进行初始化B)定义对象之后可以显式地调用构造函数进行初始化C)定义对象时将自动调用构造函数进行初始化D)在一个类中必须显式地定义构造函数实现初始化答案:C解析:A——可以而且必须对对象进行初始化,这就是为什么你自己不写构造函数系统都要‘硬’给你整个默认的原因。

【免费下载】9月全国计算机等级考试二级C语言真题及答案

【免费下载】9月全国计算机等级考试二级C语言真题及答案

2010 年9 月全国计算机等级考试二级笔试试卷C 语言程序设计(附答案)(考试时间90 分钟,满分100 分)一、选择题((1)—(10)、(21)—(40)每题2 分,(11)—(20)每题1 分,共70 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项填涂在答题卡相应位置上,答在试卷上不得分。

(1)下列叙述中正确的是A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)上述三种说法都不对(2)下列叙述中正确的是A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D)上述三种说法都不对(3)软件测试的目的是A)评估软件可靠性B)发现并改正程序中的错误C)改正程序中的错误D)发现程序中的错误(4)下面描述中,不属于软件危机表现的是A)软件过程不规范B)软件开发生产率低C)软件质量难以控制C)软件成本不断提高(5)软件生命周期是指A)软件产品从提出、实现、使用维护到停止使用退役的过程B)软件从需求分析、设计、实现到测试完成的过程C)软件的开发过程D)软件的运行维护过程(6)面向对象方法中,继承是指A)一组对象所具有的相似性质B)一个对象具有另一个对象的性质C)各对象之间的共同性质D)类之间共享属性和操作的机制(7)层次型、网状型和关系型数据库划分原则是A)记录长度B)文件的大小B)联系的复杂程度D)数据之间的联系方式(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是A)一对一B)一对多C)多对多D)多对一(9)数据库设计中反映用户对数据要求的模式是A )内模式B )概念模式C )外模式D )设计模式(10)有三个关系R 、S 和T 如下: R S T AB C a12b21 c 31则由关系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;double x,y;则以下选项中正确的表达式是A )a%(int)(x-y)B )a=x!=y;C )(a*y)%bD )y=x+y=x(15)以下选项中能表示合法常量的是A )整数:1,200B )实数:1.5E2.0 C)字符斜杠:‟\‟ D)字符串:”\007”(16)表达式a+=a-=a=9 的值是A )9B )-9C )18D )0(17)若变量已正确定义,在if(W)printf(“%d\n”,k);中,以下不可替代W 的是A )a<>b+cB )ch=getchar()C )a==b+cD )a++(18)有以下程序#includemain(){ int a=1,b=0;if(!a) b++;A B C Dc 31A D c 4else if(a==0)if(a) b+=2;else b+=3;printf(“%d\n”,b);}程序运行后的输出结果是A)0 B)1 C)2 D)3(19)若有定义语句int a,b;double x;则下列选项中没有错误的是A)switch (x%2){ case 0: a++; break;case 1: b++; break;default: a++; b++; }B) switch ((int)x/2.0){ case 0: a++; break;case 1: b++; break;default : a++; b++; }C) switch((int)x%2){ case 0: a++; break;case 1: b++; break;default : a++; b++; }D)switch((int)(x)%2){ case 0.0: a++; break;case 1.0: b++; break;default : a++; b++; }(20)有以下程序#includemain(){ 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,1 C)7,11 D)6,1(21)有以下程序#includemain(){ int y=10;while(y--);printf(“y=%d\n”,y);}程序执行后的输出结果是A)y=0 B)y=-1 C)y=1 D)while 构成无限循环(22)有以下程序#includemain(){ 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));}0和\0 表示一样程序运行后的输出结果是A) 6 1 B) 7 0 C) 6 3 D) 7 1(24)有以下程序#includeint 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)2 C)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 10 int 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)有以下程序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,4 C) 3,1 D)4,1(30)有以下程序(函数fun 只对下标为偶数的元素进行操作)#includevoid fun(int *a,int n){ int i,j,k,t;for(i=0;i<n-1;i+=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 a[10]={1,2,3,4,5,6,7},i;fun(a,7);for(i=0;i<7;i++)printf(“%d,”,a[i]);printf(“\n”);}程序运行后输出结果是A)7,2,5,4,3,6,1,B)1,6,3,4,5,2,7,C)7,6,5,4,3,2,1,D)1,7,3,5,6,2,1,(31)下列选项中,能够满足“若字符串s1 等于字符串s2, 则执行ST”要求的是A)if(strcmp(s2,s1) ==0) ST;B) if(s1==s2) ST;C) if(strcpy(s1,s2) ==1) ST;D) if(s1-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\0EFG\0”, b[ ]=”IJK”;printf(“%s\n”,a);}程序运行后的输出结果是A)ABCDE\OFG\OIJK B)ABCDIJK C)IJK D)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)有以下程序#includevoid 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 1 C)7 3 D)3 7(36)有以下程序#includeint 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)21 C)6 D)120(37)有以下程序`#include <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,3 C)1,2,3 D)1,1,3(38)有以下程序#includemain(){ 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)1,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)有以下程序#includemain(){ short c=124; c=c ;printf(“%d\n”,c);}若要使程序的运行结果为248,应在下划线处填入的是A)>>2 B) |248 C)& 0248 D) <<1二、填空题(每空2 分,共30 分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。

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

2010年9月全国计算机二级C++笔试试题:文字版一、选择题(每小题2分,共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)面向对象方法中,继承是指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)函数的实参和形参共享内存空间C)函数形参的生存期与整个程序的运行期相向D)函数的形参在函数被调用时获得初始值(12)下列关于对象初始化的叙述中,正确的是A)定义对象的时候不能对对象进行初始化B)定义对象之后可以显式地调用构造函数进行初始化C)定义对象时将自动调用构造函数进行初始化D)在一个类中必须显式地定义构造函数实现初始化(13)下列关于基类和派生类关系的叙述中,正确的是A)每个类最多只能有一个直接基类B)派生类中的成员可以访问基类中的任何成员C)基类的构造函数必须在派生类的构造函数体中调用D)派生类除了继承基类的成员,还可以定义新的成员(14)下列关于赋值运算符“=”重载的叙述中,正确的是A)赋值运算符只能作为类的成员函数重载B)默认的赋值运算符实现了“深层复制”功能C)重载的赋值运算符函数有两个本类对象作为形参D)如果己经定义了复制(拷贝)构造函数,就不能重载赋值运算符(15)下列关于模板的叙述中,正确的是A)如果一个类中存在纯虚函数,这个类就是类模板B)函数模板不能有形式参数表C)类模板是一种参数化类型的类,是类的生成器D)类模板中不能包含构造函数(16)下列关于C++预定义流对象的叙述中,正确的是A)cin是C++预定义的标准输入流对象B)cin是C++预定义的标准输入流类C)cout是C++预定义的标准输入流对象D)cout是C++预定义的标准输入流类(17)下列选项中,正确的C++标识符是A)6_groupB)group~6C)age+3D)_group_6(18)下列选项中,正确的C++表达式是A)counter++3 B)element3+ C)a+=b D)…a…=b(19)下列循环语句中有语法错误的是A)int i; for(i=1; i<10;i++)cout<<…*…;B)int i,j;for(i=1,j=0;i<10;i++,j++)cout<<…*…;C)int i=0;for(;i<10;i++)cout<<… *…;D)for(1)cout<<…*…;(20)下列定义语句中,错误的是A)int px*;B)char*acp[10];C)char(*pac)[10];D)int(*p)();(21)下列函数原型声明中,错误的是A)int fnction(int m,int n);B)int function(int,int);C)int function(int m=3,int n);D)int function(int &m,int&n);(22)若MyClass为一个类,执行“MyClass a[4],*p[5];”语句时会自动调用该类构造函数的次数是A)2 B)5 C)4 D)9(23)若在表达式y/x中,“/”是作为成员函数重载的运算符,则该表达式还可以表示为A)x.Operator/(Y)B)operator/(x,Y)C)Y.operator/(x)D)operator/(y,x)(24)若要重载+、=、<<、=和[]运算符,则必须作为类成员重载的运算符是A)+和=B)=和<<C)==和<<D)=和[](25)有函数模板声明和一些变量定义如下:template <class Tl,class T2,class T3>T1 sum(T2,T3);double dl,d2;则下列调用中,错误的是A)sum<double,double,double>(dl,d2);B)sum<double;double>(d1,d2);C)sum<double>(d1,d2);D)sum(d1,d2);(26)有如下语句序列:char str[10];cin>>str;当从键盘输入”I love this game”时,str中的字符串是A)"I love this game"B)"I love thi"C)"I love"D)"I"(27)有如下程序:#include<iostream>#include<cmath>using std::cout;class Point{public:friend double distance(const Point &p); //p距原点的距离Point(int xx=0,int yy=0):x (xx),Y(YY){}//①private:Int x,Y;};double distance(const Point &p){//②return sqrt(p.x*p.x+p.Y*p.Y);}int main(){Point p1(3,4);cout<<distance(p1);//③return 0;}下列叙述中正确的是A)程序编译正确B)程序编译时语句①出错C)程序编译时语句②出错D)程序编译时语句③出错(28)有如下程序:#include<iostream>using namespace std;class CD{public:~CD(){cout<<‟C‟;}private:char name[80];};int main(){CD a,*b,d[2];return 0;}运行时的输出结果是A)CCCC B)CCC C)CC D)C(29)某类中有一个无参且无返回值的常成员函数Show,则正确的Show函数原型是A)const void Show();B)void const Show();C)void Show()const;D)void Show(const);(30)若已定义了类Vehicle,则下列派生类定义中,错误的是A)class Car:Vehicle{/*类体略*/},B)class Car:public Car{/*类体略*/};C)class Car:public Vehicle{/*类体略*/};D)class Car:virtual public Vehicle{/*类体略*/};(31)有如下程序:#include<iostream>using namespace std;class Music{public:void setTitle(char*str){strcpy(title,str);}protected:char type[10];private:char title[20];};class Jazz:public Music{public:void set(char* str){strcpy(type,"Jazz");//①strcpy(title,str);//②}};下列叙述中正确的是A)程序编译正确一B)程序编译时语句①出错C)程序编译时语句②出错D)程序编译时语句①和②都出错(32)有如下程序:#include<iostream>using namespace std;class Instrument{public:virtual void Display()=0;};class Piano:public Instrument{public:void Display(){/*函数体程序略*/}};int, main(){Instrument s;Instrument*p=0;//...;return 0;}下列叙述中正确的是A)语句“Insturment *p=0;”编译时出错B)语句“Instruments;”编译时出错C)类Piano中的Display函数不是虚函数D)类Instrumen七是一个虚基类(33)有类定义如下:气class Type {public:Type (int i=0);Tvpe operator -(int);friend Type operator + (Type, Type );private:int val;若有对象定义Type cl;则下列语句序列中,错误的是A)Type(3)+c1;B)cl+Type(3);C)3-cl;D)c1-3;(34)有如下程序:#include<iostream>#include<iomanip>using namespace std;_int main(){Cout<<setw(10)<<setfill(‟x‟)<<setprecision(8)<<left;Cout<<12.3456793<<_______<<98765;return 0;}若程厚的输出是12.345679x98765xxxxx,则划线处缺失的部分是A)setw(10) B)setfill('x') C)setprecision(8) D)right(35)有如下程序:#include<iostream>using namespace std;class Book{public:Book(char* t=""){strcpy(titie,t);}_____________________________private:Char title[40];};class Novel:public Book{public:Novel(char*t=""):B00K (t){}char*Category()const {return” "文学" }};int main(){Book*pb;pb=new Novel();Cout<<pb->Category();return 0;}若程序运行时输出结果是“文学”,则划线处缺失的语句是A)char* Category();B)char*Category()const;C)virtual char*Category()const;D)virtual char*Category()const=0;二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡【1】-【15】序号的横线上,答在试卷上不得分。

相关文档
最新文档