第一篇:程序員考題講授4
1.試題一(2000)【說明】
設鏈表結點的類型為
typedef struct elem{ int val;struct elem *next;} intNode;
函數 merge(int *a,int *b)是將兩個升序鏈表 a 和 b 合并成一個升序鏈表。【函數】
intNode *merge(intNode *a,intNode *b){ intNode *h = a,*p,*q;while(b){ for(p = h;p && p->val&&b->val;q = p, p = p->next);if(p == h)__(1)__;else __(2)__;q = b;b = b->next;__(3)__;} return h;}
答案: 試題一
(1)h = b(2)q->next = b(3)q->next = p
2.MergList_L(LNode *La, LNode *Lb, LNode *Lc){ LNode *pa, *pb, *pc;pa = La->next;pb = Lb->next;pc = Lc = La;while(pa && pb){
if(pa->data <= pb->data){ // 小的先掛到Lc上去
pc->next = pa;
pc = pc->next;
pa = pa->next;
}
else{
pc->next = pb;
pc->next = pc;
pb = pb->next;
} }
pc->next = pa? pa:pb;// 將剩余的所有節點直接掛到Lc上去 free(Lb);} 3.刪除單鏈表中重復出現的結點。
第二篇:講授程序員考題1
注意:歷屆程序員考題及答案網址http://hi.baidu.com/%B8%DF%D4%AD%C0%C7%C8%CB/blog/item/34107434ab98b54a251f14c2.html
試題一(2006年上)
閱讀以下說明和C語言函數,將應填入__(n)__處的字句寫在答題紙的對應欄內。[說明]
函數bool Del_elem(STACK *S,char para_ch)的功能是:刪除棧*s中與para_ch之值相等且最接近棧頂的元素(字符),若棧中不存在該元素,則函數返回FALSE,否則返回TRUE。其中,STACK是棧的類型名。
函數Del_lem實現上述功能的方法是c利用棧的基本操作,先將棧*s中所有比parlch之值更接近棧頂的元素暫時存放在臨時工作棧s_bak中,使得與para_ch之值相等的元素成為棧頂元素,此時執行出棧操作,即從棧中刪除與para_ch之值相等的元素,最后再將s_bak中的元素依次存回棧*s。
在函數Del_elem中必須使用棧的基本操作進行棧上的運算,實現棧的基本操作的 函數原型說明如下;
void InitStack(STACK*S):初始化棧。
void Push(STACK*S,char e):將一個字符壓棧,棧中元素數目增1。
void Pop(STACK*S);棧頂元素出棧,棧中元素數目減1。
char Top(STACK S):返回非空棧的棧頂元素值,棧中元素數目不變。
bool IsEmpty(STACK S);若S是空棧,則返回TRUE:否則返回FALSE。
bool類型定義如下:
typedef enum{ FALSE=0,TRUE=1 } bool; [C語言函數]
bool Del_elem(STACK *S,char para_ch)
{
STACK s_bak;
/*定義臨時工作棧s_bak */
char Ch;
bool tag=FALSE;
InitStack(STACK*S)_; InitStack(&s_bak);_
/*初始化臨時工作棧s_bak*/
/*將棧*s中所有比para_ch更接近棧頂的元素暫時存放在臨時工作棧s_bsk中*/
while(!IsEmpty(*s)){
ch=__ Top(*s)___ /*取棧頂元素:/
__;
Pop(S);
if(Ch=para_ch){
tag=TRUE: break; } __(3)_ Push(&s_bsk,ch)
}
/*將暫存于1臨時工作棧s_bak中的元素存回棧*s*/
while { __(!IsEmpty(s_bak)_)___
Ch=Top(s_bak);
__ Pop(&s_bak)_ ___;
Push(s,ch);
}
return tag;
}
(1)InitStack(&s_bak)(2)Top(*s)
(3)Push(&s_bak,ch)(4)!IsEmpty(s_bak)(5)Pop(&s_bak)
試題二(2004年上)
閱讀以下說明和C代碼,將應填入__(n)__處的字句寫在答題紙的對應欄內。[說明]
函數 MultibaseOutput(long n,int B)的功能是:將一個無符號十進制整數 n 轉換成 B(2≤B≤16)進制數并輸出。該函數先將轉換過程中得到的各位數字入棧,轉換結束后再把 B 進制數從棧中輸出。有關棧操作的諸函數功能見相應函數中的注釋。C代碼中的符號常量及棧的類型定義如下:
#define KAXSIZE 32 typedef struct{
int *elem;
/* 棧的存儲區 */
int max;
/* 棧的容量,即找中最多能存放的元素個數 */
int top;
/* 棧頂指針 */ }Stack; [C代碼] int lnitStack(Stack *S,int n)/* 創建容量為n的空棧 */ { S->elem =(int *)matloc(n * sizeof(int));
if(S->elem == NULL)return-1;
S->max = n;_s->top __= 0;return 0;
} int Push(Stack*S,int item)
/* 將整數item壓入棧頂 */ { if(S->top == S->max){ printf(“Stack is full!n”);return-1;}
s->elem[s->top++___]_=item;return 0;
} int StackEmpty(Stack S){ return(!S.top)? 1;0;)/* 判斷棧是否為空 */ int Pop(Stack*S)
/* 棧頂元素出棧 */ { if(!S->top){ printf(“Pop an empty stack!n”);return-1;)
return __ s->elem[_--_s->top](3)__;
} void MultibaseOutput(long n,int B){ int m;Stack S;
if(init Stack(&S,MAXSIZE)){ printf(“Failure!n”);return;}
do {
if(Push(&s,n % B __(4)__)){ printf(“Failure!n”);return;}
n = __n/B(5)__:
} while(n!= 0);
while(!StackEmpty(S)){
輸出B進制的數 */
m = Pop(&S);
if(m < 10)printf(“%d”,m);
小于10,輸出數字 */
else printf(“%c,m + 55);
/* 大于或等于10,輸出相應的字符 */
}
printf(”n");
}
/* /* 試題四(1)S->top(2)S->elem[S->top++]·(3)S->elem[-S->top](4)n % B(5)n / B
試題五(2006年下)
閱讀以下說明和 C 函數,將應填入(n)處的字句寫在答題紙的對應欄內。[說明]
某班級有 N 名學生,他們可根據自己的情況選修名稱和數量不盡相同的課程。設 N等于 6,學生信息、所選課程及成績用鏈表結構存儲,如圖 5-1 所示。
程序中相應的類型定義如下:
#define N 6 struct node{
char cname[5];/*課程名*/
int grade;/*成績*/
struct node *next;/*指針,指示某學生選修的下一門課程及成績*/ };
struct student{
char xh[5];/*學號*/
char name[20];/*姓名*/
struct node *link;/*指針,指示出選修的課程及成績鏈表*/
}stud_info[N];
stud_info[]為一個全局數組。
函數 func(char kc[],int *num)的功能是統計選修了課程名為 kc 的學生的人數,并返回該課程的平均成績(若無人選修該課程,則平均成績為 0),參數 num 帶回選修課程 kc 的學生人數。
[C 函數]
double func(char kc[],int *num)
{
int i,count = 0,sum = 0;/*count 用于記錄選修課程名為 kc 的學生的人數*/
double avg = 0.0;
struct node *p;
for(i = 0;i < N;i++){
p =(1);/*取第 i 個學生所修課程鏈表的頭指針*/
while(p){
if((2)){
sum =(3);
count++;
break;
} /*if*/
p = p->next;
} /*while*/
}
(4);
if((5))
avg =(double)sum / count;/* 計算平均成績 */
return avg;
} /*func*/ 試題五
(1)stud_info[i].link(2)!strcmp(p->cname,kc)(3)sum + p->grade(4)*num = count(5)count!= 0
第三篇:JAVA高級程序員招聘考題
姓名:日期:時間:
1.請問您在開發中或學習中運用過哪些架構(struts,hibernate,spring,webwork,xword等),請談談您對所使用的架構的理解及使用心得?
2.請問您是否用JAVA開發過web service,請談談您對它的理解及心得。
3.請問您對LINUX的使用熟不熟?有沒有在LINUX下配置過WEB 服務?LINUX下的常用命令你記得哪些?
4.有兩個表,學生記錄表(STU_ID,學生名稱,班級名),學生成績表(REC_ID,STU_ID,學科名,成績分數),a)請寫一個SQL語句,統計出每個學生的總成績。
b)請寫一個SQL語句,查出A學生B科的成績。
5.您是否使用過EJB,請描述一下您對EJB的理解及使用心得。
6.請簡要說明一下JAVA中的接口的用處。
7.請寫一個簡單的單例類,并說明一般在什么情況下會使用單例類,有什么好處。
第四篇:講授教學法
利用Powerpoint制作簡單的演示文稿
教學內容: 組織幻燈片、觀看放映 教學目標(思想、知識、能力):
1.學會插入新幻燈片
2.掌握在幻燈片中輸入文字,插入藝術字,插入剪、貼畫等等 3.學會放映幻燈片
教學重、難點: 組織幻燈片 教法、學法: 講述法 演示法 教學程序
一、復習提問:什么是PowerPoint?功能如何?2.怎樣建立一個文件名為“溪居”且含有一張幻燈片的演示文稿?
二、新授 :上節課,我們得到了一個單頁幻燈片演示文稿,今天我們來進行幻燈片的組織與放映。
|組織幻燈片(先采用講授教學,給學生示范一次,然后讓他們自己動手制作,根據實際情況進行指導。)
1.插入新幻燈片。
a.插入第二張幻燈片(選第10種版式:豎直排列標題與文體)。b.插入其他幻燈片(均為第2種“項目清單”版式)
2.輸入文字。a.確定編輯條件:在幻燈片視圖下(雙擊幻燈片或使用“視圖/幻燈片”命令)。
b.輸入第一頁文字內容:單擊標題框,輸入詩題“鹿柴”,單擊副標題框,輸入“作者:王維。c.編輯幻燈片文本內容:單擊編輯窗口右側滾動條上的下箭頭,將第二張幻燈片顯示在窗口中。在標題框中輸入詩的題目,在豎排文本框中輸入詩詞原文。重復上述操作,將文字內容添加到相應的幻燈片中。3.插入藝術字:要求將標題換成藝術字。方法:插入/圖片/藝術字 步驟:a.刪除已有的標題文體 b.添加藝術字標題 c.調整藝術字的位置。
4.插入剪貼畫:目的是美化幻燈片。a.選定幻燈片:在“幻燈片”視圖中選擇 b.插入剪貼畫:插入/圖片/剪貼畫
c.調整剪貼畫的位置|觀看放映再次保存剛制作的幻燈片,我們來觀看幻燈片的演示效果。方法:執行“幻燈片放映”菜單中的“觀看放映”命令,切換到“幻燈片放映視圖”,第一張幻燈片全屏顯示在屏幕上,如果想看后續的幻燈片,單擊鼠標就可以切換了。三.小結:組織幻燈片及觀看放映
一.開機。二.入網三.啟動PowerPoint。四.插入四張新幻燈片(其中第一張為第10種版式,另三張均為第2種版式。五.分別輸入入各張幻燈片的文字。六.將第一張幻燈片的標題轉換成藝術字。七.任選一張幻燈片,在其中插入剪貼畫。八.觀看放映九。保存文件。十.關機。教學后記 部分學生在插入藝術字或剪貼畫后不能正確設置大小及調整到合適位置
第五篇:淺談講授演示教學法
淺談講授演示教學法
作者 江椿成
講授演示法是經常采用的教學方法 過去的演示完全是教師一個人做給學生看,而現在講授演示法的教學當中要調動學生的主動參與,讓學生能夠充分感知教學內容,而且能夠積極思維。我們作為老師,要關注學生的知識結構,要尊重學生的認知規律,演示材料和方法的選擇要恰到好處,這樣才能夠收到好的教學效果。
講授演示法要富于啟發性
講授式不應該是灌輸式,如果是把講授演示就當成一個單向的灌輸,或者說效果成了這樣的效果,那我們可不可以這么認為,這個老師對講授法沒有準確的去把握,在新課程改革的形勢之下,講授演示法是“以學生為本”,應該是能夠調動學生的積極參與,而不能只是老師在那一個人占領課堂,并且把課堂教學只作為提高學生分數的一種場合和一個工具。
講授演示法利于學生系統、高效地掌握知識
另外就是老師經過具有啟發性的教學,包括創設情境和設計問題,使學生不僅掌握了大量系統化的知識,同時還能夠發展學生的認知結構。另外就是講授演示法對于教學設備的要求比較低,所以就比較經濟實用。再有就是可以發展學生從書本上獲取知識和從教師語言當中獲取知識的這種習慣和能力。但是講授演示法也存在著比較明顯的不足之處。比如說學生更側重于單向的接受知識,是接受性的學習,而且比較強調知識結構,所以就對于學生思維這種活動就會起到一定的限制的作用。另外老師在授課的時候呢,主要是老師活動為主,學生的自主性比較少,這樣就有可能忽略了學生的個體差異。
實際上沒有一種教學方法是完美無缺的,關鍵是我們要取它的長處,發揮它的教學方法的獨特的價值,這樣在運用于新課程的課堂教學當中才能去落實我們的三維目標