计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机软件水平考试
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
程序员(初级)
信息系统项目管理师(高级)
系统分析师(高级)
系统架构设计师(高级)
网络规划设计师(高级)
系统规划与管理师(高级)
软件评测师(中级)
软件设计师(中级)
网络工程师(中级)
多媒体应用设计师(中级)
嵌入式系统设计师(中级)
电子商务设计师(中级)
系统集成项目管理工程师(中级)
信息系统监理师(中级)
信息安全工程师(中级)
数据库系统工程师(中级)
信息系统管理工程师(中级)
软件过程能力评估师(中级)
计算机辅助设计师(中级)
计算机硬件工程师(中级)
信息技术支持工程师(中级)
程序员(初级)
网络管理员(初级)
信息处理技术员(初级)
电子商务技术员(初级)
信息系统运行管理员(初级)
网页制作员(初级)
多媒体应用制作技术员(初级)
PMP项目管理员资格认证
程序员应用技术
程序员基础知识
程序员应用技术
问答题[说明] 本程序包含的函数及其功能说明如下: (1)函数first_insert()的功能是在已知链表的首表元之前插入一个指定值的表元; (2)函数reverse_copy()的功能是按已知链表复制出一个新链表,但新链表的表元链接顺序与 已知链表的表元链接顺序相反; (3)函数Print_link()用来输出链表中各表元的值; (4)函数free_link()用来释放链表全部表元空间。[程序] #include <stdio. h >#include <malloe. h >typodef struct node int val; struct node * next; NODE;void first_insert(NODE * * p,int v) NODE *q = (NODE *) malloe(sizeof(NODE)); q->val = v; q->next = *p; /* 为新表元赋值*/ * p = (1) ; NODE * reverse_copy( NODE * p) NODE * u; for(u=NULL; p!=NULL; p=p->next) first_insert( (2) ); return u; void printlink(NODE * p ) for(; (3) ) prinff("%d/t", p->val); printf(" /n");void free_link( NODE * p) NODE * u; while(p! =NULL) u=p->next;free(p); (4) ; void main( ) NODE * link1 , * link2; int i; link1 = NULL; for(i=1; i<= 10; i+ + )first_insert( link2 = reverse_copy(link1 ); (5) ; free_link( linkl ) ;free_link(link2);
进入题库练习
问答题试题七(15分)阅读以下应用说明以及用VisualBasic编写的程序代码,将应填入(n)处的字句写在答题纸的对应栏内。[应用说明]本应用程序的运行窗口中将显示一个简单的模拟时钟如下:该圆形钟面上有时针、分针和秒针在运动,不断显示系统的当前时间。在开发该应用时,首先建立一个圆形Shape控件作为钟面(背景为白色)。设圆心为象素坐标(X0,Y0),半径为940。再在圆心处建立一个小的实心圆Shape控件作为轴心。钟面上的刻度3,6,9,12为四个标签。时针、分针、秒针(红色)为线型控件,名称分别为LineH、LineM、LineS,线宽属性值分别为:3,2,1,线长属性值分别为500,700,900。这三个线型控件的起点坐标都固定在(X0,Y0),其终点坐标随转角θ而动态变化:设置定时器Timer1使该时钟能反映系统的当前时间,其定时间隔为0.5秒,该定时器的Interval属性值应设置为(1)。每隔0.5秒,秒针需要调整位置,但分针和时针只是在初始显示时以及在每次秒计数为0时才需要调整位置(可节省计算量)。[程序代码]ConstPi=3.1416ConstX0=1750ConstY0=1150ConstLH=500,LM=700,LS=900PublicfirstAsBooleanPrivateSubForm_Load()LineS.X1=X0'秒针的起点位置LineS.Y1=Y0LineM.X1=X0'分针的起点位置LineM.Y1=Y0LineH.X1=X0'时针的起点位置LineH.Y1=Y0first=TrueEndSubPrivateSubTimer1_Timer()S=Second(Time)S_seta=Pi*(2)'秒针的转角LineS.X2=X0+LS*Sin(S_seta)'秒针的终点位置LineS.Y2=Y0-LS*Cos(S_seta)If((3))ThenM=Minute(Time)LineM.X2=X0+LM*Sin(Pi*M/30)'分针的终点位置LineM.Y2=Y0-LM*Cos(Pi*M/30)H=Hour(Time)If(H>=12)ThenH=H-12H_seta=Pi*((4))'时针的转角LineH.X2=X0+LH*Sin(H_seta)'时针的终点位置LineH.Y2=Y0-LH*Cos(H_seta)first=(5)EndIfEndSub
进入题库练习
问答题[说明]某银行新近开通外汇定期存款业务。为方便用户查询不同存款方式下的日利率、计算本利,特开发了日利率查询及本利计算程序,其运行窗口如下图所示。用户只要在界面上选择相应的存款方式(包括外汇币种、存期等),便可单击按钮一查询存款日利率。若输入一定数量的本金。程序还会根据所选择的存期计算并输出本利和。在开发过程中,选择币种和存期的组合框(ComboBox)名分别为Combo1和Combo2,单旋钮(CommandButton)“个人单位”和“金融机构”分别名为Option1和Option2,用于输入本金的文本框(TextBox)名为Price,“输出日利率”和“计算本利和”按钮(CommandButton)分别名为Command1和Command2。且已知,第i类币种、第j类存期之下,个人单位与金融机构的存款日利率分别存放于数组元素interestRate(i,j,0)和interestRate(i,j,1)中,其中i,j从0开始计数。[VisualBasic代码]DiminterestBate(50,10,2)AsSingle’通用声明PrivateSubForm_Load()……’为数组interestRate赋初值EndSub’根据所选择的币种、存期等信息确定日利率FunctiongetInterestRate()DimstrCurrency,strTimeAsString,i,j,k,intDaysAsIntegerstrCurrency=Combo1.TextstrTime=Combo2.TextFori=0ToCombol.ListCount-1IfCombol.List(i)=strCurrencyThen{{U}}(1){{/U}}NextForj=0ToCombo2.ListCount-1IfCombo2.List(j)=strTimeThen{{U}}(1){{/U}}NextIf{{U}}(2){{/U}}=TrueThenk=0Else:k=1EndIf{{U}}(3){{/U}}=interestRate(i,j,k)EndFunction’输出日利率PrivateSubCommund1_Click()MsgBox"日利率为"&getInterestRate()EndSub’输出本利和PrivateSubCommand2_Click()DimstrTimeAsString,intDaysAsInteger,sngCorpus,sngResultAsSinglestrTime=Combo2.TextsngCorpus=CSng(Text1.Text){{U}}(4){{/U}}’计算存款天数(以每月30天计)Case"一个月":intDays=30Case"三个月":intDays=90Case"六个月":intDays=120EndSelect’计算并输出本利和sngResult=sngCorpus+{{U}}(5){{/U}}MsgBox"本利之和为:"&sngResultEndSub
进入题库练习
问答题【说明】已知对某载客车辆(Car)进行类建模,如图7-1所示,其中类Engine表示发动机引擎,类Wheel表示车轮,类Body表示车身,类Driver表示司机,类Passenger表示乘客。【Java代码】classBody{//此处代码省略);//车身类classPassenger{//此处代码省略)///乘客类classWheel{//此处代码省略);//车轮类classDriver{//司机类publicStringname;//表示第几路公交车司机publicDriver(StringdriverName){name=driverName/)//构造函数};classEngine{//引擎类publicStringengineNo;//引擎编号publicEngine(StringengineNo){this.engineNo=engineNo;)//构造函数};publicclassCar{//汽车类staticfinalint{{U}}(1){{/U}}=7;//定义最多载客数staticfinalintMAXWHEELS =5;//定义最多轮胎数protectedEngineengine;protectedDriverdriver;protectedBodybody=newBody();protectedWheel[]wheels;protectedPassenger[]passengers;publicCar(Driverdriver){//构造函数{{U}}(2){{/U}}.driver=driver;engine=newEngine("TX6536型号引擎");wheels=newWheel[MAXWHEELS];passengers=newPassenger[MAX_PASSENGERS];for(intindex=0;index<MAX_WHEELS;index++){wheels[index]=newWheel();}for(intindex=0;index<MAX_PASSENGERS;index++){passengers[index]=null;}}intgetPassengerNumber(){//获取车上乘客数量//此处代码省略}voidgetOnPassenger(PassengeraPassenger){//乘客上车//此处代码省略}voidrun(){//开车if({{U}}(3){{/U}}){System.out.println("司机尚未上车!");return;}//此处代码省略}publicstaticvoidmain(Stringargs[]){Driverdriver=newDriver("第五路公交车司机");Carcar=newCar({{U}}(4){{/U}});for(intindex=0;index<MAX_PASSENGERS;index++)car.getOnPassenger({{U}}(5){{/U}}Passenger());car.run();}}
进入题库练习
问答题阅读以下说明和C++代码,将应填入{{U}} (n) {{/U}}处的字句写在答题纸的对应栏内。 {{B}}[{{/B}}说明{{B}}]{{/B}} 已知类LinkedList表示列表类,该类具有四个方法:addElement()、lastElement()、 numberOfElement()以及removeLastElement()。四个方法的含义分别为: void addElement(Object):在列表尾部添加一个对象; Object lastElement():返回列表尾部对象; int numberOfElement():返回列表中对象个数; void removeLastElement():删除列表尾部的对象。 现需要借助LinkedList来实现一个Stack栈类,C++代码1和C++代码2分别采用继承和组合的方式实现。 {{B}}[{{/B}}C++代码1{{B}}]{{/B}} class Stack :public LinkedList { public : void push (Object o) {addElement (o); }; //压栈 Object peek() {return{{U}} (1) {{/U}};}; //获取栈顶元素 bool i sEmpty (){ //判断栈是否为空 return numberOfElement ( ) == 0; ); Object pop () { //弹栈 Object o = lastElement(); {{U}} (2) {{/U}}; return o; }; }; {{B}}[{{/B}}C++代码2{{B}}]{{/B}} class Stack { private: {{U}} (3) {{/U}}; public: void push (Object o) { //压栈 list. addElement (o); }; Object peek() { //获取栈顶元素 return list.{{U}} (4) {{/U}}; }; bool isEmpty () { //判断栈是否为空 return list. numberOfElement ( ) = = 0; Object pop() { //弹栈 Object o = list. lastElement (); list. removeLastElement ( ); return o; }; } {{B}}[{{/B}}问题{{B}}]{{/B}} 若类LinkedList新增加了一个公有的方法removeElement(int index),用于删除列表中第 index个元素,则在用继承和组合两种实现栈类Stack的方式中,哪种方式下Stack对象可访问方法removeElement(int index)?{{U}} (5) {{/U}}(A.继承 B.组合)
进入题库练习
问答题(5)
进入题库练习
问答题[说明] 下面的程序利用递归算法计算x和y的最大公约数。 [函数2.1] main ( ) { int x,y,k,t; scanf(" % d% d" , if(x>y) { t=x;x=y; y=t;} {{U}} (1) {{/U}}; while(k! =0){ y=x; {{U}}(2) {{/U}}; k=y%x; } prinff( "% d" ,x); } [函数2.2说明] 函数fun(char *str,char *substr的功能是计算子串sugbstr在串str中出现的次数。 [函数2.2] fun(ehar * str, char * substr) { int x,y,z; {{U}}(3) {{/U}}; for(x=0;str[ x] ! = '/O';x + + ) for(y=x,z=0;sabstr[z] = =str[y];{{U}} (4) {{/U}},y+ +) if( (5) = ='/0') { num + +; break; } return(num); }
进入题库练习
问答题[说明] 本程序中预设了若干个用户名和口令。用户输入正确的用户名后,可以查找对应的口令,一旦输入结束标记“end”,程序结束。 [C++程序] #include <iostream. h> #include <string. h> class User { protected: char user[10]; char pass[7]; public: User(char[ ],char[]); {{U}}(1) {{/U}}{return user;} {{U}}(2) {{/U}}{return pass;} }; User::User(char u[],char p[]) { strcpy(user,u); strcpy(pass,p); } void main() { User ua[]={User("Li","123456"),User("wang","654321"),User("Song","666666") char name[10]; while(1) cout< < "输入用户名:"; cin> >name; if({{U}} (3) {{/U}}= =0) break; for(int i=0;i<3;i+ +) if(strcmp(name,ua[i].getuser()) = =0){ cout< <"密码:" < < ua[i].getpass() < <endl; {{U}}(4) {{/U}}; if({{U}} (5) {{/U}})cout< <"该用户不存在!" < <endl; } }
进入题库练习
问答题[函数2.1说明] 下面程序的功能是:将由键盘输入的某个十进制数转换成对应的R进制数并输出。这里R是 2到16的整数,由键盘输入。例如,输入n=128,base=13后的输出为9B。[函数2.1]#include <stdio.h>main() char b[16]='0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'; int c[64],n,i=0,base; printf("Enter a number:");scaaf("%d", printf("Enter new base:");scanf("%d", doc[i]= (1) ; i++; n=n/base; while( (2) ); printf("Transmit new base:"); for(- -i;i>=0;- -i)printf("%c", (3) );[函数2.2说明] 所谓回文字符中是指正序和逆序拼写相同的字符串,例如astrtsa,adgdtdgda等。下面函数int fun(char *str)的功能是判断字符串str是否是回文,当字符串是回文时,函数返回1,否则返回0。[函数2.2]int fun(char *str) int i,j,l; for(i=0;str[i]! ='/0';i++); l=i/2; for(j=0,i- -;j<=1; (4) ) if( (5) ) return 0; return 1;
进入题库练习
问答题【说明】 给定函数fun的功能是:将从键盘上输入的每个单词的第一个字母转换为大写字母,输入时各单词必须用空格隔开,用“.”结束输入。 【函数】 int fun(char *c,int status) { if({{U}} (1) {{/U}}=='') return 1; else { if({{U}} (2) {{/U}} return 0; } } main() { int flag=1; char ch; printf("请输入一字符串,用点号结束输入!/n"); do { ch=getchar(); flag=fun( putchar(ch); }while(ch!='.'); printf("/n"); }
进入题库练习
问答题[说明]下面的流程图描述了计算自然数1到N(N≥1)之和的过程。[流程图][问题1]将流程图中的(1)~(3)处补充完整。[问题2]为使流程图能计算并输出1*3+2*4+…+N*(N+2)的值,A框内应填写(4);为使流程图能计算并输出不大于N的全体奇数之和,B框内应填写(5)。
进入题库练习
问答题【说明】主窗口有一个按钮、一个文本框和一个复选框,初始时窗口大小不能调整,选中复选框后窗口大小可以调整,如果撤销复选框的选择,则窗口的大小又不能调整,如下图所示。【Java代码】importjava.awt.*;importjava.awt.event.*;classMyFrameextendsFrameimplementsItemListener,ActionListenerCheckboxbox;TextAreatext;Buttonbutton;MyFrame((1))super(s);box=newCheckbox("设置窗口是否可调整大小");text=newTextArea(12,12);button=(2)("关闭窗口");button.addActionListener(this);box.addltemListener(this);setBounds(100,100,200,300);setVisible(true);add(text,BorderLayout.CENTER);add(box,BorderLayout.SOUTH);add(button,BorderLayout.NORTH);setResizable((3));validate();publicvoiditemStateChanged(ItemEvente)if(box.getState()==true)setResizable(true);elsesetResizable(false);publicvoidactionPerformed(ActionEvente)(4);classsimplepublicstaticvoidmain(Stringargs[])(5)("simple");
进入题库练习
问答题[说明] 本程序的功能是给公司的员工Tom,Jack,Green增加薪水。三人的职位分别是programmer, Manager,CEO。 程序由6个类组成:WorkerTest是主类,programmer,Manager,CEO三个类,薪水增加的规则是 programmer的涨幅是5%;Manager的是10%;CEO也是Manager,但是它除了有Manager的涨幅,还有1000元的bonus。接口SalaryRaise提供了一个增加薪水的方法raise()。[java程序] public class WorkerTest public WorkerTest( ) public static void main( String[] args) Programmer programmer = new Programmer( "Tom" ,3000); Manager manager = new Manager( "Jack" ,4000); CEO ceo = new CEO( "Green" ,4000); Worker [] worker = new Worker[3]; programmer, raise( ); manager, raise( ); ceo. raise( ); worker[0] = programmer; worker [1] = manager; worker[2] = ceo; for ( int i = 0 ;i < worker, length; i + + ) System. out. prinfln (" Name:" + worker [i]. getName ( ) +" / tSalary:" + worker [i]. getSalary ());public interface SalaryRaise void raise( ); public class Worker public String name; public double (1) ; public Worker( ) public String getName( ) return name; public void setName( String name) this. name = name; public double getSalary( ) return salary; public void setSalary(double salary) this. salary = salary; public class Programmer extends Worker implements (2) public Programmer( ) public void raise( ) double pets=0.05; double sala = this. getSalary( ) * (1 + pers); this. setSalary (sala); public Programmer( Siring name, double salary) t this. name = name; this. salary = salary;public class Manager extends (3) implements SalaryRaise public Manager( ) public Manager(String name, double salary) this. name = name; this. salary = salary; public void raise( ) double pets = 0.1; double sala = this. getSalary() * (1 + pers); this. setSalary(sala); public class CEO extends Manager implements SalaryRaise public CEO() public CEO( String name,double salary) this. name = name; this. salary = salary; public void raise( ) double bonus = 1000; (4) ; double sala = this. getSalary( ); (5) ; this. setSalary(sala);
进入题库练习
问答题阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。[说明]函数GetListElemPtr(LinkListL,inti)的功能是查找含头结点单链表的第i个元素。若找到,则返回指向该结点的指针,否则返回空指针。函数DelListElem(LinkListL,inti,ElemType*e)的功能是删除含头结点单链表的第i个元素结点,若成功则返回SUCCESS,并由参数e带回被删除元素的值,否则返回ERROR。例如,某含头结点单链表L如下图(a)所示,删除第3个元素结点后的单链表如下图(b)所示。#defineSUCCESS0#defineERROR-1typedefintStatus;typedefintElemType;链表的结点类型定义如下:typedefstructNode{ElemTypedata;structNode*next;}Node,*LinkList;[C代码]LinkListGetListElemPtr(LinkListL,inti){/*L是含头结点的单链表的头指针,在该单链表中查找第i个元素结点;若找到,则返回该元素结点的指针,否则返回NULL*/LinkListp;intk;/*用于元素结点计数*/if(i<1||!L||!L->next)returnNULL;k=1;p=L->next;/*令p指向第1个元素所在结点*/while(p++k;}returnp;}StatusDelListElem(LinkListL,inti,ElemType*e){/*在含头结点的单链表L中,删除第i个元素,并由e带回其值*/LinkListp,q;/*令P指向第i个元素的前驱结点*/if(i==1)______;elsep=GetListElemPtr(L,i-1);if(!P||!p->next)returnERROR;/*不存在第i个元素*/q=______;/*令q指向待删除的结点*/p->next=q->next;//从链表中删除结点*/______;/*通过参数e带回被删除结点的数据*/free(q);returnSUCCESS;}
进入题库练习
问答题【说明】设学生(学生数少于50人)某次考试的成绩按学号顺序逐行存放于某文件中,文件以单行句点“.”为结束符。下面的流程图用于读取该文件,并把全部成绩从高到低排序到数组B[50]中。【流程图】
进入题库练习
问答题【说明】本应用程序的运行窗口如图2所示。只要用户单击“闪烁”按钮,文字“欢迎光临”就会以0.3秒消失、0.3秒显示反复进行闪烁;单击“停止”按钮时,闪烁停止,恢复图示的初态。在开发过程中,需要设置的属性如表1所示。表1属性设置对象对象名属性名属性值窗体FrmlCaption闪烁显示演示标签LabelCaption欢迎光临命令按钮CmdFCaption闪烁命令按钮CmdTCaption停止定时器TimerlEnabled  (1) Interval  (2) 在开发过程中,需要编写的程序代码如下:【程序】PrivateSubCmdF_Click()Timerl.(3)=TrueLabel.Visible=FalseEndSubPrivateSubTimerl_Timer()(4)=notLabel.VisibleEndSubPrivateSubCmdT_Click()Timer].Enabled=(5)LabelVisible=trueEndSub
进入题库练习
问答题【说明】 下面是一个Applet程序,其功能是输出已定义好的两个变量x和chr。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 import java. awt.*; {{U}} (1) {{/U}} {{U}} (2) {{/U}} { int x=10; {{U}} (3) {{/U}} Label output1; Label output2; {{U}} (4) {{/U}} } output1 = new Label("定义int类型变量"+"x,的初值为"+x); output2 = new Label("定义char类型变量"+"chr,的初值为"+chr); add(output1); add(output2); } } <HTML> <HEAD> <TITLE> ex34_3 </TITLE> </HEAD> <BODY> {{U}} (5) {{/U}} width=400 height=400> </applet> </BODY> </HTML>
进入题库练习
问答题试题二(共15分)阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。[说明]如果矩阵A中的元素A[i,j]满足条件:A[i,j]是第i行中值最小的元素,且又是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。一个矩阵可能存在多个马鞍点,也可能不存在马鞍点。下面的函数求解并输出一个矩阵中的所有马鞍点,最后返回该矩阵中马鞍点的个数。[C函数]
进入题库练习
问答题(5)
进入题库练习
问答题【说明】请完成下列Java程序。程序的执行结果是生成一个具有一个TextField类型的对象in、Button类型的对象btn和Label类型的对象out图形用户界面,程序的功能是计算用户输入数的平方,如图3所示。注意:请勿改动main()主方法和其他已有的语句内容,仅在下划线处填入适当的语句。【程序】importjava.awt.*;importjava,awt.event.*;publicclasssquare{publicstaticvoidmain(Stringargs[]){{{U}}(1){{/U}}}}classAppFrameextendsFrame{TheAdapterTestlistener=newTheAdapterTest();TextFieldin=newTextField(5);Buttonbtn=newButton("计算");Labelout=newLabel("用于显示计算结果");publicAppFrame(){setLayout(newFlowLayout());add(in);add(btn)add(out);btn.addActionListener(newBtnActionAdapter());addWindowListener(listener);setSize(400,100);show();}classBtnActionAdapterimplements{{U}}(2){{/U}}{publicvoidactionPerformed({{U}}(3){{/U}}){Strings=in.getText();doubled={{U}}(4){{/U}}doublesq=d*d;out.setText(d+"的平方是:"+sq);}}classTheAdapterTestextendsWindowAdapter{publicvoidwindowCIosing({{U}}(5){{/U}}){System.exit(1)}}}
进入题库练习