第一篇:讲授程序员考题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
第二篇:程序员考题讲授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.删除单链表中重复出现的结点。
第三篇: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种版式。五.分别输入入各张幻灯片的文字。六.将第一张幻灯片的标题转换成艺术字。七.任选一张幻灯片,在其中插入剪贴画。八.观看放映九。保存文件。十.关机。教学后记 部分学生在插入艺术字或剪贴画后不能正确设置大小及调整到合适位置
第五篇:浅谈讲授演示教学法
浅谈讲授演示教学法
作者 江椿成
讲授演示法是经常采用的教学方法 过去的演示完全是教师一个人做给学生看,而现在讲授演示法的教学当中要调动学生的主动参与,让学生能够充分感知教学内容,而且能够积极思维。我们作为老师,要关注学生的知识结构,要尊重学生的认知规律,演示材料和方法的选择要恰到好处,这样才能够收到好的教学效果。
讲授演示法要富于启发性
讲授式不应该是灌输式,如果是把讲授演示就当成一个单向的灌输,或者说效果成了这样的效果,那我们可不可以这么认为,这个老师对讲授法没有准确的去把握,在新课程改革的形势之下,讲授演示法是“以学生为本”,应该是能够调动学生的积极参与,而不能只是老师在那一个人占领课堂,并且把课堂教学只作为提高学生分数的一种场合和一个工具。
讲授演示法利于学生系统、高效地掌握知识
另外就是老师经过具有启发性的教学,包括创设情境和设计问题,使学生不仅掌握了大量系统化的知识,同时还能够发展学生的认知结构。另外就是讲授演示法对于教学设备的要求比较低,所以就比较经济实用。再有就是可以发展学生从书本上获取知识和从教师语言当中获取知识的这种习惯和能力。但是讲授演示法也存在着比较明显的不足之处。比如说学生更侧重于单向的接受知识,是接受性的学习,而且比较强调知识结构,所以就对于学生思维这种活动就会起到一定的限制的作用。另外老师在授课的时候呢,主要是老师活动为主,学生的自主性比较少,这样就有可能忽略了学生的个体差异。
实际上没有一种教学方法是完美无缺的,关键是我们要取它的长处,发挥它的教学方法的独特的价值,这样在运用于新课程的课堂教学当中才能去落实我们的三维目标