计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机软件水平考试
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
程序员(初级)
信息系统项目管理师(高级)
系统分析师(高级)
系统架构设计师(高级)
网络规划设计师(高级)
系统规划与管理师(高级)
软件评测师(中级)
软件设计师(中级)
网络工程师(中级)
多媒体应用设计师(中级)
嵌入式系统设计师(中级)
电子商务设计师(中级)
系统集成项目管理工程师(中级)
信息系统监理师(中级)
信息安全工程师(中级)
数据库系统工程师(中级)
信息系统管理工程师(中级)
软件过程能力评估师(中级)
计算机辅助设计师(中级)
计算机硬件工程师(中级)
信息技术支持工程师(中级)
程序员(初级)
网络管理员(初级)
信息处理技术员(初级)
电子商务技术员(初级)
信息系统运行管理员(初级)
网页制作员(初级)
多媒体应用制作技术员(初级)
PMP项目管理员资格认证
程序员应用技术
程序员基础知识
程序员应用技术
填空题【说明】 以下程序实现了利用鼠标任意移动该圆形的位置,仔细阅读代码和相关注释,将程序补充完整。 【代码6】 import java.awt.*; import java.awt.event.*; public class CIUSAMPLE extends Frame implements MouseMotionListener, MouseListener static CIUSAMPLE frm=new CIUSAMPLE (); int x=70,y=60,posX=70,posY=60,dx,dy; public static void main ( String args[]) frm.setTitle ("Dragging a circle"); frm.setSize ( 200,150 ); (1) frm.addMouseMotionListener ( frm ); frm. setVisible ( true ); public void mousePressed ( MouseEvent e ) (2) dy=e.getY () -posY; public void mouseDragged ( MouseEvent e ) (3) y=e.getY () -dy; if ( dx>0 (4) public void paint ( Graphics g ) g.setColor ( Color. pink ); // 设置绘图颜色为粉红 g.fillOval ( x,y,50,50 ); //以基准点为图形的左上角绘出圆形 (5) posY=y; public void mouseMoved ( MouseEvent e ) public void mouseReleased ( MouseEvent e ) public void mouseEntered ( MouseEvent e ) public void mouseExited ( MouseEvent e ) public void mouseClicked ( MouseEvent e )
进入题库练习
填空题[说明] 下面程序定义了一个类Point及其成员函数,然后从类Point派生出类Circle及其成员函数。 [C++程序] //POINT. H #ifndef POINT_H # define POINT_H class Point public: Point (float x=0,float y=0) ; void setPoint (float, float) ; float getX () const return x; float getY () const return y; protected: float :x,y; ; #endif //POINT.CPP #include <iostream.h> #include " point .h " Point :: Point (float a, float b) x=a; y=b void Point::setPoint(float a,float b) x=a; y=b //CIRCLE . H #ifndef CIRCLE_H #define CIRCLE_H #include "point.h" class Circle: (1) public : Circle (float r=0.0, float x=0, float y=0) ; void setRadius (float) ; float getRadius () const; float area() const; protected: float radius; ; //CIRCLE.CPP #include "iostream.h" #include "circle .h " Circle::Circle(float r,float a,float b) : (2) radius=r; void Circle::setRadius (float r) radius=r; float Circle::getRadius () const return radius; float Circle::area () const return 3 .14159*radius*radius ; //text.cpp #include <iostream.h> #include " point .h " #include " circle .h " main () Circle c(2.5,3.7,4.3) ; cout<< "X coordinate is "<<c.getX () <</n Radius is: "<<c.getRadius (); (3) ; //设置新的圆心 (2,2) 。 Point &pRef=c; cout<<"/n Circle printed as a point is:" <<"]"<< (4) <<"."<< (5) <<"]";
进入题库练习
填空题阅读以下函数说明和C语言函数,将应填入{{U}} (n) {{/U}}处的字句写在对应栏内。 [说明1] 函数void fun(char*w,char x,int*n)用来在w数组中插入x,w数组中的数已按由小到大顺序存放,n指存储单元中存放数组中数据的个数,插入后数组中的数仍有序。 [C函数1] void fun(char*W,char x,int*n) { int i,P; p=0; w[*n]=x; while(x>w[p]){{U}} (1) {{/U}}; for(i=*n,i>p;i--)w[i]={{U}} (2) {{/U}}; w[p]=x; ++*n; } [说明2] 函数void revstr(char*s)将字符串s逆置。例如:字符串“abcde”,经过逆置后变为“edcba”。 [C函数2] void revstr(char*s) { char*p,c; if(s==NULL)return; p={{U}} (3) {{/U}}; /*p指向字符串s的最后一个有效字符*/ while(s<p){ /*交换并移动指针*/ C=*s; {{U}} (4) {{/U}}=*p; {{U}} (5) {{/U}}=c; } }
进入题库练习
填空题已知类Stock和类JavaMain都定义在JavaMain.java文件中,类Stock的定义中有四处错误,分别在代码的第01、02、06、07行。请修改错误并给出修改后该行的完整代码,并写出改正错误后程序运行的输出结果。
进入题库练习
填空题[说明] 若S和T是用结点大小为1的单链表存储的两个串,试设计一个算法找出S中第一个不在T中出现的字符。查找过程是这样的,取S中的一个字符(结点),然后和T中所有的字符一一比较,直到比完仍没有相同的字符时,查找过程结束,否则再取S中下一个字符,重新进行上述过程。 [函数] typedef struct node { char data; struct node *next; }LinkStrNode; //结点类型 typedef LinkStrNode *LinkString; //LinkString 为链串类型 LifikString S; //S 是链串的头指针 char SearchNoin ( LinkString S, LinkString T ) {//查找不在T中出现的字符 LinkStrNode *p, *q; {{U}} (1) {{/U}}; q=T; while ({{U}} (2) {{/U}}) {//取S中结点字符 while({{U}} (3) {{/U}})//进行字符比较 q=q->next; if(q==NULL) return {{U}}(4) {{/U}};//找到并返回字符值 q=T;//指针恢复串T的开始结点 ({{U}} (5) {{/U}}); } printf("there's no such character."); return NULL: }
进入题库练习
填空题【说明】下列流程图(如图4所示)用泰勒(Taylor)展开式sinx=x-x3/3!+x5/5!-x7/7!+…+(-1)n×x2n+1/(2n+1)!+…【流程图】计算并打印sinx的近似值。其中用ε(>0)表示误差要求。
进入题库练习
填空题阅读以下函数说明和C语言函数,将应填入 (n) 处的字句写在对应栏内。 [说明] 某银行共发出M张储蓄卡,每张储蓄卡拥有唯一的卡号,每天每张储蓄卡至多支持储蓄卡持有者的N笔“存款”或“取款”业务。程序中用数组card[M][N+3]中的每一行存放一张储蓄卡的有关信息,其中: card[i][0]存放第i张卡的卡号; card[i][1]存放第i张卡的余额; card[i][2]存放第i张卡的当日业务实际发生笔数; card[i][3]~card[i][N+2]存放第i张卡的当日存取款金额,正值代表存款,负值代表取款。 当持卡者输入正确的卡号、存款或取款金额后,程序进行相应的处理;若输入不正确的数据,程序会提示持卡者重新输入;若输入的卡号为负数时,银行终止该卡的当日业务。 [C程序] #include<stdio.H> #define M 6 #define N 5 long card[M][N+3]=9801,2000,0,,9812,2000,2,,9753,3000,1,, 8750,500,0,,9604,2800,3,),(8901,5000,5,; int locate(long card[][N+3],int m,long no) int i; for(i=0;i<m;i++) if( (1) ==no) return i; (2) ; main() long cardNo,money; int k; while(1) printf("请输入卡号:/n"); scanf("%1d", if(cardNo<0) break; k=locate(card,M,cardNo); if(k==-1) printf("不存在%id号的储蓄卡/n",cardNo); continue; printf("请输入金额(正值代表存款,负值代表取款):/n"); scanf("%id", if(card[k][1]+money<0) printf("存款余额不足,不能完成本次的取款业务/n"); continue; if(card[k][2]==N) printf("已完成本卡的当日业务/n"); continue; /*处理一笔业务的数据*/ card[k] (3) =money; (4) ; (5) ;
进入题库练习
填空题阅读以下说明和C++程序,将应填入{{U}} (n) {{/U}}处的字句写在对应栏内 [说明] 以下程序的功能是计算三角形、矩形和正方形的面积并输出。 程序由4个类组成:类Triangle,Rectangle和Square分别表示三角形、矩形和正方形;抽象类Figure提供了一个纯虚拟函数getArea(),作为计算上述三种图形面积的通用接口。 [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->ib;this->lc; } double getArea(){ double s=(la+lb+lc)/2.0; return sqrt(s*(s-la)**(s-lb)*(s-lc)); } }; viod 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)->getarea()<<endl; } } };
进入题库练习
填空题[说明] 下面程序是一个小型公司工资管理的程序。该公司主要有4类人员:经理、兼职技术人员、销售员和销售经理。基类为employee,由它派生出technician类,manager类,salesman类,最后由manager类和salesman类派生出salesmanager类。月工资计算办法是:经理拿固定月薪8000;兼职技术人员按每小时100元领取月薪; 销售按当月销售额的4%提成; 销售经理既拿固定月工资也领取销售提成,固定月工资5000元,销售提成为所管辖部门当月销售总额的0.5%。 [C++程序] #include<iostream.h> #include<string.h> class employee protected: int no; char name [10] ; float salary; public : employee () cout<< "职工编号: " ; cin>>no ; cout<<"职工姓名:"; cin>>name ; salary= 0 ; void pay () void display () ; class technician:public employee private : float hourlyrate; int workhours; public : technician() hourlyrate=100; void pay () cout<<name本月工作时数: " ; cin>>workhours ; salary=hourlyrate*workhours; void display () cout<<"兼职技术人员"<<name<<"(编号为"<<no/ <<")"<<"本月工资:"<<salary<<endl; ; class salesman: (1) protected: float commrate; float sales; public: salesman() commrate=0.04; void pay() cout<<name<<"本月销售额:"; cin>>sales; salary= (2) ; void display() cout<<"销售额"name<<"(编号"<<no<</ <<")"<<"本月工资:"<<salary<<endl; ; class manager: (3) protected: float monthlypay; public: manager()monthlypay=8000; void pay()salary=monthlypay; void display() cout<<"经理"<<name<<"(编号为"<<no/ <<")"<<"本月工资:"<<salary<<endl; ; class salesmanager: (4) public: salesmanager() monthlypay=5000; commrate=0.005; void pay() cout<<name<<"所管部门月销售量:"; cin>>sales: salary= (5) ; void display() cout<<"销售经理"<<name<<"(编号为"<<no/ <<")"<<"本月工资:"<<salary<<endl; ;
进入题库练习
填空题【说明】 以下程序的功能是计算正方体、球体和圆柱体的表面积和体积并输出。 程序由4个类组成:类cube、sphere和cylinder分别表示正方体、球体和圆柱体;抽象类 container为抽象类,提供了两个纯虚拟函数surface_area()和volum(),作为通用接口。 【C++程序】 #include<iostream.h>   #define pi 3.1416 class container{   protected:   double radius;   public: container(double radius) container::radius=radius; virtual double surface_area()=0; virtual double velum()=0; ; class cube: (1) //定义正方体类 public: cube(double radius):container(radius); double surface_area () return 6 * radius * radius; double volum() return radius * radius * radius; ; class sphere: (2) //定义球体类 public: sphere(double radius): container(radius); double surface_area() return (3) ; double volum() return pi * radius * radius * radius * 4/3; ; class cylinder: (4) //定义圆柱体类 double height; public: cylinder(double radius,double height):container(radius) container::height=height; double surface_are a () return 2 * pi * radius * (height+radius); double volum () return (5) ; ; void main() container * p; cube obj1 (5); sphere obj2(5); cylinder obj3(5,5); p= cout<<“正方体表面积”(<<p->surface_area()<<end1; cont<<“正方体体积”<<p->volume()<<end1; p= cout<<“球体表面积”<<p->surface_area()<<end1; cout<<“球体体积”<<p->volume()<<end1; p= cout<<“球体表面积”<<p->surface_area()<<end1; cout<<“球体体积”<<p->volume()<<end1;
进入题库练习
填空题【说明】 以下程序为求行列式X(5,5)的值S。 【Visual Basic代码】 Private Function col ( byval x ( 5,5 ) as integer ) as long dim fesult as long dim temp as long dim I as integer dim j as integer dim k as imeger result = 0 for I = to 5 {{U}}(1) {{/U}} for j = 1 to 5 if I+j>6 then k= ( 1+j ) mod 5 else k=1 endif temp=temp*x ( k,j ) {{U}} (2) {{/U}} result={{U}} (3) {{/U}} {{U}}(4) {{/U}} {{U}}(5) {{/U}} End function
进入题库练习
填空题[函数8.1说明] 现考虑编写一个扑克游戏:只用一副无大小王的扑克,扑克的花色(suit)分为Spade、Heart、Diamond和Club,每门花色的牌共13张,面值(rank)分别为2、3、4、5、6、7、8、9、10、Jack、Queen、King和Ace,每张扑克牌应包含如下信息:惟一的ID号(1~52)、花色、面值、背面图案的编号等。每张扑克牌的操作有:判断两张扑克牌是相同花色吗?相同面值吗,判断一张扑克牌是给定的花色吗?是给定的面值吗?请补充扑克牌类Card类的声明和实现代码,要求选取适当形式的数据成员描述每张扑克牌的信息,同时以成员函数的形式实现指定的操作。 [C++程序] const enum SUIT {SPADE=0,HEART,DIAMOND,CLUB}; const enum RANK{TWO=0 THREE,FOUR,FIVE,SIX,SEVEN,EIGHT,NINE,TEN,JACK,QUEEN,KING,ACE}; class Card。 { public: {{U}} (1) {{/U}}(int id):mID (id),mSuit((id 1)/13),mRank((id-1)%13) {} bool IsSameSuit (const Card int b; public: vector (int x=0,int y=0):a(x),b(y){} double operator*({{U}} (4) {{/U}}) { double c; {{U}} (5) {{/U}}; return c; } void input (int x, int y) {a=x; b=y; } void output () {cout<<'('<<a<<',' <<b<<") "<<end1; } }; void main() { vector x(10,20),y; //定义x, y, z三个矢量类对象,并将x置初值(10,20) doubled;//定义实数d以存放点乘结果 y. input (2,3); //给y赋值为(2,5) d=x*y;//两矢量点乘 x. output (); //输出矢量x y. output (); //输出矢量y cout<<d<<end1; //输出点乘结果 }
进入题库练习
填空题【说明】 下面程序的功能是找出所有三位数中,个、十、百位数字的立方和等于该数本身的三位数并显示。在程序的每条横线处填写一个适当的词或语句,使程序的功能完整。 public{{U}} (1) {{/U}}class cube_Root { public static void{{U}} (2) {{/U}}main(String args[]) { System. out. println ("个、十、百位数字的立方和等于该数本身的三位数有:"); for(int n=100;n<1000;n++) { int a,b,c; {{U}} (3) {{/U}} b=n/10%10; {{U}} (4) {{/U}} if({{U}} (5) {{/U}}) System.out.println(n); } } }
进入题库练习
填空题[函数说明3.1]假设两个队列共享一个循环向量空间(参见右图),其类型Queue2定义如下:typedefstructDateTypedata[MaxSize];intfront[2],rear[2];Queue2;对于i=0或1,front[i]和rear[i]分别为第i个队列的头指针和尾指针。函数EnQueue(Queue2*Q,inti,DateTypex)的功能是实现第i个队列的入队操作。[函数3.1]intEnQueue(Queue2*Q,inti,DateTypex)//若第i个队列不满,则元素x入队列,并返回1;否则返回0。if(i<0||i>1)return0:if(Q->rear[i]==Q->front[(1)])return0:Q->data[(2)]=x;Q->rear[i]=[(3)];return1:[函数说明3.2]函数BTreeEqual(BinTreeNode*T1,BinTreeNode*T2)的功能是用递归法判断两棵二叉树是否相等,若相等则返回1,否则返回0。函数中参数T1和T2分别为指向这两棵二叉树根结点的指针。当两棵树的结构完全相同并且对应结点的值也相同时才被认为相等。已知二叉树中的结点类型BinTreeNode定义为:structBinTreeNodechardata;BinTreeNode*left,*right;;其中data为结点值域,left和right分别为指向左、右子女结点的指针域。[函数3.2]intBTreeEqual(BinTreeNode*T1,BinTreeNode*T2)if(T1==NULL&&T2==NULL)return1;//若两棵树均为空则相等elseif((4))return0;//若一棵为空一棵不为空则不等elseif((5))return1;//若根结点值相等并且左、右子树//也相等则两棵树相等,否则不等elsereturn0:
进入题库练习
填空题阅读以下函数说明和C语言函数,将应填入{{U}} (n) {{/U}}处的字句写在对应栏内。 [说明] 已知一棵二叉树用二叉链表存储,t指向根结点,p指向树中任一结点。下列算法为输出从t到P之间路径上的结点。 [C程序] #define Maxsize 1000 typedef struct node{ TelemType data; struct node*1child,*rchild; }BiNode,*BiTree; void Path(BiTree t,BiNode*P) { BiTree*stack[Maxsize],*stackl[Maxsize],*q; int tag[Maxsize],top=0,topl; q=t; /*通过先序遍历发现P*/ do(while(q!=NULL stack[top]=q; tag[top]=0; {{U}} (2) {{/U}}; } if(top>0) { if(stack[top]==P) break; /*找到P,栈底到栈顶为t到P*/ if(tag[top]==1)top--; else{q=stack[top]; q=q->rchild; tag[top]=1; } } } {{U}}(3) {{/U}}; top--; topl=0; while(top>0){ q=stack[top]; /*反向打印准备*/ topl++; {{U}} (4) {{/U}}; top--; } while({{U}} (5) {{/U}}){ /*打印栈的内容*/ q=stackl[topl]; printf(q->data); topl--; } }
进入题库练习
填空题【说明】 以下代码实现了当用户退出界面时,判断TextEdit中的文字是否发生改变,弹出对话框判断,让用户选择是否保存文件或取消退出界面操作。阅读下面的代码,将其补充完整。 【代码7-1】 Begin VB.Form Forml //...窗体描述(略) Begin VB.TextBox TextEdit Height = 1830 Left = 180 Tablndex = 0 Text = "TextEdit" Top = 360 Width = 3885 End //...窗体描述(略) End 【代码7-2】 Dim txtchange As Boolean Dim myval As String Private Sub Form Load () TextEdit.Text: "CIU, 中国软考联盟!" txtchange = False End Sub 【代码7-3】 Private Sub TextEdit_Change () Static notchange As Boolean (1) notchange = Tree End Sub Private Sub Form_Unload ( Cancel As Integer ) Dim myval As String If (2) Then myval = MsgBox ( "保存文件的更改吗?", vbYesNoCancel, "提示信息" ) If (3) Then MsgBox "保存成功" End End If If (4) Then End If (5) Then Cancel = 1 End If End Sub
进入题库练习
填空题[说明1]下面[C程序代码1]的设计意图是:计算1~100各数的平方。运行该段代码后,没有得到应有的运算结果。[C程序代码1]
进入题库练习
填空题阅读以下函数说明和C语言函数,将应填入 (n) 处的字句写在对应栏内。 [说明] 该程序从正文文件test.txt中读入一批整数,并将它们按照递增的顺序存放在一个链表中。其中,函数struct Link*insertChain(struct Link*head,structLink*k)用来寻找结点k在链表head中的插入位置,并插入该结点。 [C程序] #include <stdio.h> #include <stdlib.h> struct Link int number; struct Link *next; struct Link *insertChain(struct Link *head,struct Link *k); VOid main() struct Link *ptr, *head; FILE *fd; int hum; if((fd=fopen("test.txt","r"))==NULL) print("Cannot open this file!/n"); return; head=NULL; while(fscanf(fd,"%d",hum)==1) ptr= (1) ; if(!ptr) return; ptr->number=hum; ptr->next=NULL; head=insertChain(head,ptr); (2) ; return; struct Link *insertChain(struct Link *head,struct Link *k) struct Link *ptr,*u; ptr=head; while(ptr && k && k->number>ptr->number) u=ptr; (3) if(ptr == head) head=k; else (4) ; (5) ; return head;
进入题库练习
填空题[说明]某绘图系统存在Point、Line和Square3种图元,它们具有Shape接口,图元的类图关系如图8-5所示。现要将Circle图元加入此绘图系统以实现功能扩充。已知某第三方库已经提供了XCircle类,且完全满足系统新增的Circle图元所需的功能,但XCircle不是由Shape派生而来的,它提供的接口不被系统直接使用。[C++代码1]既使用了Xcircle,又遵循了Shape规定的接口,既避免了从头开发一个新的Circle类,又可以不修改绘图系统中已经定义的接口。[C++代码2]根据用户指定的参数生成特定的图元实例,并对其进行显示操作。该绘图系统定义的接口与XCircle提供的显示接口及其功能如表8-2所示。[C++程序代码1]classCircle:public(1)Private:(2)m_circle;public:voiddisplay()m_circle.(3);[C++程序代码2]classFactorypublic:(4)getShapeInstance(inttype)//生成特定类实例switch(type)case0:returnnewPoint;case1:returnnewRectangle;case2:returnnewLine;case3:returnnewCircle;default:returnNULL;;voidmainintargc,char*argv[])if(argc!=2)cout<<"errorparameters!"<<end1;return;inttype=atoi(argv[1]):Factoryfactory;Shape*s;s=factory.(5);if(s==NULL)cout<<"Errorgettheinstance!"<<end1;return;s->display();(6);return;
进入题库练习
填空题阅读以下函数说明和C语言函数,回答问题。 [说明] 函数Node *difference(A,B)用于求两个集合之差C=A-B,即当且仅当e是A中的一个元素,但不是B中的元素时,e是C中的元素。集合用有序链表实现,用一个空链表表示一个空集合,表示非空集合的链表根据元素之间按递增排列。执行C=A-B之后,表示集合A和B的链表不变,若结果集合C非空,则表示其链表根据元素之值按递增排列。函数append()用于在链表中添加节点。 [C函数] typedef struct node int element; struct node *link; Node; Node *A,*B,*C; Node *append(last,e) Node *last; int e; last->link=(Node *)malloc(sizeof(Node)); last->link->element=e; return(last->link); Node *difference(A,B) Node *A,*B; Node *c,*last; C=last=(Node *)malloc(sizeof(Node)); while( (1) ) if(A->element<B->element) last=append(last,A->element); A=A->link: else if( (2) ) A:A->link; B:B->link; elSe (3) ; while( (4) ) last=append(last,A->element); A=A->link: (5) ; last=c; c=c->link; free(last); return(c);
进入题库练习