2010年秋浙江省计算机等级考试二级C试卷及答案
全国计算机等级考试二级C笔试试卷(含参考答案)

全国计算机等级考试二级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)PDL(过程设计语言) B)PAD图 C)N-S图 D)DFD图(7)以下表达中正确的选项是A)软件交付使用后还需要进展维护B)软件一旦交付使用就不需要再进展维护C)软件交付使用后其生命周期就完毕D)软件维护是指修复程序中被破坏的指令(8)数据库设计的根本目标是要解决A)数据共享问题 B)数据平安问题C)大量数据存储问题 D)简化数据维护(9)设有如下关系表:R S TA B C A B C A B C1 123 1 3 1 1 22 23 2 2 33 1 3那么以下操作中正确的选项是A)T=R∩S B)T=R∪S C)T=R×S D)T=R/S(10)数据库系统的核心是A)数据模型 B)数据库管理系统 C)数据库 D)数据库管理员(11)以下表达中错误的选项是A)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到“见名知意”C)用户所定义的标识符必须以字母或下划线开头D)用户定义的标识符中,大、小写字母代表不同标识(12)以下表达中错误的选项是A)C语句必须以分号完毕B)复合语句在语法上被看作一条语句C)空语句出现在任何位置都不会影响程序运行D)赋值表达式末尾加分号就构成赋值语句(13)以下表达中正确的选项是A)调用printf函数时,必须要有输出项B)使用putchar函数时,必须在之前包含头文件stdio.hC)在中,整数可以以十二进制、八进制或十六进制的形式输出D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码(14)以下关于函数的表达中正确的选项是A)每个函数都可以被其它函数调用(包括main函数)B)每个函数都可以被单独编译C)每个函数都可以单独运行D)在一个函数内部可以定义另一个函数(15)假设有语句:char *line[5];,以下表达中正确的选项是A)定义line是一个数组,每个数组元素是一个基类型为char 的指针变量B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C)定义line是一个指针数组,语句中的*号称为间址运算符D)定义line是一个指向字符型函数的指针(16)有以下程序段typedef struct NODE{ int num; struct NODE *next;} OLD;以下表达中正确的选项是A)以上的说明形式非法 B)NODE是一个构造体类型C)OLD是一个构造体类型 D)OLD是一个构造体变量(17)以下表达中错误的选项是A)C语言中对二进制文件的访问速度比文本文件快B)C语言中,随机文件以二进制代码形式存储数据C)语句 FILE fp; 定义了一个名为fp的文件指针D)C语言中的文本文件以ASCII码形式存储数据(18)当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是A)k%2 B)k%2==1 C)(k%2)!=0 D)!k%2==1(19)以下不能正确计算代数式值的C语言表达式是A)1/3*sin(1/2)*sin(1/2) B)sin(0.5)*sin(0.5)/3C)pow(sin(0.5),2)/3 D)1/3.0*pow(sin(1.0/2),2)(20)以下能正确定义且赋初值的语句是A)int n1=n2=10; B)char c=32;C)float f=f+1.1; D)double x=12.3E2.5;(21)以下程序的功能是:给r输入数据后计算半径为r的圆面积s。
浙江省计算机等级考试试卷(VB10秋)

