自考“高級語言程序設計”習題答案詳解(34) -自考串講筆記
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.正確解答是①。
2.部分稿件來源于網(wǎng)絡,如有不實或侵權,請聯(lián)系我們溝通解決。最新官方信息請以湖北省教育考試院及各教育官網(wǎng)為準!
-
112023-03湖北自考《運輸保險》精選習題及答案匯總湖北自考《運輸保險》精選習題及答案匯總
-
112023-03湖北自考《運輸保險》精選習題及答案(5)湖北自考《運輸保險》精選習題及答案(5)
-
112023-03湖北自考《運輸保險》精選習題及答案(4)湖北自考《運輸保險》精選習題及答案(4)
-
112023-03湖北自考《運輸保險》精選習題及答案(3)湖北自考《運輸保險》精選習題及答案(3)
-
112023-03湖北自考《運輸保險》精選習題及答案(2)湖北自考《運輸保險》精選習題及答案(2)
-
112023-03湖北自考《運輸保險》精選習題及答案(1)湖北自考《運輸保險》精選習題及答案(1)
已幫助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)性。它包羅政治、思想、道德、心理本質(zhì)、學習成才和法律本質(zhì)等內(nèi)容,指導和回答大學生在人生、抱負、信念等方面遍及關心和迫切需要解決的問題。 思想道德修養(yǎng)與法律基礎...自考培訓中國近代史綱要
“中國近現(xiàn)代史綱要”全國高等教育自學考試指定教材,依據(jù)中央審定的普通高等學?!爸袊F(xiàn)代史綱要”編寫大綱以及馬克思主義理論研究和建設工程重點教材《中國近現(xiàn)代史綱要》,結合自學考試的特點設計了十章,集中講述1840年鴉片戰(zhàn)爭爆發(fā)一直到2007年中國共產(chǎn)黨第十七次全國代表大會召開的160多年的中國近現(xiàn)代歷史。 中國近代史綱要...自考培訓

掃一掃關注微信公眾號
隨時獲取湖北省自考政策、通知、公告以及各類學習資料、學習方法、課程。