國家工信部網站備案實名:湖北自考網 為考生提供湖北自考信息服務,僅供學習交流使用,官方信息以湖北教育考試院為準。
湖北自考在線 湖北學位英語培訓班 湖北成人高考報名 湖北自考視頻免費領取

自考“高級語言程序設計”習題答案詳解(29) -自考串講筆記

湖北自考網 來源: 時間:2008-11-08 15:43:18

  3.閱讀下列程序,寫出程序運行的輸出結果。

  char s[]=“ABCD”;

  main()

  { char * p;

  for( p=s;p< s+4;p++) printf(“%s\n”, p);

  }

  「解]程序定義了一個字符數組s,由給它所賦的字符串初值知,該數組只有五個元素。程序另定義了字符指針變量p.循環(huán)開始時,先讓p指向數組的首元素。循環(huán)每次輸出以p所指字符為首字符的字符串,并讓它指向下一個字符。如此反復循環(huán)四次,所以程序輸出以下內容:

  ABCD

  BCD

  CD

  D

  4.閱讀下列程序,試寫出程序運行的結果。

  main()

  {int i,b,c,a[]={1,10,-3,-21,7,13},*p_b,*p_c;

  b=C=1;p_b=p_C= a;

  for(i=0;i<6; i++)

  { if(b<*(a+i)) {b=*(a+i); p_b=&a; }

  if(c>*(a+i)) {c=*(a+i); p_c=&a; }

  }

  i=*a;*a=*p_b;*p_b=i;i=*(a+5);*(a+5)=*p_c;*p_c=i;

  printf(“%d,%d,%d,%d,%d,%d\n”, a[O],a[1],a[2],a[3], a[4], a[5]);

  }

  「解]程序定義了一個整型數組。,由給它所賦的初值知,該數組有六個元素。程序另定義了三個整型變量i.b、C和兩個指針變量p_b.p_c.程序首先置變量b和C都為1,p_b和p_c都指向數組a 的首元素a[0].接著執(zhí)行六次循環(huán),循環(huán)體由兩個if語句。第一個if語句是當 b的值小于*(a+i)(就是a)時,將*(a+i)的值復制到b,并讓p_b指向a.這是在a中找最大值,將最大值存于b,最大值元素的指針存于指針變量p_b.第二個if語句是當c的值大于*(a+i)(就是a)時,將*(a+i) 的值復制到c,并讓p_c指向a.這是在a中找最小值,將最小值存于c,最小值元素的指針存于指針變量p_c.循環(huán)結束后的前三個語句實現最大元素與a[0]交換。接著三個語句是在已經過前面交換的基礎上,將最小元與a[5]交換。最后程序順序輸出數組a的六個元素。所以程序輸出內容是:

  13, 10,-3, l, 7,-21.

  若數組a的初值由輸入任意指定,上述程序對一種特殊情況不能完成功能的要求,即最小元素若是a[0],p_c所指元素已被移到p_b指針所指位置,實際與a[5]交換的不再是數組中的最小元素,而是最大元素。

  5.4 程序設計題

  1.輸人3個整數,按從大到小順序輸出。

  「解」存儲輸入的三個整數可用三個簡單變量,也可用數組。設用三個簡單變量x,y,z存儲輸入的三個整數。另設若干個指針變量指向存儲輸入數據的變量。實現從大到小輸出三個整數有多種方案,如通過比較交換變量的值,多次比較交換使變量滿足條件x>=y>=z.這樣,變量的輸入值可能會與它的輸出值不一樣。如通過比較交換指針變量,當比較后發(fā)現要交換時,就交換變量的指針,而不交換變量的值,則在比較結束后,變量的值沒有改變,但從指針方向來看,它們的值是從大到小排列的。下面的程序就采用這種方案。

  # include

  main()

  { int x,y,z;

  int *big=&x,*mid=&y,*sma=&z,/*置三個指針變量分別指向x,y, z*/

  *temp;

  printf(“Enter x,y,z.\n”);

  scanf(“%d%d%d”, big,mid,sma);/*順序為變量x,y,z輸入值*/

  if(*big< *mid) {temp=big;big=mid; mid=temp; }

  /*使*big>=*mid*/

  if(*big<*sma) { temp=big;big=sma;sma=temp; }/*使*big>=*sma*/

  if(*mid<*sma){temp=mid;mid=sma;sma=temp; }/*使*mid>=*sma*/

  printf(“%d\t%d\t%d\n”, x,y,z);/*按輸入順序輸出x,y,z*/

  printf(“%d\t%d\t%d\n”,*big,*mid,*sma);/*按從大到小的順序輸出*/

  }

結束
本文標簽
特別聲明:1.凡本網注明稿件來源為“湖北自考網”的,轉載必須注明“稿件來源:湖北自考網(www.heywebguys.com)”,違者將依法追究責任;
2.部分稿件來源于網絡,如有不實或侵權,請聯系我們溝通解決。最新官方信息請以湖北省教育考試院及各教育官網為準!
限時,免費獲取學歷提升方案

已幫助10w萬+意向學歷提升用戶成功上岸

  • 毛澤東思想概論

    毛澤東思想概論

    培訓優(yōu)勢:課時考點精講+刷題+沖刺,熟練應對考試題型。全程督促學習,安排好學習計劃。 毛澤東思想概論...自考培訓
  • 英語二

    英語二

    本課程既是一門語言實踐課程,也是拓寬知識、了解世界文化的重要素質課程,它以培養(yǎng)學習者的綜合語言應用能力為目標,使他們在學習、工作和社會交往中能夠使用英語進行有效的交流。 英語二...自考培訓
  • 馬克思主義基本原理概論

    馬克思主義基本原理概論

    本書包括兩個部分:自學考試大綱和基本原理。主要內容有,馬克思主義是關于工人階級和人類解放的科學,物質世界及其發(fā)展規(guī)律,認識的本質及其規(guī)律,人類社會及其發(fā)展規(guī)律,資本主義的形成及其發(fā)展,資本主義發(fā)展的歷史進程,社會主義社會及其進程,共產主義社會及其進程等。 馬克思主義基本原理概論...自考培訓
  • 思想道德修養(yǎng)與法律基礎

    思想道德修養(yǎng)與法律基礎

    《思想道德修養(yǎng)與法律基礎》課具有鮮明的政治性、思想性、理論性、針對性、科學性、知識性以及實踐性和修養(yǎng)性。它包羅政治、思想、道德、心理本質、學習成才和法律本質等內容,指導和回答大學生在人生、抱負、信念等方面遍及關心和迫切需要解決的問題。 思想道德修養(yǎng)與法律基礎...自考培訓
  • 中國近代史綱要

    中國近代史綱要

    “中國近現代史綱要”全國高等教育自學考試指定教材,依據中央審定的普通高等學?!爸袊F代史綱要”編寫大綱以及馬克思主義理論研究和建設工程重點教材《中國近現代史綱要》,結合自學考試的特點設計了十章,集中講述1840年鴉片戰(zhàn)爭爆發(fā)一直到2007年中國共產黨第十七次全國代表大會召開的160多年的中國近現代歷史。 中國近代史綱要...自考培訓
微信公眾號 考試交流群
湖北自考網微信公眾號

掃一掃關注微信公眾號

隨時獲取湖北省自考政策、通知、公告以及各類學習資料、學習方法、課程。