计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机软件水平考试
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
程序员(初级)
信息系统项目管理师(高级)
系统分析师(高级)
系统架构设计师(高级)
网络规划设计师(高级)
系统规划与管理师(高级)
软件评测师(中级)
软件设计师(中级)
网络工程师(中级)
多媒体应用设计师(中级)
嵌入式系统设计师(中级)
电子商务设计师(中级)
系统集成项目管理工程师(中级)
信息系统监理师(中级)
信息安全工程师(中级)
数据库系统工程师(中级)
信息系统管理工程师(中级)
软件过程能力评估师(中级)
计算机辅助设计师(中级)
计算机硬件工程师(中级)
信息技术支持工程师(中级)
程序员(初级)
网络管理员(初级)
信息处理技术员(初级)
电子商务技术员(初级)
信息系统运行管理员(初级)
网页制作员(初级)
多媒体应用制作技术员(初级)
PMP项目管理员资格认证
程序员应用技术
程序员基础知识
程序员应用技术
填空题[说明] 已知类SubClass的getSum方法返回其父类成员i与类SubClass成员j的和,类SuperClass中的getSum为抽象函数,程序中的第14行有错误,请修改该错误并给出修改后的完整结果,然后完善程序中的空缺,当程序运行到第22行且尚未执行第22行语句时成员变量i的值,最后给出程序运行后的输出结果。 [Java代码] 行号 代码 01 public class Mainjava 02 public static void main(String[] args) 03 SuperClass s = new SubClass () ; 04 System. out .println (s. getValue ()) ; 05 System. out .println (s.getSum ()) ; 06 07 08 abstract class SuperClass 09 private int i; 10 public SuperClass () i= 5; 11 public int getValue () 12 return i; 13 14 public final abstract int getSum(); 15 16 class SubClass extends SuperClass 17 int j; 18 public SubClass () 19 this (-3); 20 21 public SubClass (int j) 22 (1) .j=j; 23 24 public int getValue () return j; 25 public int getSum() 26 return (2) . getValue() + j; 27 28
进入题库练习
填空题[说明] 编写一个函数,输入为偶数时,调用函数求1/2+?/+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n (利用指针函数)。[函数] #include "stdio. h", main() float peven (),podd (),dcall (); float sum; int n; while (1) scanf("%d",&n); if (n>1) break; if(n%2==0) printf("Even="): (1); else pfinff("Odd="); (2) ; printf("%f",sum); float peven (int n) float s; int i s=1; for(i=2;i<=n;i+=2) (3) ; return (s); float podd (n) int n; float s; int i; s=0; for(i=1 i<=n;i+=2) (4) ; return (s); float dcall(fp,n)float (*fp) ();int n;float s; (5) ;returu (s);
进入题库练习
填空题[说明]某绘图系统中有两个画矩形的程序DP1和DP2。程序DP1用函数drawaline(x1,y1,x2,y2)画一条直线,程序DP2则用函数drawline(x1,x2,y1,y2)画一条直线。当实例化矩形时,确定使用DP1还是DP2。为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。若将“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)和具体实现不同,则将这种应用称为Bridge(桥接)模式。图8-9显示了该系统与矩形绘制相关的各个类之间的关系。系统始终只处理3个对象:Shape对象、Drawing对象,以及DP1或DP2对象。以下是C++语言的实现过程,能够正确编译通过。[C++程序]classDP1public:staticvoiddrawaline(doublex1,doubley1,doublex2,doubley2)…//省略具体实现;classDP2public:staticvoiddrawline(doublex1,doublex2,doubley1,doubley2)//省略具体实现;ClassDrawingPublic:virtualvoiddrawLine(doublex1,doubley1,doublex2,doubley2)=0;;classV1Drawing:publicDrawingpublic:voiddrawLine(doublex1,doubley1,doublex2,doubley2)DP1::draw_a_line(x1,y1,X2,y2);;classV2Drawing:publicDrawingpublic:voiddrawLine(doublex1,doubley1,doublex2,doubley2)(1);;classShapePrivate:(2)_dp;Public:Shape(Drawing*dp);(3)voiddraw()=0;voiddrawLine(doublex1,doubley1,doublex2,doubley2);;Shape::Shape(Drawing*dp)_dp=dp;voidShape::drawLine(doublex1,doubley1,doublex2,doubley2)//画一条直线(4);classRectangle:public(5)private:double_x1,_y1,_x2,_y2;public:Rectangle(Drawing*dp,doublex1,doubley1,doublex2,doubley2);voiddraw();;Rectangle::Rectangle(Drawing*dp,doublex1,doubley1,doublex2,doubley2):(6)_x1=x1;_y1=y1;_x2=x2;_y2=y2;voidRectangle::draw()…//省略具体实现
进入题库练习
填空题阅读以下函数说明和C语言函数,将应填入{{U}} (n) {{/U}}处的字句写在对应栏内。 [说明] 函数int psort(int a[],int n)实现将含n个整数的数组a[]的不同元素按从小到大顺序存于数组a[]中。实现方法是从未确定的元素列中找到最小元素并将a[]的第i最小元素交换至a[i]位置。如该最小元素比已确定的最后一个最小元素大,则将它接在已确定的元素序列的后面;否则,忽视该元素。 [C函数] int psort(int a[],int n) {int i,J,k,P; for(i=0,k=0;i<{{U}} (1) {{/U}};i++){ for(j=i+1, {{U}}(2) {{/U}};j<n; j++) if(a[p]>a[j]) p=j; if(p!=i){ t=a[p]; a[p]=a[i]; a[i]=t; } if({{U}} (3) {{/U}}) k++; else if({{U}} (4) {{/U}}<a[i]) {{U}} (5) {{/U}}=a[i]; } return k; } int a[]={5,7,5,6,4,3,4,6,7}; main() {int k,n; for(k=0;k<(Sizeof a)/Sizeof(int);k++) printf("%5d",a[k]); printf ("/n/n"); n=psort(a,(sizeof(a))/sizeof(int)); for(k=0;k<n;k++) printf("%5d",a[k]); printf("/n/n"); }
进入题库练习
填空题【说明】 以下程序的功能是计算三角形、矩形和正方形的面积并输出。 程序由4个类组成:类Triangle、Rectangle和Square分别表示三角形、矩形和正方形;抽象类Figure提供了一个纯虚拟函数getArea(),作为计算上述3种图形面积的通用接口。 【C++程序】   #include<iostream.h> #include<math.h> class Figure { public: virtual double getArea()=0; //纯虚拟函数 }; class Rectangle:{{U}} (1) {{/U}}{ protected: double height; double width; public: Rectangle() {}; Rectangle(double height,double width) { this->height=height; this->width=width; } double getArea() { return{{U}} (2) {{/U}}; } }; class Square:{{U}} (3) {{/U}}{ public: Square(double width){ {{U}} (4) {{/U}}; } }; class Triangle:{{U}} (5) {{/U}}{ double la; double lb; double lc; Public: Triangle(double la, double lb, double lc) { This->la=la; this->lb=lb; this->lc=lc; } double getArea() { double s = (la+lb+±c)/2.0; return sqrt(s,(s-la)*(s-lb)*(s-Ic)); } }; void main() { Figure*figures[3]={ new Triangle(2,3,3), new Rectangle(5,8), new SqUare(5)); for(int i=0;i<3;i++){ cout<<"figures["<<i<<"]area="<<(figures[i])->getArea()<<endl; } }
进入题库练习
填空题[说明] 下面程序实现十进制向其他进制的转换。 [C++程序] #include "iostream.h" #include "math.h" #include <conio.h> typedef struct node int data; node *next; Node; class Transform public : void Trans (int d,int i) ; //d为数字;i为进制 void print () ; private : Node *top; void Transform::Trans(int d,int i) int m,n=0; Node *p; while (d>0) (1) ; d=d/i; p=new Node; if(!n) p->data=m; (2) ; (3) ; n++; else p->data=m; (4) ; (5) ; void Transform: :print () Node *p; while (top ! =NULL) p=top; if (p->data>9) cout<<data+55 ; else cout<<data; top=p->next ; delete p;
进入题库练习
填空题[说明]某大学城图书馆需要在无线阅览厅的某些位置上放置无线接入点AP(AccessPoin)。假设每个无线AP覆盖范围的半径是6米,因此必须使得每台笔记本计算机上的无线网卡到某个无线AP的直线距离不超过6米。为了简化问题,假设所有无线网卡都在同一直线卜,并且无线AP沿该直线放置。该问题可以建模为如图8-1所示,其中直线表示无线网卡所在的直线,实心正方形表示无线网卡。现采用贪心策略来实现用尽可能少的无线AP覆盖所有的无线网卡。基于贪心算法实现以上应用需求的基本思想是:问题的规模为N,从第1个无线网卡(最左端)开始布局无线AP,把第1个无线AP放置在该无线网卡右方的6米处,此时该无线AP会覆盖从第1个无线网卡到该无线网卡右方直线长度为12米的所有无线网卡,假设覆盖了N1个无线网卡。此时间题规模变成了N-N1,接着把第1个无线AP覆盖的无线网卡去掉,再从N-N1中选择第1个(最左端)无线网卡开始布局无线AP,将第2个无线AP放置在该无线网卡右方的6米处。依此布局,直到覆盖所有的无线网卡为止。图8-2是问题解的模型,其中,直线表示无线网卡所在的直线,实心正方形表示无线网卡,实心圆形表示无线AP,虚线圆对应无线AP为圆心,虚线圆的直径为相应无线AP的覆盖范围(12米)。实现以上贪心算法的流程如图8-3所示。其中,①d[i](1≤i≤N)表示第i张无线网卡到通道A端的距离,N表示无线网卡的总数,无线网卡的编号按照无线网卡到通道A端的距离从小到大进行编号;②s[k]表示第k(k≥1)个无线AP到通道A端的距离。算法结束后,k的值为无线AP的总数。
进入题库练习
填空题[说明] 设有一个带头结点的双向循环链表L,每个结点有4个数据成员:指向前驱结点的指针prior、指向后继结点的指针next、存放数据的成员data和访问频度freq。所有结点的freq初始时都为0。每当在链表上进行一次L.Locate(x)操作时,令元素值x的结点的访问频度freq加1,并将该结点前移,链接到现在它的访问频度相等的结点后面,使得链表中所有结点保持按访问频度递减的顺序排列,以使频繁访问的结点总是靠近表头。 [函数] void Locate(int &x) <结点类型说明> *p=first->next; while(p!=first && (1) )p=p->next; if(p!=first) (2) ; <结点类型说明> *current=p; current->prior->next=current->next; current->next->prior=current->prior; p=current->prior; while(p!=first && (3) )p=p->prior; current->next= (4) ; curren->prior=p; p->next->prior=current; p->next= (5) ; else printf("sorry.Not find! /n");
进入题库练习
填空题阅读以下说明和Java程序,将应填入{{U}} (n) {{/U}}处的字句写在对应栏内。 [说明] 下面程序实现十进制向其它进制的转换。 [Java程序] ClasS Node{ int data; Node next; } class Transform{ private Node top; public void print(){ Node p; while(top!=null){ P=top; if(P.data>9) System.out.print((char)(P.data+55)); else System.out.print(p.data); top=p.next; } } public void Trans(int d,int i){//d为数字;i为进制 int m; {{U}} (1) {{/U}}n=false; Node p; while(d>0){ {{U}} (2) {{/U}}; d=d/i; p=new Node(); if({{U}} (3) {{/U}}){ p.data=m; {{U}} (4) {{/U}}; top=P; n=true; } else{ p.data=m; {{U}} (5) {{/U}}; top=P; } } } }
进入题库练习
填空题【说明】 为了减少直接插入排序关键字的比较次数,本算法使用了二分(折半)插入法对一个无序数组R[1.n]进行排序。排序思想是对一个待插入元素,先通过二分法(折半)找到插入位置,后移元素后将该元素插入到恰当位置(假设R[]中的元素互不相同)。 【算法】 1.变量声明 X:DataType i,j,low,high,mid,R[0..n]) 2.每循环一次插入一个R[i] 循环:i以1为步长,从2到n,反复执行 ①准备 X<-R[i]; (1) ;high<-i-1; ②找插入位置 循环:当 (2) 时,反复执行 (3) ; 若X.key<R[mid].key 则high<-mid-1 否则 (4) ③后移 循环:j以-1为步长,从 (5) ,反复执行 R[j+1]<-R[j] ④插入 R[low]<-X 3.算法结束
进入题库练习
填空题[说明] 用输入/输出写一个程序,让用户输入一些姓名和电话号码。每一个姓名和号码将加在文件里。用户通过点“Done”按钮来告诉系统整个列表已输入完毕。 如果用户输入完整的列表,程序将创建一个输出文件并显示或打印出来。格式如:555,1212,Tom 123-456-7890,Peggy L.234-5678,Marc 234-5678,Ron 876-4321,Beth byte [] name=new byte [lineLength]; int i; try fos= new FileOutputStream ("phone. numbers"); catch (FileNotFoundException e) while (true) (1) ("Enter a name (enter 'done' to quit)"); (2) (name); if ("done". equalsIgnoteCase (new String (name,0,0,4))) break; System.err.println ("Enter the phone number"); readLine (phone); for (int i=0;phone [i]!=0;i++) (3) ; fos.write (','); for (int i=0 (4) ;i++) fos. write (name [i]); fos. write ('/n'); fos. close(); private static void readLine (byte line []) throws IOException int i=0,b=0; while ((i< (5) ) line[i]= ( byte ) 0;
进入题库练习
填空题[说明]字符组合:程序界面如图示,在文本框Text1中输入若干个任意字符,单击“颠倒”按钮,将这些字符按相反的顺序显示在标签Lable1中,并在标签Labs12处显示字符的个数。例如:输入abcabc2,显示为2cbabca,组成字符数为4。[VisualBasic代码]PrivateSubcmdshow_Click(DimnAsIntegerDimIAsIntegerDimstr1AsStringN=Len(Text1.Text)ForI=nToStep-1Str1=(1)NextILabe11.Caption=Str1EndSubPrivateSubcmdcount_Click()DimnAsIntegerDiminAsIntegerDimiAsIntegerDimjAsIntegerDimflagAsIntegerDimstr1AsIntegerDimstr2AsIntegerN=(2)Str1=Mid$(Text1.Text,i.1ForI=2TonStr2=mid$(Text1,Text,I,1M=Len(str1)(3)Forj=1TomIf(4)Thenflag=1;ExitForNextjIfflag<>1thenstr1=str1&str2NextILable2.Caption=(5)EndSub
进入题库练习
填空题阅读以下函数说明和C语言函数,将应填入 (n) 处的字句写在对应栏内。 [说明] 这是一个求解Josephus问题的函数。用整数序列1,2,3…,n表示顺序围坐在圆桌周围的人,并采用数组表示作为求解过程中使用的数据结构。Josephus问题描述,设n个人围坐在一个圆桌周围,现在从第s个人开始报数,数到第m个人,让他出局;然后从出局的下一个人重新开始报数,数到第m个人,再让他出局,…如此反复直到所有的人全部出局为止。 [C函数] void Josephus(int A[],int n,s,m) (int i,j,k,temp; if(m==O) printf("m=0是无效的参数!/n"); return; for(i=0;i<n;i++) A[i]=i+1; /*初始化,执行n次*/ i= (1) /*报名起始位置*/ for(k=n;k>1;k-) if( (2) ) i=0; i= (3) /*寻找出局位置*/ if(i!=k-1) tmp=A[i]; for(j=i;J<k-1;j++) (4) ; (5) ; for(k=0;k<n/2;k++) tmp=A[k];A[k]=A[n-k+1];A[n-k+1]=tmp;
进入题库练习
填空题【说明】 下面程序的功能是找出所有三位数中,个、十、百位数字的立方和等于该数本身的三位数并显示。在程序的每条横线处填写一个适当的词或语句,使程序的功能完整。 public (1) class cube_Root public static void (2) main(String args[]) System. out. println ("个、十、百位数字的立方和等于该数本身的三位数有:"); for(int n=100;n<1000;n++) int a,b,c; (3) b=n/10%10; (4) if( (5) ) System.out.println(n);
进入题库练习
填空题【说明】下列流程图(如图4所示)用泰勒(Taylor)展开式sinx=x-x3/3!+x5/5!-x7/7!+…+(-1)n×x2n+1/(2n+1)!+…【流程图】计算并打印sinx的近似值。其中用ε(>0)表示误差要求。
进入题库练习
填空题[说明] 以下程序的功能是计算三角形、矩形和正方形的面积并输出,程序由5个类组成:AreaTest是主类,类Trianlge、Rectangle和Square分别表示三角形、矩形和正方形,抽象类Figure提供了一个计算面积的抽象方法。 [程序] public class AreaTest public static void main(String args []) Figure [] figures= new Triangle (2,3,3) ,new Rectangle (5,8) ,new Square (5) ; for (int i=0; 1 System. out .println (figures [i] +"area=" +figures [i]. getArea ()); public abstract class Figure public abstract double getArea() ; public class Rectangle extends (1) double height; double width; public Rectangle(double height, double width) this .height=height; this.width=width; public String toString () return "Rectangle: height= "+height+" , width= "+width+":"; public double getArea () return (2) ; class Square extends (3) public Square(double width) (4) ; public string toString () return "Square: width= "+width+" : " ; class Triangle extends (5) double la; double lb; double lc; public Triangle(double la,double lb, double lc) this.la=la; this.lb=lb; this.lc=lc; public String toString() return "Triangle : sides= "+la+" , "+lb+" , " +lc+" : " ; public double getArea () double s= (la+lb+lc)/2.0; return Math. sqrt (s* (s-la) * (s-lb) * (s-lc)) ;
进入题库练习
填空题阅读以下说明和流程图回答问题,将解答填入对应栏。 [说明] “直接插入法”排序是一种N2运算量的例程,只能用在N较小的时候,其方法是:挑出第二个数将它按与第一个数大小的顺序插入,然后挑出第三个数将它按大小顺序插入到前两个数中,如此下去,一直到最后一个也插入。 注:流程中循环开始的说明按照“循环变量:循环初值,循环终值,增量”格式描述。 [问题] 将流程图的(1)~(5)处补充完整。
进入题库练习
填空题【说明】 设计一个日期类Date包括年、月、日等私有数据成员。要求实现日期的基本运算,如某日期加上天数、某日期减去天数、两日期相差的天数等。 在Date类中设计如下重载运算符函数: Date operator + (int days) : 返回某日期加上天数得到的日期。 Date operator - (int days) : 返回某日期减去天数得到的日期。 int operator - (Date //day_tab二维数组存放各月天数,第一行对应非闰年,第二行对应闰年class Date { int year, month, day //年,月,日 int leap(int); //判断是否闰年 int dton(Date month = m; day = d;} void setday(intd){day = d;} void setmonth(int m) {month = m;} void setyear(int y) {year =y;} int getday() {return day;} int getmonth() {return month:} int getyear() {return yea;} Date operator + (int days) //+运算符重载函数 { static Date date; int number ={{U}} (1) {{/U}} date = ntod(number) return date } Date operator - (int days) //-运算符重载函数 { staffs Date date; int number={{U}} (2) {{/U}}; number - = days; date = ntod(number) return date; } int operator - (Date return days; } void disp() { cout<<year<<"."<<month<<". "<<day<<endl; } }; int Date: :leap( int year) if({{U}} (4) {{/U}}) //是闰年 return 1; //不是闰年 else return0: } int Date:: dton( Date for(y=1;y<=d. year;y++) if({{U}} (5) {{/U}})days+ =366; //闰年时加366天 else days + = 365; //非闰年时加365天 for(m =0;m<d. month-1;m++) if( (6) ) days += day_tab[1] [m]; else days +=day_tab[0] [m]; days + = d. day; return days; } Date Date::ntod(intn) //将从元0年0月0日的天数转换成日期 { int y=1,m = 1,d,rest = n,lp; while(1) { if(leap(y)) if(rest<= 366) break; else rest - = 366; else //非闰年 if(rest = 365 ) break; else rest-=365; y++; } y--; Ip = leap(y); while(1) { if(lp) //闰年 if(rest>day_tab[1] [m - 1]) rest -= day_tab[1] [m-1]; else break; else //非闰 if(rest>day_tab[0] [m -1]) rest -= day_tab[0] [m-1]; else break; m++; } d = rest; return Date(y;m,d); } void main() { Date now(2003,10,1) ,then(2005,6,5); cout<<" now:";now. disp(); cout<<" then:";then. disp(); cout<<"相差天数:"<<(then-now)<<endl; Date dl = now + 1000,d2 = now - 1000; cout<<"now + 1000:" ;d1. disp(); cout<<" now - 1000:" :d2. disp(); }
进入题库练习
填空题[函数2.1说明] 求任意两个正整数的最大公约数的欧几里德算法。用辗转相除法求正整数m和n的最大公约数,并返回该公约数。[函数2.1] void func1(int m, int n) r=m% n;while(r<>0) (1) ; n=r; (2) ; return n; [函数2.2说明] 判断101~200之间有多少个素数,并输出所有素数。用一个数分别去除2到sqrt (这个数),如果能被整除,则表明此数不是素数,反之是素数。[函数2.2]void func2 ( ) int m, i, k, h=0,leap=1; printf ( "/n" ); for ( m=101;m<=200;m++ ) (3) ; for (i=2;i<=k; i++ ) if( (4) ) leap=0;break; if ( leap ) printf ( "%-4d",m ); (5) ; if ( h%10==0 ) printf ( "/n" ); leap=1; printf ( "/n The total is %d", h );
进入题库练习
填空题【说明】]开发一个五笔编码查询系统,界面如图所示。五笔编码存放在word.txt文件中,它的格式是:<汉字>,<编码>。程序的任务需要以<汉字>为关键字去查询它所对应的编码。根据前面的设计,用两个ComboBox来完成。m_cmbZi存放单字,m_cmbWord存放<汉字>,<编码>序列。当用户输入汉字的时候,在m_cmbZi中查找到相应的序号,然后再对应到mcmbWord中,这样就完成了查找动作。把查找出来的序列显示出来,之后再把这个序列送到列表框中,在列表框中保存着最近几次查找的结果,以方便浏览。【VisualC++代码】//在m_cmbWord中查找位置、显示并加主到列表框voidCWMPropDlg::OnSelchangeCombozi()intnSel=m_cmbZi.GetCurSel();//获得输入汉字的序号if(-1!=nSel)(1);//查找mcmbWord中五笔编码m_cmbWord.GetWindowText(m_strLastHit);(2);//显示到标签上CRectrect;(3);intnCount=rect.Height()/m_listHitHist.GetltemHeight(0);if((4))m_listHitHist.DeleteString(0);m_listHitHist.InsertString(-1,m_strLastHit);m_cmbZi.SetEditSel(0,-1);(5);
进入题库练习