2010年秋浙江省高等学校计算机等级考试试卷(二级Visual Basic)说明:(1)考生应将所有试题的答案填写在答案卷上,其中试题1~试题6,请在试卷上各小题正确选项的对应位置填“√”;(2)请将你的准考证号的后五位填写在答卷右下角的指定位置内;(3)考试时间为90分钟。
试题1(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】文本框控件Text1中只能输入数字字符,按回车键则将与Val(Text1.Text)等值的二进制数在Label1显示,如Text1.Text为“13”,则Label1.Caption为“1101”。
【程序】Private Sub Text1_KeyPress(K As Integer)Dim n As IntegerIf (K = 13) ThenLabel1.Caption = ""n = Text1.TextDo While (1) BLabel1.Caption = (2) B(3) DLoopEnd IfIf Chr(K) < "0" Or Chr(K) > "9" Then (4) DEnd Sub【供选择的答案】(1)A﹑n > 1 B﹑n <> 0 C﹑n = 0 D﹑n / 2 <> 0(2)A﹑n Mod 2 & Label1.CaptionB﹑Label1.Caption & n Mod 2C﹑n Mod 2 + Label1.CaptionD﹑Label1.Caption + n Mod 2(3)A﹑n = n Mod 2 B﹑n = n - 1 C﹑n = n / 2 D﹑n = n \ 2(4)A﹑K = K-1 B﹑Exit Sub C﹑Exit D﹑K = 0试题2(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
2010浙江省计算机等级考试二级试题及答案

A. 模拟现实世界中不同事物之间的联系 B. 强调模拟现实世界中的算法而不强调概念 C. 使用现实世界的概念抽象地思考问题从而自然地解决问题 D. 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考
2、数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是(D)
27、在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)
A. 可行性分析 B. 需求分析 C. 详细设计 D. 程序编码
28、在关系数据库中,用来表示实体之间联系的是(D)
A. 树结构 B. 网结构 C. 线性表 D. 二维表
29、程序流程图(PFD)中的箭头代表的是(B)
A. 树结构 B. 网结构 C. 线性表 D. 二维表
17、在结构化方法中,软件功能分解属于下列软件开发中的阶段是(C) 注:总体设计也就是概要设计
A. 详细设计 B. 需求分析 C. 总体设计 D. 编程调试
18、面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是(C)
A. 数据流 B. 控制流 C. 调用关系 D. 组成关系
30、按条件f对关系R进行选择,其关系代数表达式为(C)
A. R|X|R B. R|X|Rf C. бf(R) D. ∏f(R)
31、设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出
14、算法一般都可以用哪几种控制结构组合而成(D)
A. 循环、分支、递归 B. 顺序、循环、嵌套
2010年计算机等级考试二级C语言上机习题汇总

2010年计算机等级考试二级C语言上机习题汇总一、改错题【分析】:改错题的错误一般可分为两类,一类是语法错误,这类错误可通过调试程序改正,较容易;另一类是逻辑错误,这类错误程序能运行,但结果不正确,这类错误相对较难,修改前必须要看懂和理解程序。
#include"stdio.h"#define n 4 #define m 3 /*语法错,#define m 3需另起一行*/int a[n][m],s[m];p(int j)/*此函数的功能为:找出a数组中第j列的最小元素的值及行号,函数成功运行后,i中即为j列的最小元素的行号,s[j]中即为j列的最小元素的值*/{intk,i,x;x=a[0][j];i=0; /*逻辑错,从函数的功能可知,a[0][j]也应赋值给s[j],所以x=a[0][j]应改为s[j]=x=a[0][j]*/for(k=1;k<N;K++)< p>if(a[k][j]<X)< p>{i=k;s[j]=x=a[k][j];}return i;}main(){int index[m],i,j,k;for(i=0;i<N;I++)< p>for(j=0;j<M;J++)< p>scanf("%d",a[i][j]);/*语法错,但编译时不会报错,scanf语句的一般形式为scanf(格式控制,地址表列),所以a[i][j]应改为&a[i][j])*/for(j=0,j<M;J++)< p>printf("a[%d,%d]=%d\n",index[j],j,s[j]);}i=s[1];k=0; /*逻辑错,数组s中存放的是a数组中每一列的最小值,比较时应从数组的第0个元素开始,而下面的for循环是从第1个元素开始的,所以i=s[1]应改为i=s[0]*/for(j=1;j<>if(s[j]<I)< p>{i=s[j];k=j;}printf("min=a[%d,%d]=%d",index[k],k,i); }二、编程题【分析】:本题的主要功能是建立一个3行8列的二维数组,并给其元素赋值,其中第1、2行的值可通过递推公式xi+1=(25*xi+357)%1024得到,第三行的值取前两行同列元素的最大公约数,所以编程时可用一个函数来实现求公约数的算法。
全国计算机等级考试二级C语言程序设计真题精选3(含答案)

全国计算机等级考试二级C语言程序设计真题精选3一、单项选择题1.下列关于C语言文件的叙述中正确的是()。
A.文件由一系列数据依次排列组成,只能构成二进制文件B.文件由结构序列组成,可以构成二进制文件或文本文件C.文件由数据序列组成,可以构成二进制文件或文本文件√D.文件由字符序列组成,其类型只能是文本文件解析:C语言将文件看作是一个字符(字节)的序列,即由一个一个字符(字节)数据顺序组成。
根据数据的组成形式,可将文件分为两种:①ASCII文件,又称文本(text)文件,它的每一个字节可放一个ASCII码,代表一个字符;②二进制文件,是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。
所以C文件就是一个字节流或一个二进制流。
2.有以下程序:#includ<stdio.h>main()inm=1,n=2,*p=&m,*q=&n,*r; r=p,p=q;q=r; printf("%d,%d,%d,%",m,n,*p,*q);}程序运行后的输出结果是()。
A.1,2,1,2B.1,2.2,1 √C.2,1,2,1D.2,1.1,2解析:本题定义了两个整型变量,然后用两个指针分别指向这两个整型变量,接着对指针进行交换,那么原来指向第一个整数的指针将指向第二个整数,原来指向第二个整数的指针将指向第一个整数。
3.有以下程序:#includ<stdio.h>#include<string.h>strucAina;chab[10];doublc;};strucf (struct);main()struca={1001,"ZhangDa",1098.0}; a=f(a);printf ("%d,%s,%6.1",a.a,a.b,a.c);}strucf(struct)t.a=1002;strcpy(t.b,"ChangRong");t.c=1202.0;returt;}程序运行后的输出结果是()。
全国计算机等级考试二级C历年真题及答案

全国计算机等级考试二级C历年真题及答案一、选择题((1)~(35)每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下面叙述正确的是A)算法的执行效率与数据的存储结构无关B)算法的空间复杂度是指算法程序中指令(或语句)的条数C)算法的有穷性是指算法必须能在执行有限个步骤之后终止D)以上三种描述都不对(2)以下数据结构中不属于线性数据结构的是A)队列B)线性表C)二叉树D)栈(3)在一棵二叉树上第5层的结点数最多是A)8B)16C)32D)15(4)下面描述中,符合结构化程序设计风格的是A)使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B)模块只有一个入口,可以有多个出口C)注重提高程序的执行效率D)不使用goto语句(5)下面概念中,不属于面向对象方法的是A)对象B)继承C)类D)过程调用(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是A)可行性分析B)需求分析C)详细设计D)程序编码(7)在软件开发中,下面任务不属于设计阶段的是A)数据结构设计B)给出系统模块结构C)定义模块算法D)定义需求并建立系统模型(8)数据库系统的核心是A)数据模型C)软件工具B)数据库管理系统D)数据库(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库设计是指设计数据库管理系统C)数据库技术的根本目标是要解决数据共享的问题D)数据库系统中,数据的物理结构必须与逻辑结构一致(10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是A)内模式B)外模式C)概念模式D)逻辑模式(11)关于面向对象的程序设计方法,下列说法正确的是A)―封装性‖指的是将不同类型的相关数据组合在一起,作为一个整体进行处理B)―多态性‖指的是对象的状态会根据运行时要求自动变化C)基类的私有成员在派生类的对象中不可访问,也不占内存空间D)在面向对象的程序设计中,结构化程序设计方法仍有着重要作用(12)判断字符型变量ch是否为大写英文字母,应使用表达式A)ch>='A'&ch<='Z'B)ch<='A'||ch>='Z'C)'A'<=ch<='Z'D)ch>='A'&& ch<='Z'(13)已知下列语句中的某和y都是int型变量,其中错误的语句A)某=y++;B)某=++y;C)(某+y)++;D)++某=y;(14)执行语句序列intn;cin>>n;witch(n){cae1:cae2:cout<<'1';cae3:cae4:cout<<'2';break;default:cout<<'3';}时,若键盘输入1,则屏幕显示A)1B)2C)3D)12(15)下列程序的输出结果是#includeuingnamepacetd;intmain(){chara[]=\char某ptr=a;while(某ptr){if(某ptr>='a'&&某ptr<='z')cout<<char(某ptr+'A'-'a');elecout<<某ptr;ptr++;}return0;}A)HELLO,WORLDB)Hello,WorldC)hELLO,wORLDD)hello,world(16)已知:intm=10;在下列定义引用的语句中,正确的是A)int&某=m;B)inty=&m;C)int&z;D)int&t=&m;(17)下列函数原型声明中错误的是A)voidFun(int某=0,inty=0);B)voidFun(int某,inty);C)voidFun(int某,inty=0);D)voidFun(int某=0,inty);(18)已知程序中已经定义了函数tet,其原型是inttet(int,int,int);,则下列重载形式中正确的是A)chartet(int,int,int);B)doubletet(int,int,double);C)inttet( int,int,int=0);D)floattet(int,int,float=3.5F);(19)有以下程序#includeinti=0;voidfun(){{taticinti=1;td::cout<td::cout<2intmain(){fun();fun();return0;}程序执行后的输出结果是A)1,2,1,2,B)1,2,2,3,C)2,0,3,0,D)1,0,2,0,(20)已知函数f的原型是:voidf(int某a,long&b);变量v1、v2的定义是:intv1;longv2;,正确的调用语句是A)f(v1,&v2);B)f(v1,v2);C)f(&v1,v2);D)f(&v1,&v2);(21)有以下类定义claMyCla{public:MyCla(){cout<<1;}};则执行语句MyClaa,b[2],某p[2];后,程序的输出结果是A)11B)111C)1111D)11111(22)关于友元,下列说法错误的是A)如果类A是类B的友元,那么类B也是类A的友元B)如果函数fun()被说明为类A的友元,那么在fun()中可以访问类A的私有成员C)友元关系不能被继承D)如果类A是类B的友元,那么类A的所有成员函数都是类B的友元(23)关于动态存储分配,下列说法正确的是A)new和delete是C++语言中专门用于动态内存分配和释放的函数B)动态分配的内存空间也可以被初始化C)当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间D)当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new(24)有以下程序#includeuingnamepacetd;claMyCla{public:MyCla(intn){number=n;}//拷贝构造函数MyCla(MyCla&other){number=other.number;}~MyCla(){}private: intnumber;};MyClafun(MyClap){3MyClatemp(p);returntemp;}intmain(){MyClaobj1(10),obj2(0);MyClaobj3(obj1);obj2=fun(obj3);return0 ;}程序执行时,MyCla类的拷贝构造函数被调用的次数是A)5B)4C)3D)2(25)在公有派生的情况下,派生类中定义的成员函数只能访问原基类的A)公有成员和私有成员B)私有成员和保护成员C)公有成员和保护成员D)私有成员、保护成员和公有成员(26)在C++中用来实现运行时多态性的是A)重载函数B)析构函数C)构造函数D)虚函数(27)一个类可以同时继承多个类,称为多继承。
2010年3月二级C语言考试真题(附答案)

