中文一二三区_九九在线中文字幕无码_国产一二区av_38激情网_欧美一区=区三区_亚洲高清免费观看在线视频

首頁 > 考試輔導 > 計算機考試 > 軟件水平考試 > 軟件試題庫 > 2004年上半年程序員下午試題及答案

2004年上半年程序員下午試題及答案

試題一

  閱讀下列說明、流程圖和算法,將應填入__(n)__處的字句寫在答題紙的對應欄內.
[流程圖說明]
  下面的流程圖用n—s盒圖形式描述了數組a中的元素被劃分的過程.其劃分方法是:
  以數組中的第一個元素作為基準數,將小于基準數的元素向低下標端移動,而大于基準數的元素向高下標端移動.當劃分結束時,基準數定位于a[i],并且數組中下標小于i的元素的值均小于基準數,下標大子i的元素的值均大于基準數。設數組a的下界為low,上界為high,數組中的元素互不相同。例如,對數組(4,2,8,3,6),以4為基準數的劃分過程
[算法說明]
  將上述劃分的思想進一步用于被劃分出的數組的兩部分,就可以對整個數組實現遞增排序。設函數int p(int a[],int low,int high)實現了上述流程圖的劃分過程并返回基準數在數組a中的下標。遞歸函數void sort(int a[],iht l,int h)的功能是實現數組a中元素的遞增排序。
[算法]
 void sort(int a[],iht l,int h) {
 if ( l < h ) {
  k=p(a,l,r);     //p()返回基準數在數組a中的下標
  sort(__ (4)__;     //小于基準數的元素排序
  sortl__ (5)__);    //大于基準數的元素排序
  }
 }

從下列的2道試題(試題二至試題三)中任選1道解答。如果解答的試題數超過1道,則題號小的1道解答有效。


試題二

  閱讀下列函數說明和c函數,將應填入__(n)__處的字句寫在答題紙的對應欄內。
[函數2.1說明]
  函數palindrome(chars[])的功能是:判斷字符串s是否為回文字符串,若是,則返回0,否則返回-1。若一個字符串順讀和倒讀都一樣時,稱該字符串是回文字符串,例如:“level”是回文字符串,而“leval”不是。
[函數2.1]
 int palindrome(char s[])
 { char *pi,*pj;
  pi=s;pj=s+strlen(s)-1:
  while ( pi<pj && __(1)__){
   pi++; pj--;
  }
  if(__ (2)__)return-1;
  else return 0;
 }
[函數2.2說明]
  函數f(char *str,char del)的功能是;將非空字符串str分割成若干個子字符串并輸出,del表示分割時的標志字符。
  例如若str的值為“33123333435”,del的值為‘3’,調用此函數后,將輸出三個子字符串,分別為“12”、“4”和“5”。

[函數2.2]
 void f(char*str,char del)
 { int i,j,len;
  len = strlen(str);
  i = 0;
  while (i<len){
   while (__(3)__) i++;    /*忽略連續的標志字符*/
  /*尋找從str[i]開始直到標志字符出現的一個子字符串*/
   j = i + 1;
  while (str[j] !=del && str[j] !='\0') j++;
  __ (4)__="\0";         /*給找到的字符序列置字符串結束標志*/
  printf(" %s\t",&str[i]): ’
  __ (5)__;
  }
 }

試題三

  以下是與visual basic開發應用有關的5個問題.對每一個問題,請將解答填入答題紙的對應欄內。
  (1)在visual basic中,工程文件、窗體文件和標準模塊文件的擴展名是什么?
  請從下列選項中選擇:
  prg、prj、exe、vbp、rom、frm、win、fra,std、bas、vbs、vbm

  (2)設某窗體上有一個命令按鈕,其名稱為 cmdsave,運行時該按鈕上顯示有“保存(s)”字樣的信息。為使熱鍵 alt+s 與該命令按鈕相關聯,應該對按鈕 cmdsave 的 caption屬性設置什么樣的屬性值?

  (3)設某窗口內有一個圖像框 image1,以及兩個命令按鈕“放大”和“縮小”。單擊“放大”按鈕就會使該圖像框的長和寬都放大10%;單擊“縮小”按鈕就會使該圖像框的長和寬都縮小10%(該圖像框的左上角不動)。請分別寫出這兩個命令按鈕的單擊事件過程中的程序代碼。

  (4)為使某個單選按鈕初始時默認被選中,在開發時應怎樣做?

  (5)若有語句 tmpval=msgbox(非法操作!,ybokcancel+vbcritical,"提示"),請簡要描述程序運行時彈出的消息框的主要特征。

 

從下列的2道試題(試題四至試題五)中任選1道解答,如果解答的試題數超過1道,則題號小的1道解咎有效。

 閱讀以下說明和c代碼,將應填入__(n)__處的字句寫在答題紙的對應欄內。
