[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷14及答案与解析.doc
《[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷14及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷14及答案与解析.doc(10页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(初级)程序员下午(应用技术)模拟试卷 14及答案与解析 1 阅读以下说明和流程图,回答问题 1 2,将解答填入答题纸对应的解答栏内。说明 给定一个十进制整数 A,将其转换为 R进制数的方法是:将 A的整数部分逐次除以 R,直到商等于 0为止,将所得的余数由低位到高位排列在一起,就得到了对应 R的进制数。以 A=11, R=2为例, 112=51 , 52=21 , 22=10 ,12=01 中各式的余数依次为: 1, 1, 0, 1,于是与 A对应的二进制数为 1011。 下面的流程图实现了将十进制数 2597转换为八 进制数的功能,其中: (1)循环 1执行除法运算并将余数依次
2、记录在数组 a中 (假定数组长度足够长 ),如 a1, a2, , ak; (2)循环 2则用于将这些余数按逆序输出,即 ak, ak-1, , a1; (3)图中 i,j分别是循环 1和循环 2中的循环变量; (4)图中 q用于记录每次除法所得的商值。 流程图 问题 1 将流程图中的 (1) (4)处补充完整,其中 (1) (3)处要求使用 C语言格式书写: (1)处为逻辑表达式, (2)、 (3)两处为算术表达式; (4)则须按照 “循环变量名:循环初值 ,循环终值,增量 ”格式描述。 问题 2该算法运行的结果 (5)。 2 阅读下列程序说明和 c代码,将应填入 (n)处的字句写在对应栏内
3、。 说明 下面的程序利用递归算法计算 x和 y的最大公约数。 函数 2.1 main ( ) int x,y,k,t; scanf(“ % d% d“ , 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 +
4、+ ) for(y=x,z=0;sabstrz = =stry;(4),y+ +) if(5)= =0) num + +; break; return(num); 3 阅读下列函数说明和 C函数,将应填入 (n)处的字句写在对应栏内。 说明 用链式存储结构实现的栈称为链栈。若链栈元素的数据类型为 datatype,以LinkStack记链栈结构,其类型定义为: typedef struct node datatype data; stmct node * next; StackNode, * LinkStack; 由于栈的主要操 作都是在栈顶进行的,因此我们把链表的头部作为栈顶。设 top为栈
5、顶指针,即: 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,返回新栈指针。 函数 LinkSta
6、ek 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) Sta
7、ekNode *p; if(top = = NULL) return NULL; else * x =(4); p = top; (5); free (p); return top; 4 阅读下列函数说明和 C函数,回答问题 1 2,将解答填入栏内。 说明 若矩阵Amn中存在某个元素 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
8、;i m;i + + ) min: (1); for (j=1; j n; j+ +) if(Aijmin) (2); for (j=0; j n; j+ +) if (3) p=0; while (p m if (p = m)printf (“%d,%d,%dn“,i,j,min); 问题 1 将函数代码中的 (1) (4)处补充完整 问题 2在上述代码的执行过程中,若 A为矩阵 ,则调用 saddle(A, 3, 3)后输出是 (5)。 5 阅读下列说明和 Visual Basic代码,将应填入 (n)处的字句写在对应栏内。 说明 某小型家电超市开 发了下面的程序,用以实现商品提货信息的汇
9、总和输出功能。程序的运行界面如下图所示: 程序界面包含两个控件数组,分别是提货商品复选框控件数组 Check1以及提货数量文本框控件数组Text1(相同下标的复选框和文本框相对应 ),提货清单的显示由 List控件实现,按钮 “打印清单 ”和 “清除 ”分别名为 Command1和 Command2。 Visual Basic代码 提货商品复选框的单击事件响应代码 Private Sub Check1_Click(Index As Integer)If Check1 (Index). Value = 1 Then (1). SetFocusEnd Sub按钮 “打印清单 ”的单击事件响应代码
10、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
11、End Select If (2)= 1 And Textl(i). Text “ “ Then (3) title char pass7; 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 name10; while(1) cout
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 初级 程序员 下午 应用技术 模拟 14 答案 解析 DOC