2010年3月计算机等级考试二级C笔试试题一、选择题(1)下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏清况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)(2)算法的时问复杂度是指A)算法的执行时间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于系统软件的是A)编辑软件B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图(DFD图)是A)软件概要设计的工具B)软件详细设计的工具C)结构化方法的需求分析工具D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。
详细设计属于A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段B)逻辑设计一阶段C)概念设计阶段D)物理设计阶段(10)有两个关系R和T如下:则由关系K得到关系T的操作是A)选择B)投影C)交D)并(11)以下叙述正确的是A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可作为单独文件形式存在(12)以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示(13)以下C语言用户标识符中,不合法的是A)_1B)AaBcC)a_bD)a—b(14)若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是A)a=a++,i++;B)i=(a+k)<=(i+k);C)i=a ;D)i=!a;(15)有以下程序#includemain(){ char a,b,c,d;scanf(“%c%c”,&a,&b);c=getchar(); d=getchar();printf(“%c%c%c%c\n”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)1234则输出结果是A)1234B)12C)123D)1234(16)以i关于C语言数据类型使用的叙述中错误的是A)若要准确无误差的表示自然数,应使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型(17)若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是A)1B)0C)2D)不知道a的值,不能确定(18)以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是A)switch(a){case:a=b;break;default:a++;}B)switch(a==1){case 0:a=b;break;case 1:a++;}C)switch(a){default:a++;break;case 1:a=b;}D)switch(a==1){case 1:a=b;break;case 0:a++;}(19)有如下嵌套的if语句if (a<B)< p>if(a< p>else k=c;elseif(belse k=c;以下选项中与上述if语句等价的语句是A)k=(a<C)?B:C;< p>B)k=(a<B)?((Bc)?b:c);C)k=(a<B)?((A<E)?A:E):((B<E)?B:C);< p>D)k=(a<C)?A:C;< p>(20)有以下程序#includemain(){in i,j,m=1;for(i=1;i<3;i++){for(j=3;j>O;j--){if(i*j)>3)break;m=i*j;}}printf("m=%d\n",m);}程序运行后的输出结果是A)m=6B)m=2C)m=4D)m=5(21)有以下程序#include(stdio.h>main(){int a=l;b=2;for(;a<8;a++) {b+=a;a+=2;}printf("%d,%d\n",a,b);}程序运行后的输出结果是A)9,18B)8,11C)7,11D)10,14(22)有以下程序,其中k的初值为八进制数#includemain(){int k=011;printf("%d\n",k++);}程序运行后的输出结果是A)12B)11C)10D)9(23)下列语句组中,正确的是A)char *s;s="Olympic";B)char s[7];s="Olympic";C)char *s;s={"Olympic"};D)char s[7];s={"Olympic"};(24)以下关于return语句的叙述中正确的是A)一个自定义函数中必须有一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成void类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处(25)下列选项中,能正确定义数组的语句是A)int num[0..2008];B)int num[];C)int N=2008;int num[N];D)#define N 2008int num[N];(26)有以下程序#includevoid fun(char *c,int d){*c=*c+1;d=d+1;printf("%c,%c,",*c,d);main(){char b='a',a='A';fun(&b,a);printf("%e,%e\n",b,a);}程序运行后的输出结果是A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B(27)若有定义int(*Pt)[3];,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组ptC)定义了一个名为*pt、具有三个元素的整型数组D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组(28)设有定义double a[10],*s=a;,以下能够代表数组元素a[3]的是A)(*s)[3]B)*(s+3)C)*s[3]D)*s+3(29)有以下程序#include(stdio.h)main(){int a[5]={1,2,3,4,5},b[5]={O,2,1,3,0},i,s=0;for(i=0;i<5;i++) s=s+a[b[i]]);printf("%d\n", s);}程序运行后的输出结果是A)6B)10C)11D)15(30)有以下程序#includemain(){int b [3][3]={O,1,2,0,1,2,O,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=ij<=1;j++) t+=b[i][b[j][i]];printf("%d\n",t);}程序运行后的输出结果是A)1B)3C)4D)9(31)若有以下定义和语句char s1[10]="abcd!",*s2="\n123\\";printf("%d %d\n", strlen(s1),strlen(s2));则输出结果是A)5 5B)10 5C)10 7D)5 8(32)有以下程序#include#define N 8void fun(int *x,int i){*x=*(x+i);}main(){int a[N]={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=O;i<>{printf("%d",a[i]);}printf("\n");}程序运行后的输出结果是A)1313B)2234C)3234D)1234(33)有以下程序#includeint f(int t[],int n);main{ int a[4]={1,2,3,4},s;s=f(a,4); printf("%d\n",s);int f(int t[],int n){ if(n>0) return t[n-1]+f(t,n-1); else return 0;}程序运行后的输出结果是A)4B)1OC)14D)6(34)有以下程序#includeint fun(){ static int x=1;x*2; return x;}main(){int i,s=1,for(i=1;i<=2;i++) s=fun(); printf("%d\n",s);}程序运行后的输出结果是A)OC)4D)8(35)有以下程序#include#define SUB(a) (a)-(a)main(){ int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d\n",d);}程序运行后的输出结果是A)0B)-12C)-20D)10(36)设有定义:struct complex{ int real,unreal;} data1={1,8},data2;则以下赋值语句中错误的是A)data2=data1;B)data2=(2,6);C)data2.real=data1.real;D)data2.real=data1.unreal;(37)有以下程序#include#includestruct A{ int a; char b[10]; double c;};void f(struct A t);main(){ struct A a={1001,"ZhangDa",1098.0};f(a); printf("%d,%s,%6.1f\n",a.a,a.b,a.c);}void f(struct A t){ t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;} 程序运行后的输出结果是A)1001,zhangDa,1098.0B)1002,changRong,1202.0C)1001,ehangRong,1098.OD)1002,ZhangDa,1202.0(38)有以下定义和语句struct workers{ int num;char name[20];char c;struct{int day; int month; int year;}s;};struct workers w,*pw;pw=&w;能给w中year成员赋1980的语句是A)*pw.year=198O;B)w.year=1980;C)pw->year=1980;D)w.s.year=1980;(39)有以下程序#includemain(){ int a=2,b=2,c=2;printf("%d\n",a/b&c);}程序运行后的输出结果是A)OB)1C)2D)3(40)有以下程序#includemain(){ FILE *fp;char str[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp);fpfopen("myfile.data","a++");fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str); puts(str);fclose(fp);}程序运行后的输出结果是A)abcB) 28cC) abc28D)因类型不一致而出错二、填空题(1)一个队列的初始状态为空。
2010浙江省全国计算机等级考试二级VB笔试试卷及参考答案(必备资料)

