频道栏目
首页 > 资讯 > 初级 > 正文

初级程序员级下午试题

09-03-11        来源:[db:作者]  
收藏   我要投稿

                                                      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 " ,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( " " ) ;

  }

  程序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 " , 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. ") ;

  scanf( "%s", s );

  while ( __(1)__ ) {

  if ( __(2)__ )

  s[i3 = s[i] - A + a ;

  i++ ;

  }

  printf( "%s ", 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] 下一页


  其中函数 InStr 的功能是在给定的字符串( 第 2 个参数给出 )中,从指定的序号位置

  ( 第 1 个参数给出 )开始,查找目标字符串( 第 3 个参数给出)。若找到,则返回找到之

  处的序号位置;若未找到,则返回 0 。

  上述程序代码的功能是: __(4)__ ;上述程序代码运行的结果是: __(5)__ 。

  

  试题五

  阅读下列程序说明和 C 代码,将应填入 __(n)__ 处的字句写在答题纸的对应栏内4

  [程序 5 说明]

  本程序找出正文文件 "st.dat" 中的各个不同整数。该正文文件中各整数间以空格字符、

  TAB 符 (制表符)、回车符分隔。程序中用数组 b[] 存储不同的整数,变量 k 为已存入数

  组 b 中的不同整数的个数,并假定文件中的不同整数个数不超过 1000 个。

  [程序 5]

  #include

  #define N 1000

  main( )

  { FILE __(1)__ ;

  int b[N] , d, i, k ;

  if ( ( fpt = __(2)__ ) == NULL) { /*以读方式打开文件*/

  printf( Cannot open file. m ) ;

  return ;

  }

  k=O;

  while ( fscanf( __(3)__ ) == 1 ) { /*从文件中读一个整数*/

  b[k] = d ;

  for ( i = 0 ;b[i] != d ; i*+ ) ;

  if ( __(4)__ ) k++ ;

  (5) ;

  for ( i = 0 ; i < k ; i++) printf( "%d",b[i] ) ;

  printf( " " ) ;
试题六

  阅读以下应用说明以及用VisualBasic开发过程中进行的属性设置和所编写的程序代

  码,将应填入 __(n)__ 处的字句写在答题纸的对应栏内。

  [应用说明]

  本应用程序的运行窗口如下图所示:

  

  

  用户只要在文本框中输入一个自然数 ( 例如 16 ),再用鼠标单击"倒计数"按钮或

  直接按 Enter 键,都能使文本框中的数字每隔 0.3 秒逐次减 1 ( 倒计数 )。当减到 0

  时,倒计数停止,文本框清空,鼠标定位在文本框中,以便于反复试验上述操作过程。

  在开发过程中,需要设置有关的属性如下:

  [属性设置]

  对象 对象名 属性名 属性值设置

  窗体 Frm 1 Caption 倒计数试验

  标签 Lalel 1 Caption 请输入自然数

  文本框 Text 1 Text (空白)

  命令按钮 Commandl Caption 倒计数

  __(1)__ True

相关TAG标签
上一篇:2008年下半年计算机软考程序员试题(上午)
下一篇:08年上半年软考数据库系统工程师考试试题(下午)
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站