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 = [1] [2] [3] [4] 下一页 |