[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷17及答案与解析.doc
《[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷17及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷17及答案与解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(初级)程序员下午(应用技术)模拟试卷 17及答案与解析 1 阅读以下说明和流程图,回答问题 1 2,将解答填入对应的解答栏内。 说明 下面的流程图描述了计算自然数 1到 N(N1)之和的过程。 流程图 问题 1 将流程图中的 (1) (3)处补充完整。问题 2 为使流程图能计算并输出 1*3+2*4+N*(N+2) 的值, A框内应填写 (4);为使流程图能计算并输出不大于 N的全体奇数之和, B框内应填写 (5)。 2 阅读下列函数说明和 C函数,将应填入 (n)处的字句写在对应栏内。 函数 2.1说明 函数 strcpy的功能是将字符串 str2的内容复制到字符申 str1。
2、 函数 2.1 (1) strcpy (char *slr1, const char *str2) char * temp; while( * str2!=0) *cp+ =(2); (3)=0; return str1; 函数 2.2说明 函数 int strcmp(const char *str1, const char *str2)的功能是按字典序比较两个 字符串str1和 str2的大小。当 str1 str2时返回 -1,当 str1 str2时返回 1,否则返回 0。 函数 2.2 int strcmp(const char *str1, const char *str2) whi
3、le( *str1= =* str2) if(* s1= =(4) return 0; s1+; (5); if( *str1 *str2) return -1; return 1; 3 阅读下列函 数说明和 C函数,将应填入 (n)处的字句写在对应栏内。 说明 循环队列的类型定义如下 (其中队列元素的数据类型为 datatype): typedef struct datatype dataMAXSIZE; /*数据的存储区 */ int front,rear; /*队首、队尾指针 */ int num; /*队列中元素的个数 */ c _ SeQueue; /*循环队 */ 下面函数及其功能
4、说明如下: (1) c_SeQueue* Init_SeQueue():新建队列; (2) int ln_SeQueue( c_SeQueue *q, datatype x):将元素 x插入队列 q,若成功返回1否则返回 0; (3) int Out_SeQueue (c_SeQueue *q, datatype *x):取出队列 q队首位置的元素,若成功返回 1否则返回 0。 函数 c_SeQueue* Init_SeQueue() q=malloc(sizeof(c_SeQueue); q- front=q- rear=MAXSIZE-1; (1); return q; int In_Se
5、Queue( c_SeQueue *q, datatype x) if(q- num= =MAXSIZE) return 0; /*队满不能入队 */ else q- rear=(2); q- dataq- rear=x; (3); return 1; /*入队完成 */ int Out_SeQueue( c_SeQueue *q, datatype *x) if (q- num= =0) return 0; /*队空不能出队 */ else *x=(4); /*读出队首元素 */ q- front=(5); q- num- -; return 1; /*出队完成 */ 4 阅读下列函数说明和
6、 C函数,将应填入 (n)处的字句写在对应栏内。 说明 下面程序的功能是将多个文件的内容同 时输出在屏幕上,文件名都作为参数传入,命令执行为: cat file1 file2 file3,即同时输出 file1、 file2、 file3的内容。 程序 #include stdio.h #include stdlib.h void fileeopy(FILE * ifp, FILE *ofp) int c; while(c=getc(1)!=EOF) pute(c,(2); int main(int arge, char *argv) FILE *fp; while(3) 0) if(fp=f
7、open(4),“r“)= =NULL) printf(“Cant open filen“); return 1; else filecopy(fp, stdout); fclose(5); return 0; 5 阅读以下应用说明及 Visual Basic程序代码 ,根据要求回答问题 1至问题 4。 【说明】 某学期成绩管理系统的 “增、删、改数据表中的记录 ”对话框如图 1-19所示。 图 1-19对话框中共定义了 6个标签、 6个文本框、 4个命令按钮和 1个 Data数据控件。其中 Data数据控件是 Visual Basic的标准控件。利用它能方便地创建应用程序与数据库之间的连接,
8、并实现对数据资源的访问。【添加】 (cmdAdd)按钮用于向学生成绩数据表添加一条空记录:【修改】 (cmdEdit)按钮用于修改当前所显示的一条数据记录:命令按钮【删除】 (cmdDelete)用于删除当前显示的 一条数据记录;单击【退出】 (cmdExit)按钮,系统将退出图 1-19所示的对话框。 表 1-13是学生成绩表结构的示例;表 1-14是学生成绩表的示例。 图 1-19将表 1-14数据库中的记录信息显示到相应的文本框中。要在各文本框 (txtStu(i), i=0,1,2,3,4,5)中显示 Data数据控件所连接的数据表中的数据,必须将文本框与 Data数据控件进行绑定。【
9、 Visual Basic程序】 Private Sub Form_Load() For i = 0 To 5 txtStu(i).Locked = True Next iEnd Sub Private Sub cmdAdd Click() cmdEdit.Enabled = Not cmdEdit.Enabled (1) For i = 0 To 5 txtStu(i) .Locked = Not txtStu(i).Locked Next i If cmdAdd. Caption = “添加 “ Then (2) Datal.Caption = “新记录 “ cmdAdd.Caption
10、= “保存 “ cmdExit.Caption = “取消 “ txtStu(0).SetFocus Else Datal.Recordset.Update (3) cmdAdd.Caption = “添加 “ End IfEnd SubPrivate Sub cmdEdit_Click() cmdAdd. Enabled = Not cmdAdd. Enabled cmdDelete. Enabled = Not cmdDelete. Enabled For i = 0 To 5 txtStu(i).Locked = Not txtStu(i).Locked Next i If cmdEdi
11、t.Caption = “修改 “ Then Datal.Recordset.Edit cmdEdit.Caption = “保存 “ cmdExit.Caption = “取消 “Else (4) cmdEdit.Caption = “修改 “ End IfEnd SubPrivate Sub cmdDelete_Click() answer = MsgBox(“确实删除该记录吗 ?“, vbYesNo + vbQuestion, “警告 “) If answer = vbYes Then Datal.Recordset.Delete (5) If Datal.Recordset.EOF T
12、hen (6) End If End IfEnd Sub Private Sub cmdExit_Click() If cmdExit.Caption = “退出 “ Then End Else (7) cmdAdd. Enabled= True cmdEdit.Enabled = True cmdDelete. Enabled= True For i = 0 To 5 txtStu(i).Locked = Not txtStu(i).Locked Next i cmdExit.Caption = “退出 “ cmdAdd.Caption = “添加 “ cmdEdit.Caption = “
13、修改 “ (8) End IfEnd SubPrivate Sub Datal_Reposition() Datal.Caption = “第 “ int deg; public: void setname(charna) strcpy(name,na); char * getname() return name; void setdeg(int d) deg= d; int getdeg()return deg; ; class compute int ns; student naN; public: void getdata(); void sort(); void disp(); ; v
14、oid compute:getdata() int i,tdeg; char tname10; printf(“输入学生人数 :“); scanf(“%d“, printf(“输入学生姓名和成绩 :n“); for(i=0;i ns;i+ +) scanf(“%s%d“,tname, (1); nai.setdeg(tdeg); void compute:sort() int i,j,pick; (2); for(i=0;i ns-1;i+ +) pick=i; for(j=i+1;j ns;j+ +) if(naj.getdeg() napick.getdeg() (3); temp=nai
15、; nai=napick; napick=temp; void compute:disp() int cutoff,i; printf(“RESULTn“); printf(“姓名 成绩 合格否 n“); cutoff=ns*7/10-1; for(i=0;i ns;i+ +) printf(“%-6s%3d“,(4); if(5) printf(“tPASSn“); else printf(“tFAILn“); void main() compute obj; obj.getdata(); obj.sort(); obj.disp(); 10 阅读以下说明和 java代码,将应 填入 (n)
16、处的字句写在对应栏内。 说明 有若干教师,每个教师只有姓名,一个教师可以指导多名研究生;每名研究生有姓名和研究方向,程序最后输出每个教师指导的所有研究生的姓名和研究方向。 Java程序 public class Teacher String name; int top=0; Student student=new Student20; public Teacher() public Teacher(String name) this.name=name; boolean add(Student stu) int len=this.student.length; if (top len-1) t
17、his.studenttop=siu; (1); return true; else return (2); void disp() System.out.println(“指导老师 “”+this.name); System.out.println(“研究生 :”); for(int i=0;i (3);i+) System.out.println(“姓名 :”+this.studenti.name+“t研究方向 :”+this.studenti. search); public static void main(String args) Teacher t=new Teacher(“李明
18、”),new Teacher(“王华 ”); Student s1 = new Student(“孙强 ”, “数据库 ”); Student s2 = new Student(“陈文 ”, “软件工程 ”); Student s3 = new Student(“章锐 ”, “计算机网络 ”); if(! t0.add(s1) System.out.println(“每个老师最多只能指导 20个学生 !”); if(! t0.add(a2) System.out.println(“每个 老师最多只能指导 20个学生 !”); if(! t1.add(s3) System.out.println
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 初级 程序员 下午 应用技术 模拟 17 答案 解析 DOC
