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

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

湖北自考網(wǎng) 來源: 時間:2008-11-08 15:43:21

  5.要求函數(shù)的功能是在一維數(shù)組a中查找x值。若找到,則返回所在的下標值;否則,返回0.設數(shù)據(jù)放在數(shù)組元素的a[1]到a[n]中。在以下給出的函數(shù)中,不能正確執(zhí)行此功能的函數(shù)是( )

 ?、?funa(int *a,int n, int x)

  { *a=x;

  whlie(a[n]?。絰) n——;

  return n;

  }

 ?、?funb(int *a, int n, int x)

  { int k ;

  for( k=l; k<=n; k++)

  if(a[k]==x) return k;

  return 0 ;

  }

 ?、?func(int a[], int n, int x)

  { int * k;

  a[O]=x; k=a+n;

  while(*k?。絰)k——;

  return k-n;

  }

 ?、?fund(int a[], int n, int x)

  { int k=0;

  do k++;

  while((k<N+1) &&(A[K]! =X));

  if((k<N+1) &&[K]==X)) RETURN K;

  else return 0;

  }

  「解」在數(shù)組中找指定值是經(jīng)常遇到的計算要求,有多種編程方法。在這里,數(shù)據(jù)預放在數(shù)組下標1至n的元素中,下標為0的元素沒有放數(shù)據(jù),程序可以利用這個位置簡化查找函數(shù)。函數(shù)funa先將要查找的情放入a[0],從數(shù)據(jù)表的最后一個元素開始逆序向前查找。這樣做的好處是循環(huán)條件不必擔心因數(shù)組中原先沒有值為x的元素而一直順序查找下去,訪問不是數(shù)表的元素,需插入條件n>O.在a[0] 處放入x后,這個條件就不必要了,循環(huán)至少在訪問了a[0] 后終止,并返回0值。所以該函數(shù)能完成指定的功能。函數(shù)funb采用常規(guī)的辦法編寫,循環(huán)在a[1] 與a[n]之間順序?qū)ふ遥坏┱业搅⒓捶祷卣业教幍南聵?,直至查找循環(huán)結束,查不到指定的值而返回0值。函數(shù)func采用與函數(shù)funa相同的方法,不過是另外引入一個指針變量。但是該函數(shù)return語句后的表達式有嚴重的錯誤,應返回k-a,兩指針的差,其值等于找到元素的下標。表達式k-n是指針k向前移n個位置的指針值。函數(shù)fund預置k為0,循環(huán)讓 k增 1,并在 k在界內(nèi)和 a[k] 不等于 x的情況下循環(huán)。循環(huán)結束有兩種情況,或 k已不在界內(nèi),或k在界內(nèi),并且a[k]等于x.若是后者,函數(shù)返回k,而若前者,函數(shù)返回比該函數(shù)也能正確完成查找工作。這樣,不能正確完成查找工作的函數(shù)是函數(shù)fonc.所以正確選擇是③。

  6.以下程序的輸出結果是( )

  # include

  subl(char a,char b) {char c;c=a;a=b;b=c;}

  sub2(char *a,char b){ char c;c=*a;*a=b;b=c;}

  sub3(char *a,char *b) { char c;c=*a;*a=*b;*b=c;}

  main()

  { char a, b;

  a=‘A’; b=‘B’; sub3(&a,&b); putchar(a); putchar(b);

  a=‘A’;b=‘B’ ;Sub2(&a,b);putchar(a); rutchar(b);

  a=‘A’; b=‘B’; sub1(a,b); putchar(a);putchar(b);

  }

  ①BABBAB ②ABBBBA

 ?、?BABABA ④ BAABBA

  「解」在上述程序中,函數(shù)subl完成兩形參值的交換,這個交換不影響實參變量,這是一個沒有意義的函數(shù)。函數(shù)sub2將第二個形參的值置入由第一個指針形參所指的變量中,指針形參所指的變量由調(diào)用時的實參提供。函數(shù)sub3完成將兩個形參所指的變量的值交換。程序調(diào)用sub3,使變量a和b的值交換輸出BA;調(diào)用subZ,使變量b的值傳送到a,輸出BB;調(diào)用subl,變量a和b的值不改變,輸出AB.所以程序輸出BABBAB.正確解答是①。

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

已幫助10w萬+意向?qū)W歷提升用戶成功上岸

  • 毛澤東思想概論

    毛澤東思想概論

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

    英語二

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

    馬克思主義基本原理概論

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

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

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

    中國近代史綱要

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

掃一掃關注微信公眾號

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