|
2001年度初级程序员级下午试题
试题一
阅读以下 C 代码,将应填入 __(n)__ 处的字句写在答题纸的对应栏内。
[程序1.Il]
#include
main ( )
{ int x, p, i , s = 0 ;
for (x = 1 ; x < 5 ; x++) {
for (p= i = 1 ; i <= x ; i++) p *= x ;
s += p ;
}
printf( P%d\n" ,s) ;
}
程序1.1的输出结果是 __(1)__ 。
[程序1.2]
#include
void s( int b[ ] ,int n )
{ int i ,j ,t ,flg ;
for ( i = 0 ; i < n-1 ; i++ ) {
for ( flg = O,j = 0 ; j < n-i-1 ; i++ )
if (b[j] > b[j+l] ) {
t = b[j] ; b[j] = b[j+1] ; b[j+l] = t ;
flg = 1
}
if ( !flg ) break
}
}
main( )
{int i , a[] = { 11,9,2,5,3,7 } ;
s( a,6 ) ;
for ( i = O ; i < 6 ; i++ ) printf( "%4d", a[i] ) ;
printf( "\n" ) ;
}
程序1.2的输出结果是 __(2)__ ;函数 s(int b[],int n) 的功能是 __(3)__
[程序1.3]
#include
int m( unsigned k )
{ int s = 1 ;
do { s *= k % 10 ;
k /== 10 ;
} while (k) ;
return s ;
}
main()
{ printf( " %d,%d\n " , m(1234), m(43209)) ; }
程序 1.3 的输出结果是 __(4)__ ; 函数 m(unsigned k) 的功能是 __(5)__ 。
试题二
以下是用 Visual Basic 开发应用有关的 5 个问题。对每一个问题,请将解答填入答题纸
的对应栏内。
(1)为使用户单击某窗口 ( 窗体名为 frm1 )时,会显示一行信息:"欢迎光临!", 应在
该窗体的哪个事件过程中,编写什么样的程序代码? 请写出相应的事件过程名以及该过程内的
程序代码。
(2)若某窗口内的命令按钮"加倍"具有如下的功能: 将文本框 txt1 中输入的数值加倍
后,在文本框 txt2 中显示其结果,请写出该命令按钮的单击事件过程内的程序代码?
(3)若某窗口 ( 窗体名为 frm1 ) 中,有一个文本框和一个命令按钮,只要在文本框中输
入一个图像文件名(包括路径),单击该命令按钮后,该图像就会成为此窗口的背景图像。请写
出该命令按钮单击事件过程内的程序代码。
(4)为使某窗口中的命令按钮"取消[C]",具有如下的功能:按键 Alt+C 或按键"ESC",
都相当于单击该按钮,应怎样实现?
(5)请说明如下语句的功能:
MsgBox "请检查修改输入数据!",vbOKOnly+vbCritcal+vbDefaultBUtton1,_
"数据错"
试题三
阅读下列说明和 C 代码,将应填入 __(n)__ 处的字句写在答题纸的对应栏内。
[程序3.1说明]
本程序输入一字符串,并将其中的大写字母改变成小写字母。
[程序3.1]
#include
void main( )
{ int i = 0 ;
char s[120] ;
printf ( "Enter a string.\n") ;
scanf( "%s", s );
while ( __(1)__ ) {
if ( __(2)__ )
s[i3 = s[i] - 'A' + 'a' ;
i++ ;
}
printf( "%s\n", s );
}
[函数3.2说明]
本函数用二分法,在已按字母次序从小到大排序的字符数组 list[len] 中,查找字符 c ,
若 c 在数组中,函数返回字符 c 在数组中的下标,否则返回 -1。
所谓二分法查找是:初始查找区间的下界为 0,上界为 len-1,查找区间的中后
k = (下界+上界)/2 ; 若 list[k] 等于 c ,查找成功;若 list[k] > c,
则新的查找区间的下界不变,上界改为 k-1; 否则新的查找区间的下界改为 k+1,
上界不变。在新区间内继续用二分法查找。
[函数3.2]
int search( char list[ ] , char c ,' int len )
{int low = 0 , high = len-1 , k ;
while ( __(3)__ ) {
k = ( low + high) / 2 ;
if ( __(4)__ ) return k ;
else if ( __(5)__ ) high = k-1 ;
else low = k+l ;
}
return -1 ;
}
试题四
阅读下列 Visual Basic 程序,将应填入 __(n)__ 内的字句写在答题纸的对应栏内。
[程序代码4.1]
设应用程序窗体中有一个文本框 txt ,还有一个复选框 ck1 。这个复选框单击事件的
程序代码如下:
Private Sub ckl_Click( )
If ckl.Value= vbChecked
Txt.FontBold = True
Else
Txt.FontBold = False
End if
End Sub
该应用程序中,复选框ck1的功能是: __(1)__
[程序代码4.2]
Function gcd ( ByVal x As Integer, ByVal y As Integer ) As Integer
Do while y <> 0
Reminder = x mod y
y = reminder
Loop
Gcd = x
End Function
该函数过程的功能是 __(2)__ ; gcd(16,24)的值是 __(3)__ 。
[程序代码4.3]
Dim location As Integer ,n As Integer,source As String,target As String
Source = "East and west ,home is best! " : target = "st"
Location = 1 : n = 0
Location = InStr( location,Source,target ) + l
Do While location > 1
n=n+l
Location = InStr( location,Source,target ) + l
Loop
Print n
[1] [2] 下一页 |