了解湖南/長沙365体育备用网址資訊,從365投注平台開始!365bet官网報名365bet官网本科
您當前的位置:首頁 > 365bet官网考前練習

365体育备用网址“高級語言程序設計”經典習題及答案(25)

365体育备用网址“高級語言程序設計”經典習題及答案(25)

 

  6.2 填充題qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  1.靜態型內部變量的作用域是___________.qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  “解”靜態存儲類型的主要特性是永久性和專用性。靜態局部變量提供永久存儲,但因它是局部變量,也得遵守局部變量的作用域規則,是定義它的函數或復合語句。qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  2.函數中的形參和調用時的實參都是數組名時,傳遞方式為______;都是變量時,傳遞方式為_____________.qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  “解”在C語言中,實參向形參傳遞方式只有值傳遞,但傳遞的內容可能是非指針類型的值,如基本類型值,或結構類型值,也可以是指針類型值。通常傳遞指針類型值特稱為傳地址方式。其中實參向指針形參傳遞數組名,就是一種傳地址方式。若形參不是指針類型的,形參是一般的變量,實參可以是變量或表達式,就是值傳遞方式。qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  3.函數的形式參數的作用域為_____,全局的外部變量和函數體內定義的局部變量重名時,________變量優先。qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  “解”函數將它的形參當作它的局部變量,所以函數形參的作用城為定義它的函數。當函數的形參或函數內的局部變量與函數外的全局變量同名時,函數的局部變量優先。qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  4.若自定義函數要求返回一個值,則應在該函數體中有一條________語句,若自定義函數要求不返回一個值,則應在該函數說明時加一個類型符____________.qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  “解”苦自定義的函數有返回值,則函數返回時應執行帶表達式的return語句返回,該表達式的值將作為函數調用的結果。為了強調函數是一個不返回值的函數,應在該函數說明時,加上一個void類型說明符。qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  5.若給fun函數的形參s傳送字符串:“ㄩㄩ 6354abcc”(其中ㄩ表示空格字符),則函數的返回值是__________.qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  # includeqjB365投注平台_365bet官网本科_365bet官网報名_首頁

  long fun(char s[])qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  { long n;int sign;qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  for(; isspace(*s); s++);qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  sign=(*s==‘-’ )?-1:l;qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  if(*s==‘+’ ||*s==‘-’) s++;qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  for(n=0; isdigit(*s); s++) n=10*n+(*s-‘0’);qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  return sign *n;qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  }qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  “解”函數fun的第一個for循環跳過字符串的前導空白符,接著分析第一個非空白符是否是負號,若是置變量sign為-1;否則,置變量sign為1.接著的if語句在第一個非空白字符是負號或正號時,跳過該字符。以后的for循環將后面的數字符當作十進制數的各位數字譯出一個長整數n.遇字符a時,結束譯數循環。最后,函數返回sign與n的乘積。所以若調用函數時提供的實參是“ㄩㄩ6354abc”,函數返回值是整數6354.qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  6.下面函數要求計算兩個整數X、y之和,并通過形參Z傳回該和值,請填空。qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  void add(int x,int y,________z)qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  {_________=x+ y; return;}qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  “解”函數希望通過形參z傳送結果,形參z必須是指針類型的,由于返回整型結果,所以z的說明是int *z.函數返回前必須先把結果通過形參z間接引用(寫成* z)傳回。7.以下函數用來在w數組中插入x.在n所指向的存儲單元中存放著w數組中的字符個數。數組W中的字符已按從小到大的順序排列,插入后數組W中的字符仍有序。請填空。qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  void fun(char *w,char x, int *n)qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  { int i, p;qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  p=0;qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  w[*n]=x;qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  whlie( x>w[p] ) p++;qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  for(i=* n; i>p;i——) w=_____________;qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  w[p] = x;qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  ++ *n;qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  }qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  “解”在用數組實現的有序序列中插入內容,必須先尋找插入位置。插入位置找到后,需將插入位置之后的元素向后移動一個位置,留出插入點。最后,將元素插入,并增加序列的元素個數。函數為了簡化尋找插入位置循環的循環條件,預先在序列的最后置人插入值。插入位置之后的元素向后移動一個位置必須從最后一個元素開始往前逆序移動,是將前一個元素向后移,所以在空框處應填入w[i-l] .qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  7.函數my_cmp()的功能是比較字符串s和t的大小,當S等于t時返回0,否則返回s和t的第一個不同字符的ASCII碼差值,即s>t時返回正值,當sqjB365投注平台_365bet官网本科_365bet官网報名_首頁

  my_cmp( char *s, char * t)qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  {while(*s==* t)qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  { if(*s==‘/0’) return 0 ;qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  ++s;++t;qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  }qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  return____________;qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  }qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  “解”兩字符串大小比較必須從它們的首字符開始,在對應字將相等情況下循環,直至不相等結束。相等時,老字符率已到了字符串的結束標記符,則兩字符率相同,函數退回0值;如還有后繼字符,則準備比較下一對字符。對應字符不相同,循環結束。循環結束時,就以兩個當前字符的差返回。所以在空框處應填入*s-*t,保證在s>t時返回正值,當sqjB365投注平台_365bet官网本科_365bet官网報名_首頁

  6.3 程序分析題qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  1.閱讀函數,寫出函數的主要功能:qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  ch(int *p1,int *p2)qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  { int p;qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  if(*pl>*p2) { p=* pl;*pl=*p2;* p2=p; }qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  }qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  “解”函數辦有兩個指針形參p1和p2,函數體通過*pl和*p2間接引用它們所指變量。當pl所指變量的位大于p2所指變量的值時,交換兩形參所指變量的值。所以函數的功能當形參1所指變量比形參2所指變量的值大時,交換這兩個變量的值。調用該函數能保證形參1所指變量的值不大于形參2所指變量的值。qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  2.閱讀函數,寫出函數的主要功能:qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  float av(a,n)qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  float a[];qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  int n;qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  { int i; float s;qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  for(i=0,s= 0;iqjB365投注平台_365bet官网本科_365bet官网報名_首頁

  return s/n;qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  }qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  “解”函數有一個數組形參a和一個整型形參n.函數首先用循環求數組a的前n個元素和,然后將和除以n.即求數組元素的平均值。qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  3.閱讀下面程序,寫出運算結果。qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  unsigned fun6( unsigned num)qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  { unsigned k=l;qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  do { k*= num;num/=10;}qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  while(n) ;qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  return k;qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  }qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  main()qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  { unsigned n=26;qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  printf(“%d/n”, fun6(n));qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  }qjB365投注平台_365bet官网本科_365bet官网報名_首頁

  “解”函數有一個形參num,循環前變量 k置 1,循環中,表達式num是取num的個位,將num的個位值累乘于k中,然后num除以10.循環直至num為0結束,這是逐一求出num十進制表示的各位數字,并累乘于變量k的循環。函數最后返回k.函數fun6的功能是求整數的各位十進數字積。所以程序輸出12.qjB365投注平台_365bet官网本科_365bet官网報名_首頁

 qjB365投注平台_365bet官网本科_365bet官网報名_首頁

qjB365投注平台_365bet官网本科_365bet官网報名_首頁

 

365体育备用网址“高級語言程序設計”經典習題及答案(25)

    365投注平台——致力于打造365投注平台第一網,以努力服務于廣大365bet官网學子、提供最全的365bet官网資訊為己任,發布365bet官网最新的新聞資訊,提供365bet官网專科365bet官网本科365bet官网報名365bet官网成績查詢等綜合信息

 

365bet官网
相關文章
    無相關信息
湖南365体育备用网址
365bet官网政策
365体育备用网址30年大事
365bet官网專業
365bet官网問答
名家訪談
365bet官网故事
365bet官网院校
365bet官网大綱
365体育备用网址復習方法
365体育备用网址筆記串講
365体育备用网址應試技巧
365bet官网真題
365bet官网就業
湖南論文指導
365bet官网實踐
365bet官网學位
365体育备用网址成績查詢
365体育备用网址考籍查詢
365体育备用网址學歷查詢


咨詢QQ:137847917
13548661633(微信同號)