第一篇:2010下半年程序员下午试题范文
2010年11月软考程序员考试下午试题
2010年11月软考程序员考试下午试题答案(网友版)
供考生参考,标准版答案稍后发布!
一、1、12 2、24 3、134 4、4
二、strlen(s)s[i] t[k] len>1 s+1,len-2
三、19、21、23有错 1、2、出错
3、testing
四、Node p->next p->next q->next delTag==0
五、1、int Student
2、void Student
3、creadit
4、credit
5、new Student
6、SortStudent ss=new SortStudent
第二篇:2001高级程序员级下午试卷及答案
2001高级程序员级下午试卷及答案
试题一
阅读下列说明和流程图,回答问题1至问题3,把解答填入答题纸的对应栏内。[说明] 某计算机厂生产多种型号的计算机,通过分布在世界各地的销售点销售,销售点应在收到计算机商品后的规定时间内把货款汇给该计算机厂。
流程图 1 描述了该厂发货、收款、催款的处理过程。其中商品文件、销售点文件、发货文件和收款文件的记录格式如下: 商品文件 = 商品代号 + 计算机规格名称 + 单价
销售点文件 = 销售点代号 + 销售点名称 + 地址
发货文件 = 发货单号 + 发出日期 + 销售点代号 + 商品代号 + 数量 + 金额
收款文件 = 收款单号 + 收款日期 + 销售点代号 + 商品代号 + 数量 + 金额 + 发货单号 在流程图中,处理 1~处理 3 把当天的发货单合并到发货文件。处理 4~处理 6 把当天的收款单合并到收款文件。每天在处理 3 和处理 5 完成之后,由处理 7 在发货文件中当天已收款的记录上加上已收款标记。处理 8 在月末执行一次,它有三个功能: ①汇总输出本月发货清单;②删除发货文件中已收款的所有记录,形成一个新的发货文件,作为下月初处理时的初始文件 ③产生催款通知单,以便对那些一个月以前已发货但至今仍未收到货款的销售点催款。[问题1] 指出流程图 l 中应在哪几个处理框中检查发货单和收款单的错误,并分别说明它们各能指出什么错误。
[问题2] 如果把流程图 1 中从日收款分类文件到处理 7 的连线改成从日收款文件到处理 7 的连线,则有什么缺点,理由是什么? [问题3] 处理 9 每月末执行一次如流程图所示,利用收款文件产生月收款报告并更新收款文件。要求指出它对收款文件做什么更新操作。
试题二
阅读下列说明和流程图,回答问题 1 至问题 3 ,把解答填入答题纸的对应栏内。[说明] 某考务处理系统具有以下功能: 1.输入报名单;2.自动编制准考证号;3.输出准考证;4.输入成绩清单;5.输出成绩通知单;6.输出成绩分布表;7.输入合格标准、输出录取通知单;8.试题难度分析,并输出试题难度分析表。
这里给出了实现上述要求的部分不完整的数据流图,其中部分数据流的组成如下所示: 报名单 = 报名号 + 姓名 + 通信地址
考生名册 = 报名号 + 准考证号 + 姓名 + 通信地址
成绩册 = 准考证号 + { 课程号 + 成绩 }(其中{W}表示W重复多次)准考证 = 报名号 + 姓名 + 准考证号 [问题1] 指出 0 层图中可以删去的部分。[问题2] 在加工 1 子图中将遗漏的数据流添加在答题纸上。[问题3] 加工 2 子图分解成如图所示的 4 个子加工及相关的文件(即数据存储)。试在此基础上将相关的DFD 成份添加在答题纸上,以完全该加工子图。
[数据流图] 顶层
试题三
在COMET型计算机上可以使用试卷上所附的 CASL 汇编语言。阅读程序说明和 CASL 程序,将应填入__(n)__处的字句,写在答题纸的对应栏内。
[程序3说明] 子程序 DEHZ 用来对 HZ 编码的字串做解码处理。
HZ 编码是海外华人创造的一种将含有高位为 1 的汉字双字节字串转换成易于在网络中传输的ASCII 字符串的变换方式。编码过程中,被转换字符串中的原汉字子字符串各字节高位作清零处理,使之成为 ASCII 子字符串,并在其前后两端分别添加 ~{ 和 ~} 作为标记;而对于原 ASCII 子字符串,则将其中的 ~ 改写为 ~~,其余字符不变。DEHZ 解码子程序则是 HZ 编码的复原过程。复原 ASCII 子字符串过程中遇有 ~~ 字符则改写为一个 ~ ,遇有 ~{ 则将其后直至 ~} 标记前的各字节高位置1,复原为汉字子字符串,同时删除其前后标记。~的后续字符不属于以上情况均作为错误处理。
调用该子程序时, GR1 存放原始字符串首地址, GR2 存放还原后的目标字符串首地址。工作寄存器 GR3 用作处理汉字子字符串的识别标志,进入子程序时应初始化为处理 ASCII 子字符串。程序按照 CASL 语言的标准约定,字符串的每个字符只占用一个存储字的低八位。原始字符串和目标字符串均以 0 作为结束标志。
[程序3] START DEHZ PUSH 0,GR3 PUSH 0,GR2 PUSH 0,GR1 LEA GR3,0 LOOP __(1)__ CPA GR0,MARK0 JNZ GOON LEA GR1,1,GR1 LD GR0,0,GR1 CPA GR0,MARK0 __(2)__ CPA GR0,MARK1,GR3 JNZ ERROR __(3)__ LEA GR1,1,GR1 JMP LOOP ERROR OUT ERS1R,ERLEN JMP EXIT GOON __(4)__ ST GR0,0,GR2 LEA GR2,1,GR2 LEA GR1,1,GR1 CPA GR0,VO __(5)__ EXIT P0P GR1 P0P GR2 P0P GR3 RET V1 DC 1 V0 DC O DC #0080 MARK0 DC '~ ' MARK1 DC '{ }' ERSTR DC 'ERROR!' ERLEN DC 6 END 试题四
阅读下列程序说明和C代码,将应填入__(n)__处的字句写在答题纸的对应栏内。[程序4说明] 设 M 叉树采用列表法表示,即每棵子树对应一个列表,列表的结构为:子树根结点的值部分(设为一个字符)和用“()”,括起来的各子树的列表(如有子树的话),各子列表间用“,”,分隔。例如下面的三叉树可用列表 a(b(c,d),e,f(g,h,i))表示。
本程序输入列表,生成一棵 M 叉树,并由 M 叉树输出列表。假定输入无错误。[程序4] #include〈stdio.h〉 #include〈stdlib.h〉 #define M 3 typedef struct node{ char val;struct node *subTree[M];} NODE;char buf[255] ,*str = buf NODE *d = NULL NODE *mackTree()/*由列表生成M叉树*/ { int k;NODE *s;s = __(1)__ s-> val = *str++;for(k = 0;k < M;k++)s-> subTree[k] = NULL;if(*str='('){ k = 0;do { str++;s-> subTree[k] = __(2)__;if(*str == ')'){ str++;break;} k = k+l;} while(__(3)__);} return s;} void walkTree(NODE *t)/*由 M 叉树输出列表*/ { int i;if t!= NULL){ __(4)__ if(t-> subTree[0] == NULL)return;putchar('(');for(i = 0;i < m;i++){ __(5)__ if(i!= M-l && t-> subTree[i+l]!= NULL)putchar(', ');} putchar(')');} }
void main(){ printf(“Enter exp:”);scanf(“%S” , str);d = makeTree();walkTree(d);putchar('n');}
试题五
阅读下列程序说明和C代码,将应填入__(n)__处的字句写在答题纸的对应栏内。[程序5说明] 著名的四色定理指出任何平面区域图均可用四种颜色着色,使相邻区域着不同的颜色。本程序对给定的区域图找出所有可能的不超过四种颜色的着色方案。程序中用 1~4 表示四种颜色。要着色的 N 个区域用 0~N一1编号,区域相邻关系用 adj[][] 矩阵表示,矩阵的 i 行 j 列的元素为 1 ,表示区域 i 与区域 j 相邻;矩阵的 i 行 j 列的元素为 0 ,表示区域 i 与区域 j 不相邻。数组 color[] 用来存储着色结果, color[i] 的值为区域 i 所着颜色。
【程序5】
#include〈stdio.h〉 #define N 10 void output(int color[])/*输出一种着色方案*/ { int i;for(i = 0;i < N;i++)printf(“%4d” , color[i]);printf(“n”);} int back(int *ip ,int color[])/*回溯*/ { int c = 4;while(c == 4){ if(*ip <= 0)return 0;--(*ip);c = __(1)__;color[*ip] =-1;} return c;} /*检查区域 i ,对 c 种颜色的可用性*/ int color0k(int i , int c , int[][N] , int color[ ] } { int j;for(j = 0;j < i;j++ } if(__(2)__)return 0;return 1;}
/*为区域i选一种可着的颜色*/ int select(int i ,int c ,int adj[][N] , int color[ ]){ int k;for(k = c;k <= 4;k++)if(colorOK(__(2)__))return k;return 0;} int coloring(int adj[][N])/*寻找各种着色方案*/ { int color[N] , i , c , cnt;for(i = 0;i < N;i++)color[i] =-1;i = c = 0;cnt = 0;while(1){ if((c = __(4)__)== 0){ c = back(&i , color);if(c == 0)return cnt;} else { __(5)__;i++;if(i == N){ output(color);++cnt;c = back(&i , color);} e1se c = 0;} } } void main(){ int adj[N][N] = { {0,1,0,1,1,1,1,1,1,1}, {1,0,1,1,0,1,1,1,1,0}, {0,1,0,1,0,1,1,0,1,1}, {1,1,1,0,1,1,0,0,1,1}, {1,0,0,1,0,1,0,0,0,0}, {1,1,1,1,1,0,1,0,0,1}, {1,1,1,0,0,1,0,0,1,0}, {1,1,0,0,0,0,0,0,1,1}, {1,1,1,1,0,0,1,1,0,1}, {1,0,1,1,0,1,0,1,1,0} };printf(“共有%d组解.n”,coloring(adj));}
下午答案
试题一
[问题1)处理l和处理4:发货单和受款单中的非法销售代号、商品代号; 数量和金额非正整;单位I*数量,i金额;输入中的非法字符; 处理7:重复付款和找不到与收款单位相对应发货单; [问题2] 因文件分类,处理时要增加访问外存的时间或需大量内存,从而降低了处理速度 [问题3] 删除收款文件中的所有记录 试题二
[问题1]成绩文件可删 试题二
(1)LD GR0,0GR1(2)JZE GOON(3)EOR GR3,V1(4)OR GR0,V0, GR3(5)JNZ LOOP 试题四
(1)(NODE*)malloc(sizeof(NODE))(2)makeTree()(3)*str == ','(4)putchar(t->val)(5)walkTree(t->subTree[i])试题五(1)color[*ip](2)adj[i][j]!= 0 && color[j] == c(3)i,k,adj,color(4)select(i,c+l,adj,color)(5)color[i]=c
第三篇:2010年上半年下午试题一
十一届全国人大三次会议在人民大会堂开幕。国务院总理温家宝的政府工作报告中出现了许多新名词,例如:
1、“三网”融合——是指电信网、广播电视网和互联网融合发展,实现三网互联互通、资源共享,为用户提供语音、数据和广播电视等多种服务。加快推进三网融合对于提高国民经济信息化水平,满足人民群众日益多样的生产、生活服务需求,形成新的经济增长点,具有重要意义。
2、物联网——是指通过信息传感设备,按照约定的协议,把任何物品和互联网连接起来,进行信息交换和通讯,以实现智能化识别、定位、跟踪、监控和管理的一种网络。它是在互联网基础上延伸和扩展的网络。
第四篇:JAVA程序员笔试题
深圳市九城恩科软件技术有限公司
java程序员笔试题
JAVA 程序员笔试题
时间:30分钟
试题一:
简单描述一下什么是事务管理,事务管理中有哪些语句?
姓名:
试题二:
跳出当前循环的关键词是什么?继续本次循环的关键词是什么?
试题三:
在JSP页面源代码中写 “${flag}”是代表什么意思?
试题四:
请写出最少五种设计模式的名称。
试题五:
请写出Eclipse 中下列功能的快捷键: 删除当前行: 注释当前行:
代码助手完成一些代码的插入: 打开类型: 打开资源:
试题六:
什么情况下Eclipse不编译生成Class文件?
深圳市九城恩科软件技术有限公司
java程序员笔试题
试题七:
public static void main(String[] args){
int i=3,j=16;do{ if(++i>=j--)continue;}while(i<9);System.out.println(“i=”+i+“;j=”+j);} 这段程序运行后输出的结果是什么?
试题八:
public class One {
} public class Two extends One {
} protected void printA(){System.out.println(“two A”);} private void printB(){System.out.println(“two B”);} public static void main(String[] args){ Two t = new Two();t.printAB();} protected void printA(){System.out.println(“one A”);} private void printB(){System.out.println(“one B”);} protected void printAB(){printA();printB();} 这段程序运行后输出的结果是什么?
试题九:
有一个表 “表A” 中包含 “姓名”,“成绩”两个字段,请写一个SQL语句查询出“成绩”大于60分的,“姓名”有重复的人的名字
试题十:
请写一个方法实现:传入的一个大于10位的字符串,把字符串的最后两位移动到字符串的第4位后面。
第五篇:pb程序员应聘试题
PB程 序 员 应 聘 试 题
一、列出窗口间参数传递的几种方法
答:
二、请写出TriggerEvent()和PostEvent()两个函数的异同
答:
三、有一位程序员写了下面一段PowerScript程序,请指出其中错误的行数及其错误原因。1 String lstr_longName, lstr_shortNameString Prior, BeforeInteger I, jlstr_longName = lstr_shortName = “Jane”I = 1J = i++If Prior = NULL ThenMessageBox(“warning”,”a error”)End Iflstr_longName = lstr_short &
name + “ Miss”
答:
四、:描述tablespace和datafile之间的关系
答:
五、有二张表A,B。A表有二个列。NAME VARCHAR(20)AGE INT。B表也有二列 NAME VARCHAR
(20)GRADE INT,A表中有三条记录,B表中有四条记录。现在要用一条SQL语句根据A表中AGE字段把B表中的GRADE字段进行更新。条件为A表NAME和B表NAME相等。同样。B表中与A表没有相同NAME的记录不变。
SQL 语句为:
六、一个表中有二个列就以上一题中的A表为例。现在A表中有多例相同的记录。现在要把相同的记
录删除只留一条。没有相同记录的记录不变。A表中可能四条xiao的记录。二条li的记录。一条zhang的记录。
SQL 语句为:
七、你让工人为你工作7天,给工人的回报是一根金条。金条平分成相连的7段,你必须在每天结束时
给他们一段金条,如果只许你两次把金条弄断,你如何给你的工人付费?
答:
八、一个人拿了100元去商店买25元钱的东西,店主没有零钱找,于是去旁边的小摊贩换了100的零钱,找给了那个人75,那个人走了之后,小摊贩拿着100元钱去找店主,说是假的,店主看了看钱,发现真的是假的,于是赔给了小摊贩一个真的100块钱,问店主一共亏了多少钱,为什么?
答:
九、请论述存储过程和sql语句的优缺点
答:
十、有N个零件需要分配给一个有M个工人的小组加工,平均分配时不能有小数,且不能总是某几个
组员分的多,零头部分需随机选多出的人数每人多分1个。请写出PB程序计算每人分配数量的程序(也可以只写算法和流程):