阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。
[函数2.1说明]
Fibonacci数列中头两个数均为1,从第三个数开始,每个数等于前两个数之和。下述程序计算Fibonacci数列中前15个数,并以每行5个数的格式输出。
[函数2.1]
#include <stdio.h>
main()
{ int i,f,f1=1,f2=1;
printf("%5d%5d",f1,f2);
for(i=3;i<=15;i++){
f=(1);
printf("%5d",f);
if((2)= =0) printf("\n");
f1=12;
(3);
}
}
[函数2.2说明]
函数fun(char *str1,char *str2)的功能是将字符串str2拼接到str1之后。
[函数2.2]
fun(char *str1,char *str2)
{ int i,j;
for(i=0;str1[i]!='\0';i++);
for(j=0;str2[j]!='\0';j++) (4);
(5);
}
阅读以下程序说明和java代码,将应填入(n)处的字句写在对应栏内。
[说明]
本程序接收输入的学生信息,包括学号、姓名、成绩,原样输出信息并计算学生的平均成绩。其中学生类Stud除了包括no(学号)、name(姓名)和grade(成绩)数据成员外,还有两个静态变量 sum和num,分别存放总分和人数,另有一个构造函数、一个普通成员函数disp()和一个静态成员函数avg()用于计算平均分。
[Java代码]
public class Stud {
public int no;
public String name;
public double grade;
public (1) double sum=0;
public static int num=0;
public Stud(int no,String name,double grade) {
this.no = no;
this.name = name;
this.grade = grade;
this.sum=(2);
(3);
}
public static double avg(){
return (4);
}
public void disp(){
System.out.println(this.no+"\t"+this.name+"\t"+this.grade);
}
public static void main(String[] args) {
Stud []students = {new Stud (1,"Li", 81), new Stud(2,"Zhao",84.5), new Stud(3,"Zhang", 87)};
System.out.pfintln("no\tname\tgrade");
students[0].disp();
students[1].disp();
students[2].disp();
System.out.println("avg="+(5));
}
}
阅读以下说明C++代码,将应填入(n)处的字句写在对应栏内。
[说明]
本程序实现了雇员信息管理功能,其中封装了雇员信息及其设置、修改、删除操作。已知当输入为“Smith 31 2960.0”时,程序的输出是:
姓名:Smith 年龄:31 工资:2960
姓名:Smith 年龄:31 工资:3500
姓名:Mary 年龄:23 工资:2500
[C++程序]
#include <iostream.h>
#include <string.h>
class employee{
char *name; //雇员姓名
short age; //年龄
float salary;//工资
public:
employee();
void set_name(char *);
void set_age(short a) {age=a;}
void set_salary(float s) {salary=s;}
(1);
~ employee(){delete[] name;}
};
employee::employee() { name="";
age=0;
salary=0.0;
void employee::set_name(char *n)
{ name=new char[strlen(n)+1];
(2) (name,n);
}
void employee::print()
{ cout<<"姓名":"<<name<<" 年龄:"<<agc<<" 工资:" <<salary<<endl;
}
void main()
{ char *na;
short ag=0;
float sa=0;
(3);
na=new char[10];
cin>>na>>ag>>sa;
emp.set_name(na);
emp.set_age(ag);
emp.set_salary(sa);
emp.print();
(4) (3500.0);
emp.print();
(5);
emp.set_name("Mary");
emp.set_age(23);
emp.set_salary(2500.0);
emp.print();
}
阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。
[说明]
某公司的服务器上为每位员工提供了一定大小的存储空间,用于数据的备份。下面的程序面向公司员工,提供了本地计算机与服务器端之间文件传输的功能。主要操作介绍如下:
(1)连接服务器:员工需要输入用户名和口令才能连接到服务器端,checkUser函数用于检查用户名和口令是否合法,返回真假值。
(2)上传文件:从本地计算机上传文件到服务器。员工可以在本地文件列表中选择一个或多个文件,这些文件通过上传操作被复制到服务器端指定的某个文件夹中;
(3)下载文件:从服务器端下载文件到本地。
在开发过程中,本地驱动器列表框名为Drive1,本地和服务器端目录列表框分别名为Dir1和 Dir2,本地和服务器端文件列表框分别名为File1和File2,界面上有上至下四个按钮分别名为Command1至Command4。
[Visual Basic代码]
Private Sub Drive1_Change()
(1) ’更新目录列表框的路径
End Sub
Private Sub Dir1_Change()
File1.Path=Dir1.Path ’更新文件列表框file1的路径
End Sub
Private Sub Dir2_Change()
File2.Path=Dir2.Path ’更新文件列表框file2的路径
End Sub
’连接服务器
Private Sub Command1_Click()
Dim user,password As String
user=(2) (“请输入用户名:”)
password=(2) (“请输入口令:”)
If check User(user,password)Then ’若用户名和口令正确
Dir2.Path=…… ’打开服务器上某一指定目录
Else: MsgBox“口令错误,请重试!”
End If
End Sub
’上传文件
Private Sub Command2_Click()
Dim fso As new FileSystemObject,f As File,i As Integer
If File1.FileName=""Then ’判断是否已经选中文件
MsgBox“请选择本地的文件!”
Exit Sub
End If
’创建文件系统对象
Set fso=CreateObject(“Scripting.FileSystemObject”)
’上传文件
For i=0 To (3) ’遍历文件列表框File1中的全体文件
If (4) Then’若该文件被选中
Set f=fso. (5) (Dir1.Path & “\” & File1.List(i))
f.Copy Dir2.Path & “\” & File1.List(i),True ’复制文件至服务器端
End If
Next
File2.Refresh
End Sub
’下载文件
Private Sub Command3_Click()
……
End Sub
’退出程序
Private Sub Command4_Click()
End
End Sub
阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。
[说明]
某单位组织一次职业技术考核比赛,由十名评委对选手的现场表现打分(0到100以内的数值)。本程序接收原始评分后,去掉一个最高分、一个最低分,最后计算并输出选手最后得分。在接收输入第i个评分时,若输入数据的类型、范围不正确,程序将给出相应提示,并等待下一次输入,直至正确接收第i个评分为止。程序的运行界面如下:
在开发过程中,文本框名为Text1,界面上有上至下三个按钮分别取名为CmdMark、CmdReresh和CmdExit。
[Visual Basic代码]
Private Sub CmdMark_Click() ’按钮“输入评分”的单击事件响应代码
Dim i As Integer,temp As Variant ’声明变量
Dim marks(1 To 10),maxMark,minMark,sumMark,mark As Single
sumMark=0
Text1.Text=“编号”&Chr(9)&“评分”& vbCrLf
For i=1 To 10 ’接收十个评分输入
Do While 1=1 ’验证并接收第i个评委的评分
temp=InputBox(“请输入”&i&“号评委的评分:”)
If (1) IsNumeric(temp)Then
Msg Box“数据类型错误,请重试!”
ElseIf CSng(temp)<0 Or CSng(temp)>100 Then
MsgBox“数值范围错误,请重试!”
Else:Exit Do
End If
Loop
marks(i)=CSng(temp)
If i=1 Then maxMark=(2):minMark=(2)
If marks(i)>maxMark Then maxMark=marks(i)
If minMark>marks(i)Then (3)
sumMark=sumMark+marks(i)
Text1.Text=Text1.Text & i & Chr(9) & marks(i) & vbCrLf输出第i个评委的评分
Next
mark=( (4))/8 ’计算选手最后得分
Text1.Text=Text1.Text &"去掉一个最高分:"&maxMark&vbCrLf&_
"去掉一个最低分:"&minMark&vbCrLf&_
"选手最后得分:"&mark
End Sub
Private Sub Command2_Click() ’按钮“刷新屏幕”的单击事件响应代码
(5).Text=“单击”输入评分“按钮,开始统分……”
End Sub
Private Sub Command3_Click() 按钮“退出程序”的单击事件响应代码
End
End Sub
阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。
[说明]
函数encode()和decode()分别通过参数传递实现对字符串的变换和复原,返回值均为处理以后的字符串长度。变换函数encode()顺序考察已知字符串的字符,按以下规则逐组生成新字符串:
(1)若已知字符串的当前字符不是数字字符,则复制该字符于新字符串中;
(2)若已知字符串的当前字符是一个数字字符,且它之后没有后继字符,则简单地将它复制到新字符串中;
(3)若已知字符串的当前字符是一个数字字符,并且还有后继字符,设该数字值为n,则将其后继字符重复复制n+1次到新字符串中;
(4)以上述一次变换为一组,在不同组之间另插入一个下划线‘_’用于分隔。
例如:encode()函数对字符中26a3t2的变换结果为666_a_tttt_2。
函数decode()用于经函数encode()处理的字符中,即复制不连续相同的单个字符,而将一组连续相同的字符(不超过10个)变换成一个用于表示重复次数的数字符和一个重复出现的字符,并在复原过程中掠过变换函数为不同组之间添加的一个下划线字符。
注:假定调用变换函数encode()时的原始字符串中不包含下划线字符。
[函数]
int encode(char *instr,char *outstr)
{ char *ip, *op,c;
int k,n;
ip=instr;
op=outstr;
while ( * ip) {
if(*ip>='0'&&*ip<='9'&&*(ip+l)) {
n=*ip-'0'+1;
c=(1);
for (k=0;k<n;k++) *op++=c;
}
else *op++=*ip;
(2);
ip++;
}
if (op>outstr) (3);
*op='\0';
(4);
}
int decode(char *instr,char *outstr)
{ char *ip,*op,c;
int n;
ip=instr; p=outstr;
while ( *ip) {
c=*ip;
n=0;
while( *ip==c&&n<10) {(5); n++; }
if(n>1) *op+ + ='0'+n-1;
* op++=c;
if(*ip=='_') ip++;
}
*op='\0';
(4);
}
阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。
[说明]
链式存储的队列称为链队。根据队列的FIFO原则,为了操作上的方便,可以使用带头指针front和尾指针rear的单链表来实现链队。若链队元素的数据类型为datatype,则链队结构描述如下:
typedef struct node
{ datatypedata;
structnode *next;
} QNode; /*链队结点的类型*/
typedef struct
{ QNnode *front,*rear;
} LQueue; /*将头尾指针封装在一起的链队*/
以下这种链队的几个例子:
设q是一个指向链队的指针,即LQueue *q。下面各函数的功能说明如下:
(1) LQueue *Init_LQueue():创建并返回一个带头尾结点的空链队;
(2) intEmpty_LQueue( LQueue *q):判断链队q是否空;
(3) void In_LQueue(LQueue *q, datatypex):将数据x压入链队q;
(4) int Out_LQueue(LQuere *q, datatype *x):弹出链队q的第一个元素x,若成功则返回返回1否则返回0。
[函数]
LQueae *Init_LQueue()
{ LQueue *q, *p;
q=malloc(sizeof(LQueue)); /*申请链队指针*/
P=malloc(sized(QNode));/*申请头尾指针结点*/
p->next=NULL;
(1)=p;
return q;
}
int Empty_LQueue(LQueue *q)
{ if(q->front (2) q>rear) return 0;
else return 1;
}
void In_LQueue(LQueue *q, datatype x)
{ QNoda *p;
p=malloc(sizeof(QNnode));/*申请新接点*/
p->data=x;
p->next=NULL;
(3)=p;
q->rear=p;
}
int Out_LQueue(LQueue *q, datatype *x)
{ QNnode *p;
if(Empty_LQueue(q)) return 0; /*队空,操作失败*/
else{
p=q->front->next;
*x=(4);
(5)=p->next;
free(p);
if (q->front->next= =NULL)q->rear=q->front;
return 1;
}
}
阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。
[函数2.1说明]
Fibonacci数列中头两个数均为1,从第三个数开始,每个数等于前两个数之和。下述程序计算Fibonacci数列中前15个数,并以每行5个数的格式输出。
[函数2.1]
#include <stdio.h>
main()
{ int i,f,f1=1,f2=1;
printf("%5d%5d",f1,f2);
for(i=3;i<=15;i++){
f=(1);
printf("%5d",f);
if((2)= =0) printf("\n");
f1=12;
(3);
}
}
[函数2.2说明]
函数fun(char *str1,char *str2)的功能是将字符串str2拼接到str1之后。
[函数2.2]
fun(char *str1,char *str2)
{ int i,j;
for(i=0;str1[i]!='\0';i++);
for(j=0;str2[j]!='\0';j++) (4);
(5);
}
阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。
[说明]
下面的流程图用于计算一个英文句子中最长单词的长度(即单词中字母个数)MAX。假设该英文句子中只含字母、空格和句点“.”,其中句点表示结尾,空格之间连续的字母串称为单词。
[流程图]
高级经济师考试试题精选练习(1)
高级经济师考试模拟练习题之单选题(1
高级经济师考试试题精选练习(2)
高级经济师考试试题精选练习(3)
高级经济师考试试题:经济法案例试题精
高级经济师考试模拟试题及答案
高级经济师考试试题及答案:单选练习题
高级经济师考试试题:经济法案例试题精
高级经济师考试模拟题及答案练习(1)
高级经济师考试模拟题及答案练习(2)