阅读以下说明和流程图,回答问题1~2,将解答填入答题纸对应的解答栏内。
[说明]
给定一个十进制整数A,将其转换为R进制数的方法是:将A的整数部分逐次除以R,直到商等于0为止,将所得的余数由低位到高位排列在一起,就得到了对应R的进制数。以A=11,R=2为例,11÷2=5…1,5÷2=2…1,2÷2=1…0,1÷2=0…1中各式的余数依次为:1,1,0,1,于是与A对应的二进制数为1011。
下面的流程图实现了将十进制数2597转换为八进制数的功能,其中:
(1)循环1执行除法运算并将余数依次记录在数组a中(假定数组长度足够长),如a[1], a[2],……,a[k];
(2)循环2则用于将这些余数按逆序输出,即a[k],a[k-1],……,a[1];
(3)图中i,j分别是循环1和循环2中的循环变量;
(4)图中q用于记录每次除法所得的商值。
[流程图]
[问题1]
将流程图中的(1)~(4)处补充完整,其中(1)~(3)处要求使用C语言格式书写:(1)处为逻辑表达式,(2)、(3)两处为算术表达式;(4)则须按照“循环变量名:循环初值,循环终值,增量”格式描述。
[问题2]该算法运行的结果(5)。
阅读以下说明和java代码,将应填入(n)处的字句写在对应栏内。
[说明]
本程序中预设了若干个用户名和口令。用户输入正确的用户名后,可以查找对应的口令,一旦输入结束标记“end”,程序结束。
[Java代码]
import java. io. *:
public class User {
public String user;
public Siring pass;
public User() { }
public User( String u,String p) {
user=u;
pass=p;
}
public String (1) () { return this. user; }
public String (2) () { return this. pass; }
public static void main(String[] args) {
User ua[]={new User("Li","123456"), new User("wang","654321"),
new User("Song","666666")};
while(true) {
InputStreamReader reader = new InputStreamReader(System. in);
BufferedReader inpul = new BnfferedReader(reader);
System. out. print("Enter your name:");
String name = null;
try { name = input. readLine();}
catch (IOException ex) {}
if((3)) break;
int i;
for (i=0;i<3;i++) {
if (name. equals(ua[i]. getUser())){
System. out. println("密码:"+ua[i].getPass());
(4);
}
}
if ((5)) System. out. println("该用户不存在!");
}
}
}
阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。
[说明]
本程序中预设了若干个用户名和口令。用户输入正确的用户名后,可以查找对应的口令,一旦输入结束标记“end”,程序结束。
[C++程序]
#include <iostream. h>
#include <string. h>
class User
{ protected:
char user[10];
char pass[7];
public:
User(char[ ],char[]);
(1) {return user;}
(2) {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((3)= =0) break;
for(int i=0;i<3;i+ +)
if(strcmp(name,ua[i].getuser()) = =0){
cout< <"密码:" < < ua[i].getpass() < <endl;
(4);
if((5))cout< <"该用户不存在!" < <endl;
}
}
阅读以下说明和Visual Basic代码,将应填入(n)处的字句写在对应栏内。
[说明]
本程序实现的功能是查看磁盘上的图片及其基本信息。程序运行界面如下图所示,用户只要逐步选择适当的驱动器、目录和图片文件,图片内容随即显示在界面中央,文件的基本信息则呈现于右侧文本框中。用户还可以删除或复制选中的图片文件。
在开发过程中,驱动器列表框名为Drivel,目录列表框名为Dir1,文件列表框名为File1,图片的显示由Image控件对象Image1来实现,文件信息文本框名为Text1,按钮“删除文件”和“复制到…”分别名为CmdDel和CmdCpy。
[Visual Basic代码]
Dim filename As String
Dim fso As New (1), file As file
Private Sub Form_Load()
Set fso = CreateObject("Scripting.FileSystemObject")
Drivel.Drive = "F:"
End Sub
Private Sub Dir1_Change()
File1.path=Dirl.path ’更新文件列表框的路径
End Sub
Private Sub Drive1_Change()
Dir1.path =(2) ’更新目录列表框的路径
End Sub
Private Sub File1_Click()’文件列表框的单击事件响应代码
If Right(Dir1.path, 1) <>"\" Then
filename = Dir1.path & "\" & Filel.filename
Else
filename = Dir1.path & Filel.filename
End If
Image1.Picture =(3)
Set file = fso.GetFile(filename)
Text1. Text = "文件名称:" & file.Name & vbCrLf & _
"文件大小:" & file. Size & "字节" & vbCrLf & _
"文件类型:" & file.Type & vbCrLf & _
"创建日期:" & file. DateCreated & vbCrLf & _
"修改日期:" & file. DateLastModified
End Sub
Private Sub CmdCpy_Chck()’按钮“复制到…”的单击事件响应代码
Dim path As String
path = InputBox("请输入目标路径(含文件名):")
(4)
End Sub
Private Sub CmdDel_Click()’按钮“删除文件”的单击事件响应代码
(5)
End Sub
阅读下列说明和Visual Basic代码,将应填入(n)处的字句写在对应栏内。
[说明]
某小型家电超市开发了下面的程序,用以实现商品提货信息的汇总和输出功能。程序的运行界面如下图所示:
程序界面包含两个控件数组,分别是提货商品复选框控件数组Check1以及提货数量文本框控件数组Text1(相同下标的复选框和文本框相对应),提货清单的显示由List控件实现,按钮“打印清单”和“清除”分别名为Command1和Command2。
[Visual Basic代码]
’提货商品复选框的单击事件响应代码
Private Sub Check1_Click(Index As Integer)
If Check1 (Index). Value = 1 Then (1). SetFocus
End Sub
’按钮“打印清单”的单击事件响应代码
Private Sub Command1_Click()
Dim i, n, price As Integer, sum As Long, title As String
sum = 0
For i = O To 4
Select Case i
Case 0: title ="电视机": price = 3580
Case 1: title ="微波炉": price = 660
Case 2: title ="电冰箱": price = 1850
Case 3: title ="DVD": price = 2880
Case 4: title ="空调": price = 2500
End Select
If (2)= 1 And Textl(i). Text < > " " Then
(3) title & Text1(i).Text & "台"
n = n + Val(Textl(i))
sum =(4)
End If
Next i
If sum < > 0 Then
(3) "共:" & n &"台," &"合计金额:"& sum &"元。"
End If
End Sub
’按钮“清除”的单击事件响应代码
Private Sub Command2_Click()
(5)
End Sub
阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。
[说明]
用链式存储结构实现的栈称为链栈。若链栈元素的数据类型为datatype,以LinkStack记链栈结构,其类型定义为:
typedef struct node
{ datatype data;
stmct node * next;
} StackNode, * LinkStack;
由于栈的主要操作都是在栈顶进行的,因此我们把链表的头部作为栈顶。设top为栈顶指针,即:LinkStack top。
下面各函数的功能说明如下:
(1)LinkStack Init_LinkStack():建立并返回空的链栈;
(2)int Empty_LinkStack(LinkStack top):判断top所指链栈是否空;
(3)LinkStack Push_LinkStack(LinkStacktop,datatypex):将数据x压人top所指链栈的栈顶,返回新栈指针;
(4)LinkStack Pop_LinkStack (LinkStacktop, datatype*x):弹出top所指链栈的栈顶元素x,返回新栈指针。
[函数]
LinkStaek Init_LinkStack( )
{ returnNULL;
int Empty_LinkStack ( LinkStaek top)
if(top = = NULL) return 1;
else return 0;
LinkStaek Push_LinkStaek( LinkStaektop, datatype X)
{ StaekNode *s;
s=malloc (sizeof(StaekNode) );
(1)= x;
(2)= top;
(3);
return top;
}
LinkStaek Pop_LinkStack (LinkStacktop, datatype * x)
{ StaekNode *p;
if(top = = NULL) return NULL;
else{
* x =(4);
p = top;
(5);
free (p);
return top;
}
}
阅读下列函数说明和C函数,回答问题1~2,将解答填入栏内。
[说明]
若矩阵Am×n中存在某个元素aij满足:aij…是第i行中最小值且是第j列中的最大值,则称该元素为矩阵A的一个鞍点。下面程序的功能是输出A中所有鞍点,其中参数A使用二维数组表示,m和n分别是矩阵A的行列数。
[程序]
void saddle (int A[ ] [ ], int m, int n)
{ int i,j,min;
for (i=0;i <m;i + + )
{ min: (1);
for (j=1; j<n; j+ +)
if(A[i][j]<min) (2);
for (j=0; j<n; j+ +)
if ((3))
{ p=0;
while (p<m&&(4))p+ +;
if (p > = m)printf ("%d,%d,%d\n",i,j,min);
}
}
}
[问题1] 将函数代码中的(1)~(4)处补充完整
[问题2]在上述代码的执行过程中,若A为矩阵,则调用saddle(A,3,3)后输出是(5)。
阅读下列程序说明和c代码,将应填入(n)处的字句写在对应栏内。
[说明]
下面的程序利用递归算法计算x和y的最大公约数。
[函数2.1]
main ( )
{ int x,y,k,t;
scanf(" % d% d" , &x, &y);
if(x>y) { t=x;x=y; y=t;}
(1);
while(k! =0){
y=x;
(2);
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;
(3);
for(x=0;str[ x] ! = '\O';x + + )
for(y=x,z=0;sabstr[z] = =str[y];(4),y+ +)
if((5)= ='\0') {
num + +;
break;
}
return(num);
}
阅读以下说明和流程图,回答问题1~2,将解答填入答题纸对应的解答栏内。
[说明]
给定一个十进制整数A,将其转换为R进制数的方法是:将A的整数部分逐次除以R,直到商等于0为止,将所得的余数由低位到高位排列在一起,就得到了对应R的进制数。以A=11,R=2为例,11÷2=5…1,5÷2=2…1,2÷2=1…0,1÷2=0…1中各式的余数依次为:1,1,0,1,于是与A对应的二进制数为1011。
下面的流程图实现了将十进制数2597转换为八进制数的功能,其中:
(1)循环1执行除法运算并将余数依次记录在数组a中(假定数组长度足够长),如a[1], a[2],……,a[k];
(2)循环2则用于将这些余数按逆序输出,即a[k],a[k-1],……,a[1];
(3)图中i,j分别是循环1和循环2中的循环变量;
(4)图中q用于记录每次除法所得的商值。
[流程图]
[问题1]
将流程图中的(1)~(4)处补充完整,其中(1)~(3)处要求使用C语言格式书写:(1)处为逻辑表达式,(2)、(3)两处为算术表达式;(4)则须按照“循环变量名:循环初值,循环终值,增量”格式描述。
[问题2]该算法运行的结果(5)。
高级经济师考试试题精选练习(1)
高级经济师考试模拟练习题之单选题(1
高级经济师考试试题精选练习(2)
高级经济师考试试题精选练习(3)
高级经济师考试试题:经济法案例试题精
高级经济师考试模拟试题及答案
高级经济师考试试题及答案:单选练习题
高级经济师考试试题:经济法案例试题精
高级经济师考试模拟题及答案练习(1)
高级经济师考试模拟题及答案练习(2)