2010浙江省全国计算机等级考试二级VB笔试试卷及参考答案(必备资料)1、算法的时间复杂度是指(C)A. 执行算法程序所需要的时间B. 算法程序的长度C. 算法执行过程中所需要的基本运算次数D. 算法程序中的指令条数2、算法的时间复杂度是指(C)A. 执行算法程序所需要的时间B. 算法程序的长度C. 算法执行过程中所需要的基本运算次数D. 算法程序中的指令条数3、在软件开发中,下面任务不属于设计阶段的是(D)A. 数据结构设计B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型4、在结构化方法中,软件功能分解属于下列软件开发中的阶段是(C) 注:总体设计也就是概要设计A. 详细设计B. 需求分析C. 总体设计D. 编程调试5、按条件f对关系R进行选择,其关系代数表达式为(C)A. R|X|RB. R|X|RfC. бf(R)D. ∏f(R)6、下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A)A. 内模式B. 外模式C. 概念模式D. 逻辑模式7、检查软件产品是否符合需求定义的过程称为(A)A. 确认测试B. 集成测试C. 验证测试D. 验收测试8、在关系数据库中,用来表示实体之间联系的是(D)A. 树结构B. 网结构C. 线性表D. 二维表9、在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D)A. 概要设计B. 详细设计C. 可行性分析D. 需求分析10、用树形结构来表示实体之间联系的模型称为(B)A. 关系模型B. 层次模型C. 网状模型D. 数据模型11、在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送(D)A. 调用语句B. 命令C. 口令D. 消息12、数据库系统的核心是(B)A. 数据模型B. 数据库管理系统C. 软件工具D. 数据库13、信息隐蔽的概念与下述哪一种概念直接相关(B)A.软件结构定义B. 模块独立性C. 模块类型划分D. 模拟耦合度14、信息隐蔽的概念与下述哪一种概念直接相关(B)A.软件结构定义B. 模块独立性C. 模块类型划分D. 模拟耦合度15、下面对对象概念描述错误的是(A)A. 任何对象都必须有继承性B. 对象是属性和方法的封装体C. 对象间的通讯靠消息传递D. 操作是对象的动态性属性16、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2010年下半年浙江省高等学校计算机等级考试二级C程序设计试卷说明:⑴本试卷共6页,满分100分;考试时间为90分钟;⑵考生应将所有试题的答案填写在答卷上。
其中试题一到试题六请在答卷上的各小题选项的对应位置上填“Ö”。
⑶考生应将所有试题的答案填写在答卷上。
一、程序阅读与填空(24小题,每小题3分,共72分)1.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案【程序说明】输入5个整数,将它们从小到大排序后输出。
运行示例:Enter an integer: 9 -9 3 6 0After sorted: -9 0 3 6 9【程序】#include <stdio.h>main(){ int i, j, n, t, a[10];printf(”Enter 5 integers:”);for(i = 0; i < 5 ; i++)scanf(”%d”, (1));for(i = 1; (2); i++)for(j = 0; (3); j++)if( (4)) {t = a[j], a[j] = a[j+1], a[j+1] = t;}printf(”After sorted:”);for(i = 0; i < 5 ; i++)printf("=", a[i]);}【供选择的答案】(1) A、&a[i] B、a[i] C、*a[i] D、a[n](2) A、i < 5 B、i < 4 C、i >= 0 D、i > 4(3) A、j < 5–i–1 B、j < 5–i C、j < 5 D、j <= 5(4) A、a[j] < a[j+1] B、a[j] > a[j-1]C、a[j] > a[j+1]D、a[j-1] > a[j+1]2.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案【程序说明】输出80到120之间的满足给定条件的所有整数,条件为构成该整数的每位数字都相同。
要求定义和调用函数is(n)判断整数n的每位数字是否都相同,若相同则返回1,否则返回0。
运行示例:88 99 111【程序】#include <stdio.h>main(){ int i; int is(int n);for(i = 80; i <= 120; i++)if( (5) )printf("%d ", i);printf("\n");}int is(int n){ int old, digit;old = n % 10;do{digit = n % 10;if( (6) ) return 0 ;(7)n = n / 10;}while( n != 0 );(8)}【供选择的答案】(5) A、is(n) == 0 B、is(i) == 0 C、is(n) != 0 D、is(i) != 0(6)A、digit != n % 10 B、digit == oldC、old == n % 10D、digit != old(7) A、digit = old; B、; C、old = digit; D、old = digit / 10;(8) A、return; B、return 1; C、return 0; D、return digit != old;3.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案【程序说明】输入一个以回车结束的字符串(少于80个字符),将其逆序输出。
要求定义和调用函数reverse(a),该函数将字符串s逆序存放。
运行示例:Enter a string: 1+2=3After reversed: 3=2+1【程序】#include <stdio.h>void reverse(char *str){ int i, j, n = 0;char t;while(str[n] != ’\0’)n++;for(i = 0, (9) ; i < j; (10) ) {t = str[i], str[i] = str[j], str[j] = t;}}main(){ int i = 0 ;char s[80];printf(”Enter a string:”);while( (11) )i++;s[i] = ’\0’;(12) ;printf(“After reversed:“);puts(s);}【供选择的答案】(9) A、j = n – 1 B、j = n C、j = n - 2 D、j = n + 1(10)A、i++, j-- B、i++, j++ C、i--, j++ D、i--, j--(11)A、s[i] = getchar() B、(s[i] = getchar()) != ’\n’C、s[i] != ’\0’D、(s[i] = getchar() != ’\n’)(12)A、reverse(*s) B、reverse(s) C、reverse(&s) D、reverse(str)4.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案【程序】#include <stdio.h>#define S(x) 3 < (x) < 5int n, a;void f1(int n){ for(; n >= 0; n--) {if(n % 2 != 0) continue;printf(”%d ”, n);}printf(”\n”);}double f2(double x, int n){ if(n == 1) return x;else return x * f2(x, n-1);}main( ){ int a = 9;printf("%d %d\n", a, S(a));f1(4);printf("%.1f\n", f2(2.0, 3));printf("%d %d\n", n, S(n));}【问题】(13) 程序运行时,第1行输出(13) 。
A、0 1B、9 1C、0 0D、9 0(14) 程序运行时,第2行输出(14) 。
A、3 1B、4 2 0C、4 3 2 1D、0(15) 程序运行时,第3行输出(15) 。
A、8.0B、2.0C、4.0D、3.0(16) 程序运行时,第4行输出(16) 。
A、0 1B、3 1C、0 0D、3 05.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案【程序】程序1#include <stdio.h>main(){ int i, j;static a[4][4];for(i = 0; i < 4; i++)for(j = 0; j <= i; j++) {if(j == 0 || j == i) a[i][j] = 1;else a[i][j] = a[i-1][j-1] + a[i-1][j];}for(i = 2; i < 4; i++) {for(j = 0; j <= i; j++)printf(“%d ”, a[i][j]);printf(”\n”);}}程序2#include <stdio.h>main(){ char str[80];int i;gets(str);for(i = 0; str[i] != ’\0’; i++)if(str[i] == ’z’) str[i] = ’a’;else str[i] = str[i] + 1;puts(str);}【问题】(17)程序1运行时,第1行输出(17) 。
A、1B、1 1C、1 2 1D、1 3 3 1(18)程序1运行时,第2行输出(18) 。
A、1B、1 1C、1 2 1D、1 3 3 1(19)程序2运行时,输入123,输出(19) 。
A、123B、012C、231D、234(20)程序2运行时,输入sz,输出(20) 。
A、szB、tyC、taD、tz6.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案【程序】#include <stdio.h>main(){ int i,j;char ch, *p1, *p2, *s[4]={”tree”,”flower”,”grass”,”garden”};for(i = 0; i < 4; i++) {p2 = s[i];p1 = p2 + i;while(*p1 != ’\0’){*p2 = *p1;p1++, p2++;}*p2 = ’\0’;}for(i = 0; i < 4; i++)printf("%s\n",s[i]);}【问题】(21) 程序运行时,第1行输出(21) 。
A、reeB、ssC、treeD、e(22) 程序运行时,第2行输出(22) 。
A、flowerB、owerC、werD、lower(23) 程序运行时,第3行输出(23) 。
A、grassB、ssC、rassD、ass(24) 程序运行时,第4行输出(24) 。
A、enB、ardenC、denD、garden二、程序编写(每题14分,共28分)1.输入100个整数,将它们存入数组a中,再输入一个整数x,统计并输出x 在数组a中出现的次数。
2.按下面要求编写程序:(1)定义函数fact(n)计算n!,函数返回值类型是double。
(2)定义函数main(),输入正整数n,计算并输出下列算式的值。
要求调用函数fact(n)计算n!。
一、程序阅读与填空(24小题,每小题3分,共72分)1. A A B C2. D D (A、B、C均可)B3. A A B B4. B B A A5. C D D C6. C D D C二、程序编写(每题14分,共28分)1. #include <stdio.h>void main(){ int a[100], x, i, count=0 ;printf("Input 100 integers:\n");for ( i=0; i<100; i++)scanf("%d", a+i);printf("Input integer x:\n");scanf("%d", &x);for ( i=0; i<100; i++)if ( a[i] == x ) count++;printf( "count=%d\n", count);}2. double fact (int n){ int i ;double s=1 ;for ( i=1; i<=n; i++)s *= i ;return s;}#include <stdio.h>void main(){ double s=0;int n, i ;do scanf("%d", &n);while (n<=0);for ( i=1; i<=n; i++)s += (n-i+1)/fact(i);printf("s=%f\n", s);}。