第一篇: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程序計算每人分配數量的程序(也可以只寫算法和流程):