[說明]
  函數 multibaseoutput(long n,int b)的功能是:將一個無符號十進制整數 n 轉換成 b(2≤b≤16)進制數并輸出。該函數先將轉換過程中得到的各位數字入棧,轉換結束后再把 b 進制數從棧中輸出。有關棧操作的諸函數功能見相應函數中的注釋。c代碼中的符號常量及棧的類型定義如下:
 #define kaxsize 32
 typedef struct{
  int *elem;  /* 棧的存儲區 */
  int max;   /* 棧的容量,即找中最多能存放的元素個數 */
  int top;   /* 棧頂指針 */ 
 }stack;

[c代碼]
 int lnitstack(stack *s,int n)  /* 創建容量為n的空棧 */
 { s->elem = (int *)matloc(n * sizeof(int));
  if (s->elem == null) return -1;
  s->max = n;__(1)__= 0;return 0;
 }
 int push(stack*s,int item)   /* 將整數item壓入棧頂 */
 { if(s->top == s->max){ printf("stack is full!\n");return -1;}
  __(2)__;item;return 0;
 }
 int stackempty(stack s){ return(!s.top) ? 1;0;) /* 判斷棧是否為空 */
 int pop(stack*s)        /* 棧頂元素出棧 */
 { if (!s->top){ printf("pop an empty stack!\n");return -1;)
  return __(3)__;
 }
 void multibaseoutput(long n,int b)
 { int m;stack s;
  if (init stack(&s,maxsize)) { printf("failure!\n");return;}
  do {
   if (push(&s,__(4)__)) { printf("failure!\n");return;}
   n = __(5)__:
  } while (n != 0);
  while (!stackempty(s)) {     /* 輸出b進制的數 */
   m = pop(&s);
   if (m < 10) printf("kd",m);  /* 小于10,輸出數字 */
   else printf("%c,m + 55);    /* 大于或等于10,輸出相應的字符 */
  }
  printf("\n");
 }

試題五

  閱讀以下應用說明及visual basic程序代碼,將應填入__(n)__處的字句寫在答題紙的對應欄內。
[應用說明5.1]
  本應用程序的窗體中有一個下拉式列表框(名稱為combol)和兩個文本框(名稱分別為txtl和txt2)。運行時,用戶從combol的列表中進行選擇,程序就會將選中條目的內容以及編號(從0開始)分別在文本框 txt1 和 txt2 中顯示出來。
[程序代碼5.1]
 private sub combol_c1ick()
  txtl.text = combol.__(1)__
  txt2.text = combol.__(2)__
 end sub
 。ㄗⅲ嚎晒(2)處選擇的選項:list,index,listlndex,listcount,number)
[應用說明5.2]
  本應用程序的運行窗口如下圖所示:

  當用戶在輸入框(名為txtln)中輸入數值數據,并從下拉式列表框(名為cmbop)中選擇所需的運算后,輸出框(名為txtout)中就會顯示運算的結果。用戶單擊“清除”按鈕(名為cmdclear)后,輸入框和輸出框都清空。
開發該應用的部分程序代碼如下:
[程序代碼5.2]
 private sub cmbop_click()
  dim datain as double,dataout as double
  datain = __(3)__
  select case __(4)__
   case "取整數部分"
    dataout = int(dataln)
   case "求平方根"
    if dataln < o then
     msgbox$("負數不能開平方!")
    else
     dataout = sqr(dataln)
    end if
   case "取絕對值"
    dataout = abs(dataln)
    (txtout.text = str$(dataout)
    __5)__
 end sub

主站蜘蛛池模板: 免费a在线观看播放 | 一区二区三区无码被窝影院 | heyzo朝桐光一区二区 | 国产人妻精品午夜福利免费 | 欧美性猛交xxxx免费看蜜桃 | 99高清国产清纯学生在线观看 | 777影音| 麻豆av传媒蜜桃天美传媒 | 轻轻草在线视频 | 国语自产拍在线观看对白 | 日韩高清无码免费 | 男人女人午夜视频免费 | 午夜激情307| 中文字幕第20页 | 刺激性视频黄页 | 手机亚洲第一页 | 国产一区两区 | 亚洲av乱码中文一区二区三区 | 色婷婷六月亚洲综合香蕉 | 亚洲欧美日韩综合 | 色www视频永久免费男的天堂 | 亚洲AV无码久久忘忧草 | 久久99热人妻偷产国产 | 天天干天天射天天爽 | 日本无线免费视频 | 永久免费的网站 | 久久国产精品视频免费看 | 成年人激情网 | 古装三级在线观看 | 强开少妇嫩苞又嫩又紧九色 | 久草香蕉在线视频 | 亚洲超碰无码色中文字幕97 | 日韩欧美一区二区三区在线观看 | 日朝毛片| 国产精品久久久久一区二区三区 | www.亚洲在线| 自拍偷自拍亚洲精品被多人伦好爽 | 完全着衣の爆乳お姉さんが | caoporn-草棚在线视频最 | 久久久久国产一区二区三区小说 | 欧美日韩精品成人网视频 |