计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机软件水平考试
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
程序员(初级)
信息系统项目管理师(高级)
系统分析师(高级)
系统架构设计师(高级)
网络规划设计师(高级)
系统规划与管理师(高级)
软件评测师(中级)
软件设计师(中级)
网络工程师(中级)
多媒体应用设计师(中级)
嵌入式系统设计师(中级)
电子商务设计师(中级)
系统集成项目管理工程师(中级)
信息系统监理师(中级)
信息安全工程师(中级)
数据库系统工程师(中级)
信息系统管理工程师(中级)
软件过程能力评估师(中级)
计算机辅助设计师(中级)
计算机硬件工程师(中级)
信息技术支持工程师(中级)
程序员(初级)
网络管理员(初级)
信息处理技术员(初级)
电子商务技术员(初级)
信息系统运行管理员(初级)
网页制作员(初级)
多媒体应用制作技术员(初级)
PMP项目管理员资格认证
程序员应用技术
程序员基础知识
程序员应用技术
问答题阅读以下说明和C函数代码,回答问题并将解答写在对应栏内。【说明】著名的菲波那契数列定义式为f1=1f2=1fn=fn-1+fn-2(n=3,4,…)因此,从第1项开始的该数列为1,1,2,3,5,8,13,21,…。函数fibl和fib2分别用递归方式和迭代方式求解菲波那契数列的第n项(调用fib1、fib2时可确保参数n获得一个正整数)。【C函数代码】
进入题库练习
问答题试题五(共15 分) 阅读以下说明和C 语言函数,将应填入 (n) 处的字句写在答题纸的对应栏内。 [说明] 二叉排序树或者是一棵空树,或者是具有如下性质的二叉树:若它的左子树非空,则左子树上所有结点的值均小于根结点的值;若它的右子树非空,则右子树上所有结点的值均大于根结点的值;左、右子树本身就是两棵二叉排序树。 函数insert_BST (char *str)的功能是:对给定的字符序列按照ASCII 码值大小关系创建二叉排序树,并返回指向树根结点的指针。序列中重复出现的字符只建一个结点,并由结点中的Count 域对字符的重复次数进行计数。 二叉排序树的链表结点类型定义如下: typedef struct BSTNode{ char Elem; /*结点的字符数据*/ int Count; /*记录当前字符在序列中重复出现的次数*/ struct BSTNode *Lch,*Rch; /*结点的左、右子树指针*/ }*BiTree; [函数] BiTree insert_BST(char *str) { BiTree root,parent,p; char (1) ; /* 变量定义及初始化 */ root = (BiTree)malloc(sizeof(struct BSTNode)); if (!root || *s=='/0') return NULL; root->Lch = root->Rch = NULL; root->Count = 1; root->Elem = *s++; for(; *s != '/0'; s++) { (2) ; parent = NULL; while (p) { /* p 从树根结点出发查找当前字符*s 所在结点 */ parent = p; if (*s == p->Elem) /*若树中已存在当前字符结点,则当前字符的计数值加1*/ { p->Count++; break; } else /*否则根据字符*s 与结点*p 中字符的关系,进入*p 的左子树或右子树*/ if (*s > p->Elem) p = p->Rch; else p = p->Lch; }/*while*/ if ( (3) ) { /* 若树中不存在字符值为*s 的结点,则申请结点并插入树中 */ p = (BiTree)malloc(sizeof(struct BSTNode)); if (!p) return NULL; p->Lch = p->Rch = NULL; p->Count = 1; p->Elem = *s; /*根据当前字符与其父结点字符值的大小关系,将新结点作为左子树或右子树插入*/ if (p->Elem > parent->Elem ) (4) = p; else (5) = p; } }/*for*/ return root; }
进入题库练习
问答题[说明1] 函数int factors(int n)的功能是判断整数n(n>=2)是否为完全数。如果n是完全数,则函数返回0,否则返回-1。 所谓“完全数”是指整数n的所有因子(不包括n)之和等于n自身。例如,28的因子为1,2,4,7,14,而28=1+2+4+7+14,因此28是“完全数”。 [C函数1] int factors(int n) int i,s; for(i=1,s=0;i<=n/2;i++) if(n%i=0) (1) ; if( (2) )return 0; rerurn-1; [说明2] 函数int maxint(int a[],int k)的功能是用递归方法求指定数组中前k个元素的最大值,并作为函数值返回。 [C函数2] int maxint(int a[],int k) int t; if( (3) ) return (4) ; t=maxint(a+1, (5) ); return(a[0]>t)?a[0]:t;
进入题库练习
问答题【Java代码】 class usethread implements{{U}} (1) {{/U}}{ int num usethread(int n){ num=n; } public void{{U}} (2) {{/U}}{ for(int i=0;i<3;i++) System.out.println("running:"+num); System.out.println("finished:"+num); } public class multhread{ public static void main(String args[]){{U}} (3) {{/U}}InterruptedException{ Thread m1=new Thread(new usethread(1)); Thread m2=new Thread(new usethread(2)); m1.start(); m2.start(); m1.join(); m2.join(); } } 【问题1】 补充完整上面Java代码中{{U}} (n) {{/U}}处。 【问题2】 写出上面Java代码运行的结果。
进入题库练习
问答题【说明】 字符串在程序设计中扮演着重要角色。现需要设计字符串基类string,包含设置字 符串、返回字符串长度及内容等功能。另有一个具有编辑功能的串类edlt_string,派生于string,在其中设置一个光标,使其能支持在光标处的插入、删除操作。 【程序】 #include <iostream.h> #include <stdio.h> #include <string.h> class string int length; char *data; public: int get_length() return length; char *get_data() return data; ~string() delete data; int set data(int in_length, char *in_data); int set_data(char *data); void print() cout<<data<<endl; ; class edit_string: public string int cursor; public: int get_cursor() return cursor; void move_cursor(int dis) cursor=dis; int add_data(string *new_data); void delete_data(int num); ; int string::set_data(int in_length,char *in_data) length=in_length; if(!data) delete data; (1) strcpy(data,in_data); return length; int string::set data(char *in_data) (2) if(!data) delete data; (1) strcpy(data,in_data); return length; int edit_string::add_data(string *new_data) int n,k,m; char *cp,*pt; n=new_data->get_length(); pt=new_data->get_data(); cp=this->get_data(); m=this->get_length(); char *news=new char[n+m+1]; for(int i=0; i<cursor; i++) news[i]=cp[i]; k=i; for(int j=0; j<n; i++,j++) news[i]=pt[j]; cursor=i; for(j=k; j<m; j++,i++) (3) news[i]='/0'; (4) delete news; return cursor; void edit string::delete_data( int num) int m; char *cp; cp=this->get_data(); m=this->get_length(); for(int i=cursor; i<m; i++) (5)   cp[i]='/0';
进入题库练习
问答题【说明】 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。 【函数】 main() { int number[20],n,m,i; printf("the total numbers is:"); scanf("%d", printf("back m:"); scanf("%d", for(i=0;i<=n-1;i) scanf("%d,", {{U}} (1) {{/U}}; for(i=0;i<=n-1;i) printf("%d,",number[i]); } move(array,n,m) int n,m,array[20]; { int *p,array_end; array_end={{U}} (2) {{/U}}; for(p=array[n-1];{{U}} (3) {{/U}};p--) *p={{U}} (4) {{/U}}; *array=array_end; m--; if(m>0){{U}} (5) {{/U}}; }
进入题库练习
问答题【说明】 设计一个类模板SamPle用于对一个有序数组采用二分法查找元素下标。 【C++程序】 #include < iostream. h > #define Max 100 //最多元素个数 template < class T > class Sample { T A[Max]: //存放有序数序 int n: //实际元素个数 public Sample( ) { } //默认构造函数 Sample(T a[] ,int i); //初始化构造函数 int seek(T c); void disp( ) { for(int i=0;i <n;i ++) cout<<A[i] <<" "; cout<<endl: } } template < class T > Sample <T>: :Sample(T a[ ],int i) { n=i: for( intj =0;j < i;j ++ ) {{U}} (1) {{/U}}; } template < class T > int Sample < T >:: seek( T c) { int low =0,high = n-1 ,mid; while({{U}} (2) {{/U}}) { mid = (low + high)/2; if({{U}} (3) {{/U}}) return mid; else if({{U}} (4) {{/U}}) low=mid+|; else {{U}} (5) {{/U}}; } return-1; } void main( ) { char a[ ] ="acegkmpwxz"; Sample < char > s(a, 1); cout<<"元素序列:" ;s. disp( ); cout<<"元素'g'的下标:"<<s. seek('g') <<endl; }
进入题库练习
问答题【说明】 计算n的合数。一个整数n可以有多种划分,使其划分的一列整数之和为n。例如,整数5的划分为: 5 4 1 3 2 3 1 1 2 2 1 2 1 1 1 1 1 1 1 1 共有7种划分。这种划分的程序如下所示。 【程序】 #include <stdio.h> int n[1000],m,k; void output sum() { int j; for(j=0;n[j]!=0;j++) printf("%d/t",n[j]); printf("/n"); } void sum(int i) if(m-n[i]<n[i]) { m=m-n[i]; {{U}}(1) {{/U}} i++; n[i+1]=0; } else { {{U}} (2) {{/U}} m-=n[i]; i++; } if(m!=n[i]) sum(i); else output_sum(); if(n[i]>1) { n[i]--; {{U}}(3) {{/U}} } else { while((n[i]==1) {{U}} (4) {{/U}} } if(i!=0) { {{U}} (5) {{/U}} sum(i); } } } void main() { int i; scanf("%d", m=k=n[0]; for(i=1;i<=k;i++) n[i]=0; while(n[0]!=1) { n[0]--; i=0; sum(0); m=k; } }
进入题库练习
问答题【说明】 java.util库中提供了Vector模板类,可作为动态数组使用,并可容纳任意数据类型。该类的部分方法说明如下表所示: 方法名 含 义 add(k) 向vector对象的尾部添加一个元素k removeElementAt(i) 删除序号为i的元素(vector元素序号从0开始) isEmpty() 判断vector对象是否含有元素 size() 返回vector对象中所包含的元素个数【Java代码】 import {{U}}(1) {{/U}}; public class JavaMain { static private final int {{U}}(2) {{/U}} = 6; public static void main(String[] args){ Vector<Integer> theVector = new Vector<{{U}} (3) {{/U}}>(); // 初始化 theVector, 将theVector的元素设置为0至5 for (int cEachItem = 0; cEachItem < ARRAY_SIZE; cEachItem++) theVector.add({{U}} (4) {{/U}}); showVector(theVector); // 依次输出theVector中的元素 theVector.removeElementAt(3); showVector(theVector); } public static void showVector(Vector<Integer> theVector if (theVector.isEmpty()) { System.out.println("theVectcr is empty."); return; } for (int loop = 0; loop < theVector.size(); loop++) System.out.print(theVector.get(loop)); System.out.print(", "); } System.out.println(); } } 该程序运行后的输出结果为: 0,1,2,3,4,5 {{U}} (5) {{/U}}
进入题库练习
问答题阅读以下应用说明、图和C++代码,根据要求回答问题1至问题3。 [说明] 已知以下C++程序运行时的输出结果如下。 1:1 1:1 1:1 [C++程序] 01 #include <iostream> 02 using namespace std; 03 class Stock{ 04 protect: 05 {{U}} (1) {{/U}}{ }; 06 Stock(int n, int pr=1) { 07 shares = n; share_val=pr; 08 }; 09 void ~Stock() { }; 10 public: 11 //成员函数 12 void output() { 13 {{U}} (2) {{/U}} << shares << ":" << share_val << endl; 14 } 15 private: 16 //成员变量 17 int shares; 18 int share_val; 19 }; 20 21 void main() { 22 Stock a(1); a.output 23 Stock b; b.output 24 Stock c = Stock (); c.output 25 }
进入题库练习
问答题【说明】下列流程图用泰勒(Taylor)展开式y=ex=1+x+x2/2!+x3/3!+…+xn/n!+…计算并打印ex的近似值,其中用ε(>0)表示误差要求。【流程图】
进入题库练习
问答题【说明】下列流程图用泰勒(Taylor)展开式y=ex=1+x+x2/2!+x3/3!+…+xn/n!+…计算并打印ex的近似值,其中用ε(>0)表示误差要求。【流程图】
进入题库练习
问答题【说明】 下面的程序构造一棵以二叉链表为存储结构的二叉树。 【函数】 BitTree *createbt(BitTree *bt) BitTree *q; struct node *s[30]; int j,i; char x; printf("i,x="); scant("%d,%c", while(i!=0 //生成一个结点 (1) ; q->lchild=NULL; q->rchild=NULL; (2) ; if ( (3) ) j=i/2; // j为i的双亲结点 if(i%2==0) (4) ; //i为j的左孩子 else (5) ; //i为j的右孩子 printf("i,x="); scanf("%d,%c", return s[i];
进入题库练习
问答题[函数2.1说明]Fibonacci数列中头两个数均为1,从第三个数开始,每个数等于前两个数之和。下述程序计算Fibonacci数列中前15个数,并以每行5个数的格式输出。[函数2.1]#include<stdio.h>main(){inti,f,f1=1,f2=1;printf("%5d%5d",f1,f2);for(i=3;i<=15;i++){f={{U}}(1){{/U}};printf("%5d",f);if({{U}}(2){{/U}}==0)printf("/n");f1=12;{{U}}(3){{/U}};}}[试题一流程图][函数2.2说明]函数fun(char*str1,char*str2)的功能是将字符串str2拼接到str1之后。[函数2.2]fun(char*str1,char*str2){inti,j;for(i=0;str1[i]!='/0';i++);for(j=0;str2[j]!='/0';j++){{U}}(4){{/U}};{{U}}(5){{/U}};}
进入题库练习
问答题【程序2.1说明】 已知一个排好序的数组,现输入一个数,要求按原来的顺序规律,将它插入到数组中。 【程序2.1】 #include <stdioh> #define N 100 void main() float a[N+l],x; int i,p; printf("输入已经排好序的数列: "); for(i=0; i<N; i++) scanf(%f", printf("输入要插入的数:"); scanf("%f", for(i=0,p=N; i<N; i++) if(x<a[i]) (1) break; for(i=N-1; i>=p; i--) (2) (3) for(i=0; i<=N; i++) prinff("%f/t",a[i]); 【程序2.2说明】 本程序用变量count统计文件中字符的个数。 【程序2.2】 #include <stdio.h> #include <stdlib.h> void main() FILE *fp; long count=0; if((fp=fopen("letter.txt","r"))==NULL) printf("can not open file/n"); exit(0); while(!feof(fp)) (4) count++; printf("count=%d/n",count); (5)
进入题库练习
问答题【问题2】 设“程序员考试大纲”标准书号前9个数字为7-302-08493,请写出其校验码。
进入题库练习
问答题【说明】设M叉树采用列表法表示,即每棵子树对应一个列表,列表的结构为:子树根结点的值后跟用“()”括起来的各子树的列表(若有子树的话),各子树的列表间用“,”分隔。例如,如下图所示的三叉树可用列表a(b(c,d),e,f(g,h,i))表示。本程序根据输入的列表生成一棵M叉树,并由M叉树再输出列表。【函数】#include#include#defineM3/*三叉树*/typedefstructnodeintval;structnode*subTree[M];NODE;charbuf[255],*str=buf;NODE*d=NULL;NODE*makeTree()/*由列表生成M叉树*/intk;NODE*s;s=(1);s->val=*str++;for(k=0;k<M;k++)s->subTree[k]=NULL;if(*str=='(')k=0;dostr++;s->subTree[k]=(2);if(*str==')')str++;break;k=k+1;while((3));returns;voidwalkTree(NODE*t)/*由M叉树输出列表*/inti;if(t!=NULL)(4);if(t->subTree[0]==NULL)return;putchar('(');for(i=0;i<M;i++)(5);if(i!=M-1putchar(')');voidmain()printf("Enterexp:");scanf("%s",str);d=makeTree();walkTree(d);putchar('/n');
进入题库练习
问答题阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。[说明]两个包含有限个元素的非空集合A、B的相似度定义为|A∩B|/|A∪B|,即它们的交集大小(元素个数)与并集大小之比。以下的流程图计算两个非空整数集合(以数组表示)的交集和并集,并计算其相似度。已知整数组A[1:m]和B[1:n]分别存储了集合A和B的元素(每个集合中包含的元素各不相同),其交集存放于数组C[1:s],并集存放于数组D[1:t],集合A和B的相似度存放于SIM。例如,假设A={1,2,3,4},B={1,4,5,6},则C={1,4},D={1,2,3,4,5,6},A与B的相似度SIM=1/3。[流程图]
进入题库练习
问答题试题七(共15分)阅读以下应用说明以及用VisualBasic编写的程序代码,将应填入(n)处的字句写在答题纸的对应栏内。[应用说明]某应用程序用于监测某种设备的工作温度(20~200度),其运行窗口中,包括一个温度计(矩形形状shpMeter)以及其中指示当前设备温度的水银柱(矩形形状shpT),文字标签标记了温度刻度;另有一个图片框picCurve,用于动态描述检测到的温度曲线(用户见到的曲线与水银柱等高变化);命令按钮“开始检测”(cmdStart)用于启动温度检测,命令按钮“暂停检测”(cmdStop)用于暂停检测。矩形形状shpT(水银柱)属性visible初始设置为不可见,属性Filltype设置为solid(实心),FillColor设置为红色;图片框picCurve的属性AutoRedraw设置为True;再创建一个定时器TimT,属性Enabled初始设置为False(不起作用),属性Interval(定时间隔)设置为500毫秒。为模拟设备温度的检测,程序中利用了(0,1)之间均匀分布的伪随机数获得[20,200]之间的随机温度T。为了便于在图片框picCurve中绘制曲线,程序中对该图片框建立了坐标系统,左上角为原点(0,0),水平向右方向为X轴,垂直向下方向为Y轴,右下角坐标为(50,180)。为了便于观察记录的温度值,图片框中从上到下创建了5条水平线Ls(i),i=0,1,…4,并在程序中按等间隔排列进行位置设置。程序中每隔半秒算出曲线点(x,y),其中x=0,1,2,…,再用直线段连接各相邻曲线点形成温度曲线。[VisualBasic程序代码]Dim(1)AsInteger'声明全局变量PrivateSubCmdStart_Click()TimT.Enabled=TrueShpT.Visible=TrueEndSubPrivateSubCmdStop_Click()TimT.Enabled=FalseEndSubPrivateSubForm_Load()Dimi,HAsIntegerPicCurve.Scale(0,0)-(50,180)'设置图片框坐标系:左上角-右下角H=30'H等于图片框高度的六分之一Fori=0To4'设置5条水平线Ls(i)的位置Ls(i).X1=0'Ls(i)起点横坐标Ls(i).Y1=H*(2)'Ls(i)起点纵坐标Ls(i).X2=50'Ls(i)终点横坐标Ls(i).Y2=Ls(i).Y1'Ls(i)终点纵坐标Ls(i).BorderColor=&HC0C0C0'设置水平线颜色Nextix=0'设置曲线坐标初值EndSubPrivateSubtimT_Timer()DimT,HAsInteger'T为即时温度,H为图片框中温度点显示高度T=Int(Rnd*181)+20'模拟随机产生设备温度(20~200度)'按当前温度显示水银柱H=ShpMeter.Height*(3)'算出水银柱的高度ShpT.Top=(4)-H'设置水银柱顶部位置ShpT.Height=H'设置水银柱的高度'绘制温度曲线y=(5)'算出曲线上当前点的纵坐标Ifx=51Then'当超出图片框时PicCurve.Cls'清除图片框内以前画的曲线x=0'设置重画曲线的初值ElseIfx>0Then'除左边点外PicCurve.Line(x-1,Lasty)-(x,y),vbRed'由前1点到当前点画红色线段EndIfx=x+1'准备下一点坐标Lasty=y'保存当前坐标供下次使用EndSub
进入题库练习
问答题试题八(15 分,每空3 分) 阅读以下说明和Java 源程序,将应填入(n) 处的字句写在答题纸的对应栏内。 【说明】 以下程序的功能是计算三角形、矩形和正方形的面积并输出。 程序由5 个类组成:AreaTest 是主类,类Triangle、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; i
进入题库练习