| |
|
 |
相关文章 |
 |
|
|
|
|
 |
2002年度初级程序员下午试题(1) |
|
|
| 2002年度初级程序员下午试题(1) |
|
作者:佚名 文章来源:不详更新时间:2006-5-30 8:24:08  |
|
从下列的 2 道试题(试题一至试题二)中任选 1 道解答。如果解答的试题数超过 1 道,则题号小的 1 道解答有效。 试题一
阅读以下 C 代码,将应填入__(n)__处的字句写在答题纸的对应栏内。 [程序1.1]
#include
long intSUM( long k )
{ long S = OL;
do { s += k % 10; k /= 10;
} while(k);
return S;
}
main()
{ printf( "%1d ",intSUM( 7432L ));printf( 1d ",intSUM( 1234567890L ));
}
程序 1.1 的输出结果是__(l)__,函数intSUM(10ng k)的功能是__(2)__。 [程序1.2]
#include
main()
{ int a = 16,b = 32;
a += b; b = a - b; a -= b;
printf( "a = %d,b = %d
,a,b);
}
程序 1.2 的输出结果是__(3)__。 [程序1.3]
#include
int func(int,iht);
main()
{ int a,b;
scanf ( "%d%d",&a,&b ); printf( "%d
",func( a,b ));
}
int func( int x,int y )
{ int t;
while ( x%y ) {
t = y; y = x % y; K = t;
}
return y;
}
若输入整数 22 和 18,程序 1.3 的输出结果是__(4)__,函数 func(int x,int y) 的功能是__(5)__。
试题二
以下是用 VisualBasic 开发应用有关的 5 个问题。对每一个问题,请将解答填入答题纸的对应栏内。
(1)为使应用程序启动时打开的窗口中具有背景图像( 取自用户自定义的某个图像文件“D:user Image.bmp”),并且在程序运行时,当被遮的该窗口又重现时,其背景图像会自动重画,在开发该窗体时应对哪些属性进行什么样的设置?
(2)若某窗口内的命令按钮“平均”具有如下的功能:求出文本框 Txtl 与文本框 Txt2 中数值内容的平均值,并放入文本框 Txt3 中。该命令按钮单击事件过程内的程序代码为:
Txt3.text = str$(_________________)。请填补其中的空缺。
(3)某应用程序的窗口中有文本框 txtPwd,用于输入用户的口令。为使用户键入的各个口令字符在屏幕上都显示成符号“*”,在开发时应对该文本框的哪个属性进行什么样的设置?
(4)假设某应用程序开发工程(默认的工程名为“工程1”)己先后创建了两个窗体,其窗体名分别为process 和 main,为使窗体 main 成为运行该工程时的启动窗体,在开发过程中应如何操作?
(5)假设某应用程序的运行窗口中有多个控件,当前光标停在某个控件上,连续按“Tab” 键时,光标将按什么样的顺序在各个控件之间移动?怎样改变光标移动的顺序?
从下列的 2 道试题(试题三至试题四)中任选 1 道解答。如果解答的试题数超过 1 道,则题号小的 1 道解答有效。
试题三
阅读下列函数说明和 C 代码,将应填入__(n)__处的字句写在答题纸的对应栏内。 [函数 3.1 说明]
函数 function( int a ) 的功能是判断指定的正整数是否为素数,若是返回 1,否则返回 0。 [函数 3.1]
int function( int a )
{ int yes,i;
i = 2;yes = 1;
while ( i <= a/2 && __(l)__){
if (__(2)__) yes = 0;
i++;
}
return yes;
}
[函数 3.2 说明]
函数 deleteARR( int *arr,int n ) 的功能是将指定的有序数组压缩成诸元素互不相同的有序数组,即相同数只保留一个,多余的被删除。函数返回值是互不相同的元素的个数。 [函数3.2]
int deleteARR( int *arr,int n)
{ int k,j;
k = 0; j = l;
while ( j if (__(3)__)
__(4)__ = arr[j];
j++;
}
return __(5)__;
}
试题四
阅读下列各应用的 VisualBasic 程序,将应填入__(n)__处的字句写在答题纸的对应栏内。 [应用4.1]
设应用程序的主窗口为 frmApp,运行时的启动窗口中有两个文本 共4页: 1 [2] [3] [4] 下一页
框(其名称分别为 txtName 和 txtPwd),还有一个命令按钮 CmdLogln。这个命令按钮单击事件的过程如下:
Private Sub CmdLogln_ Click()
msg$ =“请重新输入!”
title$ = "输入数据错"
If txtName.text = "张三" and txtPwd.text = "3721" Then
Unload me
frmApp.Show
Else
MsgBox msg$,vbOKonly + vbCritical,title$
End if
请问,如果该应用程序运行时,在两个文本框中分别输入了“张三”和“3721”,则单击命令按钮后将__(l)__;如果在这两个文本框中分别输入了“张三”和“7312”,则单击命令按钮后将__(2)__(要求描述显示的全部特征)。 [应用4.2]
设应用程序的窗口 frm 中有一个图像框 Img(位置任意),单击该窗口所执行的程序代码如下:
Private Sub form__C1ick()
Img.Left = ( frm.Width - Img.Width )/2
End Sub
请问该程序代码的功能是:__(3)__。 [应用4.3]
设应用程序运行时,单击窗口所执行的程序代码如下:
Private Sub Form_C1ick()
Dim char AS String,i AS Integer
Const ch$ = "#"
msg$ = "Enter a string:"
char = InputBox$(msg$)
n = Len(char)
For i=1 TO n
lf Mid$(char,i,1) = ch$ Then
Exit For
End lf
Next
Print i-1
End Sub
其中 InputBox 函数的功能是弹出一个输入对话框,按所给参数给出提示,等待用户输入,并返回输入的内容。
该程序代码的功能是:__(4)__。
如果输入字符串“abc!@#$%”,则程序输出__(5)__。
从下列的 2 道试题(试题五至试题六)中任选 1 道解答。如果解答的试题数超过 1 道,则题号小的 1 道解答有效。
试题五
阅读下列说明和 C 代码,将应填入__(n)__处的字句写在答题纸的对应栏内。 [程序5的说明]
本程序从键盘读入若干个字符串,删除每个字符串中的指定字符后,将该字符串保存到正文文件text.txt 中。若读入一个空串,则结束程序。
要删除的指定字符存放在字符指针 delete 指向的字符串中。
程序中对字符串中的字符逐一进行判断,若不是 delete 指向的字符串中字符,则写到文件 text.txt中。
函数 int CharlnString( char ch,char*str ) 可以判断字符 ch 是否在字符串 str 中。如在串中,则返回 1;如不在串中,则返回 0。 [程序 5]
#include
#include
#include
char *delete = "aeiouAEIOU";
int CharInString( char Ch,char *str )
{ char *S;
S = str;
while ( __(l)__ )
if( __(2)__ = ch ) return 1;
return 0;
}
main()
{ FILE *fp;
char cBuf[256],*p;
if (( fp = __(3)__ ) = NULL ) {
printf ( "file open error. n" );exit(0):
}
while ( strlen(gets(cBuf)) != 0) {
p = cBuf;
while ( *p != ' 0’) {
if ( !CharlnString( *p,deletel ))
__(4)__;
p++;
}
fputc( '
',fp );
}
__(5)__;
}
试题六
阅读以下应用说明以及用 VisualBasic 开发过程中进行的属性设置和所编写的程序代码,将应填入__(n)__处的字句写在答题纸的对应栏内。 [应用说明]
某应用程序的运行窗口如下图所示:
 若用户单击其中的命令按钮,该窗口内就会出现“欢迎”字句,但显示约 1 秒钟后又会自动消失。 在开发过程中需要设置的有关属性如下: [属性设置] 对象 对象名 属性名 属性值 共4页: 上一页 [1] 2 [3] [4] 下一页
窗体 Frml Caption 短暂显示 标签 Label Caption 欢迎 __(l)__ False 命令按钮 CmdDsp Caption 显示1秒 定时器 Timerl Enabled __(2)__ Interval 1000 在开发过程中,需要编写的程序代码如下: [程序代码]
Private Sub CmdDsp_C1ick()
Timerl.__(3)__ = True
Label.Visible = __(4)__
End Sub
Private Sub Timerl_Timer()
Timerl.Enabled =__(5)__
Label.Visible = False
End Sub
从下列的 2 道试题(试题七至试题八)中任选1道解答。如果解答的试题数超过 1 道,则题号小的 1 道解答有效。 试题七
阅读下列程序说明和 C 代码,将应填入__(n)__的字句写在答题纸的对应栏内。 [程序 7 说明]
某银行共发出 M 张储蓄卡,每张储蓄卡拥有唯一的卡号,每天每张储蓄卡至多支持储蓄卡持有者的 N 笔“存款”或“取款”业务。程序中用数组 card[M][N+3] 中的每一行存放一张储蓄卡的有关信息,其中:
card[i][0]存放第 i 张卡的卡号;
card[i][1]存放第 i 张卡的余额;
card[i][2]存放第 i 张卡的当日业务实际发生笔数;
card[i][3]~card[i][N+2]存放第 i 张卡的当日存取款金额,正值代表存款,负值代表取款。
当持卡者输入正确的卡号、存款或取款金额后,程序进行相应的处理:若输入了不正确的数据,程序会提示持卡者重新输入;若输入的卡号为负数时,银行终止当日业务。 [程序7]
#include
#define M 6
#define N 5
long card[M][N+3]={{ 9801,2000,0,},{9812,2000,2,},
{ 9753,3000,1,},{ 8750,500,0,},
{ 9604,2800,3,},{ 8901,5000,5} }:
int Locate( 1ong card[][N+3],int m ,long no )
{ int i;
for ( i = O;i < m;i++ )
if( __(l)__ = no ) return i;
__(2)__;
}
main()
{ long cardNo,money; int k:
while(1) {
printf ( "请输入卡号: n" );
scanf( "%ld",&cardNo );
if ( cardNo < 0 ) break;
k = Locate( card,M,cardNo );
if ( k == -1 ) {
printf ( "不存在%ld号的储蓄卡
",cardNo ); continue;
}
printf ( "请输入卡金额( 正值代表存款,负值代表取款 ):
" );
scanf ( "%ld",&money );
if ( card[k][1]+money < 0 ) {
printf ( "存款余额不足,不能完成本次的取款业务
" ); continue;
}
if( card[k][2] == N ){
printf ( "已完成本卡的当日业务
" ); continue;
}
/* 处理一笔业务的数据 */
card[k][__(3)__] = money;
__(4)__;
__(5)__++;
}
}
试题八
阅读以下应用说明以及用 VisualBasic 开发过程中所编写的程序代码,将应填入__(n)__处的字句写在答题纸的对应栏内。 [应用说明]
某应用程序的运行窗口如下图所示:
 用户可在“课程”列表框(名为 LstCourse )中用鼠标选择某门课程,该课程名就会在“选修”列表框(名为 LstSelected )中列出,这种操作可进行多次。单击“全选”按钮(名为 CmdAll ),意味着将“课程”列表框中的全部课程都在“选修”列表框中列出。单击“全清”按钮(名为 CmdClere ),意味着将“选修”列表框清空。若在“选修”列表框中用鼠标选择某门课程,再单击“删项”按钮(名为CmdDelek ),就会将此课程从“选修”列表框中删除。 [程序代码]
Private Sub CmdAll_Click()< 共4页: 上一页 [1] [2] 3 [4] 下一页
br> LstSelected.Clear
For i = __(l)__
LstSelected.Addltem __(2)__
Next
End Sub
Private Sub CmdClear_Click()
__(3)__
End Sub
Private Sub CmdDelete_C1ick()
LstSelected.Removeltem __(4)__
End Sub
Private Sub LstCourse_Click()
LstSelected.Addltem __(5)__
End Sub
共4页: 上一页 [1] [2] [3] 4
|
|
| 文章录入:admin 责任编辑:admin |
| |
|
上一篇文章: 1993年程序员考试上午试题(1) 下一篇文章: 2003年系统分析师级下午试题I及解答方法(1) |
|
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|
|
|
|