自考“高級語言程序設計”習題答案詳解(29) -自考串講筆記
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);/*按從大到小的順序輸出*/
}
2.部分稿件來源于網絡,如有不實或侵權,請聯系我們溝通解決。最新官方信息請以湖北省教育考試院及各教育官網為準!
-
112023-03湖北自考《運輸保險》精選習題及答案匯總湖北自考《運輸保險》精選習題及答案匯總
-
112023-03湖北自考《運輸保險》精選習題及答案(5)湖北自考《運輸保險》精選習題及答案(5)
-
112023-03湖北自考《運輸保險》精選習題及答案(4)湖北自考《運輸保險》精選習題及答案(4)
-
112023-03湖北自考《運輸保險》精選習題及答案(3)湖北自考《運輸保險》精選習題及答案(3)
-
112023-03湖北自考《運輸保險》精選習題及答案(2)湖北自考《運輸保險》精選習題及答案(2)
-
112023-03湖北自考《運輸保險》精選習題及答案(1)湖北自考《運輸保險》精選習題及答案(1)
已幫助10w萬+意向學歷提升用戶成功上岸
-
毛澤東思想概論
培訓優(yōu)勢:課時考點精講+刷題+沖刺,熟練應對考試題型。全程督促學習,安排好學習計劃。 毛澤東思想概論...自考培訓 -
英語二
本課程既是一門語言實踐課程,也是拓寬知識、了解世界文化的重要素質課程,它以培養(yǎng)學習者的綜合語言應用能力為目標,使他們在學習、工作和社會交往中能夠使用英語進行有效的交流。 英語二...自考培訓 -
馬克思主義基本原理概論
本書包括兩個部分:自學考試大綱和基本原理。主要內容有,馬克思主義是關于工人階級和人類解放的科學,物質世界及其發(fā)展規(guī)律,認識的本質及其規(guī)律,人類社會及其發(fā)展規(guī)律,資本主義的形成及其發(fā)展,資本主義發(fā)展的歷史進程,社會主義社會及其進程,共產主義社會及其進程等。 馬克思主義基本原理概論...自考培訓 -
思想道德修養(yǎng)與法律基礎
《思想道德修養(yǎng)與法律基礎》課具有鮮明的政治性、思想性、理論性、針對性、科學性、知識性以及實踐性和修養(yǎng)性。它包羅政治、思想、道德、心理本質、學習成才和法律本質等內容,指導和回答大學生在人生、抱負、信念等方面遍及關心和迫切需要解決的問題。 思想道德修養(yǎng)與法律基礎...自考培訓 -
中國近代史綱要
“中國近現代史綱要”全國高等教育自學考試指定教材,依據中央審定的普通高等學?!爸袊F代史綱要”編寫大綱以及馬克思主義理論研究和建設工程重點教材《中國近現代史綱要》,結合自學考試的特點設計了十章,集中講述1840年鴉片戰(zhàn)爭爆發(fā)一直到2007年中國共產黨第十七次全國代表大會召開的160多年的中國近現代歷史。 中國近代史綱要...自考培訓
掃一掃關注微信公眾號
隨時獲取湖北省自考政策、通知、公告以及各類學習資料、學習方法、課程。