[计算机类试卷]2009年下半年软件水平考试(初级)程序员下午(应用技术)试题真题试卷及答案与解析.doc
《[计算机类试卷]2009年下半年软件水平考试(初级)程序员下午(应用技术)试题真题试卷及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]2009年下半年软件水平考试(初级)程序员下午(应用技术)试题真题试卷及答案与解析.doc(10页珍藏版)》请在麦多课文档分享上搜索。
1、2009年下半年软件水平考试(初级)程序员下午(应用技术)试题真题试卷及答案与解析 1 阅读以下说明和流程图,填补流程图中的空缺 (1)一 (5),将解答填入答题纸的对应栏内。【说明】 求连续函数 f(x)的根 (方程 f(x)=0的解 )的最简单方法是二分法。为此,首先需要在若干点上检查函数值的符号,如果发现 f(a)与 f(b)符号相反(a 2 阅读以下说明和 c函数,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明1】 函数 Counter(int n, int w)的功能是计算整数 n的二进制表示形式中 1的个数,同时用数组 w记录该二进制数中 1所在位置的权。例如,十进制数
2、22的二进制表示为 10110。对于该二进制数, l的个数为 3,在 wO中存入 2(即 21)、 w1中存人 4(即 22)、 w2中存入 16(即 24)。 【 C函数 1】 int counter(int n, int w)( int i=0, k=1 ; while( (1) ) if(n 2)wi+ =k; n=n 2; (2) ; ) return i; ) 【说明2】 函数 smove(int A, int n)的功能是将数组中所有 的奇数都放到所有偶数之前。其过程为:设置数组元素下标索引 i(初值为 0)和 j(初值为 n-1),从数组的两端开始检查元素的奇偶性。若 Ai、 A
3、j都是奇数,则从前往后找出一个偶数,再与 Aj进行交换;若 Ai、 Aj都是偶数,则从后往前找出一个奇数,再与 Ai进行交换;若 Ai是偶数而 Aj是奇数,则交换两者,直到将所有的奇数都排在所有偶数之前为止。 【 c函数 2】 void Smove(int A, in七 n)( int temp, i=0, j=n-1 ; if(n 3 阅读以下说明、 C函数 和问题,将解答写入答题纸的对应栏内。 【说明 1】 函数 test_fl(int m, im n)对整数 m、 n进行某种运算后返回一个整数值。 【 c函数 1】 int test_f1 (int m, int n) int k; k=
4、mn?m: n; for(; (k m! =O) I I (k n! =0); k+); return k; ) 【问题 1】 (5分 )(1)请写出发生函数调用 test_fl(9, 6)时,函数的返回值; (2)请说明函数 test_f1的功能。 【说明 2】 设在某 c系统中为每 个字符分配 1个字节,为每个指针分配 4个字节, sizeof(x)计算为 x分配的字节数。 函数 test_12Q用于测试并输出该 c系统为某些数据分配的字节数。 【 c函数 2】 void test_f2() char str =“NewWorld”; char*p=str; char i= 0; VOid
5、*ptr=malloc(50); printf(” d t”, sizeof(str); printf(“ d n”, sizeof(p), printf(” d t”, sizeof(i); printf(” d n”, sizeof(ptr); 【问题 2】 (4分 ) 请写出函数 test_f2()的运行结果。 【说明 3】 函数 test_f3(char S)的功能是:将给定字符串 S中的所有空格字符删除后形成的串保存在字符数组 tstr中 (串 S的内容不变 ),并返回结果串的首地址。 【 C函数 3】 char*test_f3(const char s)( char tstr50=
6、( 0); unslgned int i, k=0; for(i=0; i(strlen(s); i+) if(si!=)tstrk+=si; return tStr ; ) 【问题 3】 (6分 ) 函数 test_f3()对返回值的处理有缺陷,请指出该缺陷并说明修改方法。 4 阅读以下说明和 C函数,将解答填入答题纸的对应栏内。 【说明】 函数 del_substr(S, T)的功能是从头至尾扫描字符串 S,删除其中与字符串 T相同的所有子串,其处理过程为:首先从串 S的第一个字符开始查找子串 T,若找到,则将后面的字符向前移动将子串 T覆盖掉,然后继续查找子串 T,否则从串 S的第二个字
7、符开始查找,依此 类推,重复该过程,直到串 S的结尾为止。该函数中字符串的存储类型 SString定义如下: typedef struct char*ch; *串空间的首地址 * int length; *串长 * SString; 【 c函数】 void del_substr(SString*S, SString T)( int i, j ; if(S-lengthlength(T length) return; i=0: *i为串 S中字符的下标 * for(; ) J=0 ; *j为串 T中字符的下标 * while(ilength jchi=T chj) i+; J+; ) else
8、i= (1) ; j=0; *i值回退,为继续查找 T做准备 * ) ) if( (2) )( *在 S中找到与 T相同的子串 * i= (3 ) ; *计算 S 中子串 T的起始下标 * for(k=i+T 1ength; klength; k+) *通过覆盖子串 T进行删除 * S-ch (4) =S-chk; S-)length= (5; ) ; *更新 S的长度 * ) else break; *串 S中不存在子串 T* ) ) 5 阅读以下说明和 C+代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 已知类 LinkedList表示列表类,该类具有四个方法: addE
9、lement()、 lastElement()、 numberOfElement()以及 removeLastElement()。四个方法的含义分别为: void addElement(Object):在列表尾部添加一个对象; Object lastElement():返回列表尾部对象; int numberOfElement():返回列表中对象个数; void removeLastElement():删除列表尾部的对象。 现需要借助 LinkedList 来实现一个 Stack栈类, c+代码 1和 c+代码 2分别采用继承和组合的方式实现。 【 C+代码 1】 Class Stack: p
10、ubliC LinkedList public: void push(Object.o)(addElement(o); ); 压栈 Object peek()return (1); ); 获取栈顶元素 bool isEmpty()- 判断栈是否为空 return numberOfElement() =0 ; ); Object pop() 弹栈 Object o=lastElement(); (2) ; return o; ; : 【 c+代码 2】 Class Stack private: (3) ; publiC: void push(Object O) 压栈 list addElemen
11、t(o); ); ObjeCt peek() 获取栈顶元素 return list (4); ); bool isEmpty() 判断栈是否为空 return 1ist numberOfElement()=0; ); Object pop() 弹栈 Object O=list lastElement(); 1ist removeLastElemen七 (); return 0; ); ); 【问题】 若类 LinkedList新增加了一个公有的方法 removeElement(int index),用于删除列表中第 index个元素,则在用继承和组合两种实现栈类 Stack的方式中,哪种方式下
12、Stack对象可访问方法 removeElement(int index)? (5) (A继承 B组合 ) 6 阅读以下说明和 Java代码,将应填入 (n) 处的字句 写在答题纸的对应栏内。 【说明】 已知类 LinkedList表示列表类,该类具有四个方法: addElement()、 lastElemcnt()、 numberOfElement()以及 removeLastElement()。四个方法的含义分别为: void addElement(Object):在列表尾部添加一个对象; Object lastElement():返回列表尾部对象; int numberOfElement
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 2009 年下 半年 软件 水平 考试 初级 程序员 下午 应用技术 试题 答案 解析 DOC

链接地址:http://www.mydoc123.com/p-492837.html