●试题一
阅读下列说明和流程图,将应填入(n)的字句写在答题纸的对应栏内。
【说明】
下列流程图(如图4所示)用泰勒(Taylor)展开式
sinx=x-x3/3!+x5/5!-x7/7!+…+(-1)n×x2n+1/(2n+1)!+…
【流程图】

图4
计算并打印sinx的近似值。其中用ε(>0)表示误差要求。
●试题二
阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明2.1】
以下C语言函数用二分插入法实现对整型数组a中n个数的排序功能。
【函数2.1】
void fun1(int a[])
{int i,j,k,r,x,m;
for(i=2;i<=n;i++)
{ (1) ;
k=1;r=i-1;
while(k<=r)
{m=(k+r)/2;
if(x<a[m])r=m-1;
else (2) ;
}
for(j=i-1;j>=k;j--)
a[j+1]=a[j];
(3) ;
}
}
【说明2.2】
以下程序可以把从键盘上输入的十进制数(1ong型)以二~十六进制形式输出。
【程序2.2】
#include<stdio.h>
main()
{char b[16]={′0′,′1′,′2′,′3′,′4′,′5′,′6′,′7′,′8′,′9′,′A′,′B′,′C′,′D′,′E′,′F′};
int c[64],d,i=0,base;
long n;
printf(″enter a number:′n″);
scanf(″%1d″,&n);
printf(″enter new basc:kn″);
scanf(″%d″,&base);
do
{c[i]= (4) ;
i++;n=n/base;
}while(n!=0);
printf("transmite new base:\n");
for(--i;i>=0;--i)
{ d=c[i];
printf("%c", (5) );
}
}
●试题三
阅读下列说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
本题给出四个函数,它们的功能分别是:
1.int push(PNODE *top,int e)是进栈函数,形参top是栈顶指针的指针,形参e是入栈元素。
2.int pop(PNODE *top,int *e)是出栈函数,形参top是栈顶指针的指针,形参e作为返回出栈元素使用。
3.int enQueue(PNODE *tail,int e)是入队函数,形参tail是队尾指针的指针,形参e是入队元素。
4.int deQueue(PNODE *tail,int *e)是出队函数,形参tail是队尾指针的指针,形参e作为返回出队元素使用。
以上四个函数中,返回值为0表示操作成功,返回值为-1表示操作失败。
栈是用链表实现的;队是用带有辅助结点(头结点)的单向循环链表实现的。两种链表的结点类型均为:
typedef struct node{
int value;
struct node *next;
}NODE,*PNODE;
【函数1】
int push(PNODE *top,int e)
{
PNODE p=(PNODE)malloc (sizeof(NODE));
if (!p) return-1;
p-> value =e;
(1) ;.
*top=p;
return 0;
}
【函数2】
int pop (PNODE *top,int *e)
{
PNODE p=*top;
if(p==NULL)return-1;
*e=p->value;
(2) ;
free(p);
return 0;
}
【函数3】
int enQueue (PNODE *tail,int e)
{PNODE p,t;
t=*tail;
p=(PNODE)malloc(sizeof(NODE));
if(!p)return-l;
p->value=e;
p->next=t->next;
(3) ;
*tail=p;
return 0;
}
【函数4】
int deQueue(PNODE *tail,int *e)
{PNODE p,q;
if((*tail)->next==*tail)return -1;
p=(*tail)->next;
q=p->next;
*e=q->value;
(4) =q->next;
if(*tail==q) (5) ;
free(q);
return 0;
}
●试题四
【说明】
下面程序的功能是:在含有10个元素的数组中查找最大数,及最大数所在位置(即下标值),最大数可能不止一个。
例如:若输入
2857848328
则应输出
The max:8
Total:4∥最大数出现次数
The positions:1469
【函数】
#include<stdio.h>
#define M 10
int fun(int*a,int*n,int pos[])
{
int i,k max=-32767;
(1)
for(i=0;i<M;i++)
if( (2) )max=a[i];
for(i=0;i<M;i++)
if( (3) )pos[k++]=i;
*n=k;
return max;
}
main()
{
int a[M],pos[M],i=0,j,n;
printf("Enter 10 number:");
for(i=0;i<M;i++)scanf("%d", (4) );
j=fun( (5) );
printf("The max:%d\n",j);
printf("Total:%d",n);
printf("The position:");
for(i=0;i<n;i++)printf("%4d",pos[i]);
printf("\n");
}
●试题五
以下是与Visual Basic开发应用有关的5个问题。对每一个问题,请将解答填入答题纸的对应栏内。
1.在Visual Basic中,工程文件、窗体文件和标准模块文件的扩展名是什么?请从下列选项中选择:
prg、prj、exe、vbp、form、frm、win、fra、std、bas、vbs、vbm
2.设某窗体上有一个命令按钮,其名称为CmdSave,运行时该按钮上显示有"保存(S)"字样的信息。为使热键Alt+S与该命令按钮相关联,应该对按钮CmdSave的Caption属性设置什么样的属性值?
3.设某窗口内有一个图像框Imagel,以及两个命令按钮"放大"和"缩小"。单击"放大"按钮就会使该图像框的长和宽都放大10%;单击"缩小"按钮就会使该图像框的长和宽都缩小10%(该图像框的左上角不动)。请分别写出这两个命令按钮的单击事件过程中的程序代码。
4.为使某个单选按钮初始时默认被选中,在开发时应怎样做?
5.若有语句Tmpval=MsgBox("非法操作!",vbOKCancel+vbCritical,"提示"),请简要描述程序运行时弹出的消息框的主要特征.
育路网