自考“高級(jí)語(yǔ)言程序設(shè)計(jì)”習(xí)題答案詳解(35)

  • 發(fā)布時(shí)間:2024-09-15 16:21:23
  • 來(lái)源:本站整理
  • 閱讀:
導(dǎo)讀:
  6.2 填充題
  1.靜態(tài)型內(nèi)部變量的作用域是___________.
  「解」靜態(tài)存儲(chǔ)類型的主要特性是永久性和專用性。靜態(tài)局部變量提供永久存儲(chǔ),但因它是局部變量,也得遵守局部變量的作用域規(guī)則,是定義它的函數(shù)或復(fù)合語(yǔ)句。
  2.函數(shù)中的形參和調(diào)用時(shí)的實(shí)參都是數(shù)組名時(shí),傳遞方式為_(kāi)_____;都是變量時(shí),傳遞方式為_(kāi)___

1.靜態(tài)型內(nèi)部變量的作用域是___________.

「解」靜態(tài)存儲(chǔ)類型的主要特性是永久性和專用性。靜態(tài)局部變量提供永久存儲(chǔ),但因它是局部變量,也得遵守局部變量的作用域規(guī)則,是定義它的函數(shù)或復(fù)合語(yǔ)句。

2.函數(shù)中的形參和調(diào)用時(shí)的實(shí)參都是數(shù)組名時(shí),傳遞方式為_(kāi)_____;都是變量時(shí),傳遞方式為_(kāi)____________.

「解」在C語(yǔ)言中,實(shí)參向形參傳遞方式只有值傳遞,但傳遞的內(nèi)容可能是非指針類型的值,如基本類型值,或結(jié)構(gòu)類型值,也可以是指針類型值。通常傳遞指針類型值特稱為傳地址方式。其中實(shí)參向指針形參傳遞數(shù)組名,就是一種傳地址方式。若形參不是指針類型的,形參是一般的變量,實(shí)參可以是變量或表達(dá)式,就是值傳遞方式。

3.函數(shù)的形式參數(shù)的作用域?yàn)開(kāi)____,全局的外部變量和函數(shù)體內(nèi)定義的局部變量重名時(shí),________變量?jī)?yōu)先。

「解」函數(shù)將它的形參當(dāng)作它的局部變量,所以函數(shù)形參的作用城為定義它的函數(shù)。當(dāng)函數(shù)的形參或函數(shù)內(nèi)的局部變量與函數(shù)外的全局變量同名時(shí),函數(shù)的局部變量?jī)?yōu)先。

4.若自定義函數(shù)要求返回一個(gè)值,則應(yīng)在該函數(shù)體中有一條________語(yǔ)句,若自定義函數(shù)要求不返回一個(gè)值,則應(yīng)在該函數(shù)說(shuō)明時(shí)加一個(gè)類型符____________.

「解」苦自定義的函數(shù)有返回值,則函數(shù)返回時(shí)應(yīng)執(zhí)行帶表達(dá)式的return語(yǔ)句返回,該表達(dá)式的值將作為函數(shù)調(diào)用的結(jié)果。為了強(qiáng)調(diào)函數(shù)是一個(gè)不返回值的函數(shù),應(yīng)在該函數(shù)說(shuō)明時(shí),加上一個(gè)void類型說(shuō)明符。

5.若給fun函數(shù)的形參s傳送字符串:“ㄩㄩ 6354abcc”(其中ㄩ表示空格字符),則函數(shù)的返回值是__________.

# include

long fun(char s[])

{ long n;int sign;

for(; isspace(*s); s++);

sign=(*s==‘-’ )?-1:l;

if(*s==‘+’ ||*s==‘-’) s++;

for(n=0; isdigit(*s); s++) n=10*n+(*s-‘0’);

return sign *n;

}

「解」函數(shù)fun的第一個(gè)for循環(huán)跳過(guò)字符串的前導(dǎo)空白符,接著分析第一個(gè)非空白符是否是負(fù)號(hào),若是置變量sign為-1;否則,置變量sign為1.接著的if語(yǔ)句在第一個(gè)非空白字符是負(fù)號(hào)或正號(hào)時(shí),跳過(guò)該字符。以后的for循環(huán)將后面的數(shù)字符當(dāng)作十進(jìn)制數(shù)的各位數(shù)字譯出一個(gè)長(zhǎng)整數(shù)n.遇字符a時(shí),結(jié)束譯數(shù)循環(huán)。最后,函數(shù)返回sign與n的乘積。所以若調(diào)用函數(shù)時(shí)提供的實(shí)參是“ㄩㄩ6354abc”,函數(shù)返回值是整數(shù)6354.

6.下面函數(shù)要求計(jì)算兩個(gè)整數(shù)X、y之和,并通過(guò)形參Z傳回該和值,請(qǐng)?zhí)羁铡?/p>

void add(int x,int y,________z)

{_________=x+ y; return;}

「解」函數(shù)希望通過(guò)形參z傳送結(jié)果,形參z必須是指針類型的,由于返回整型結(jié)果,所以z的說(shuō)明是int *z.函數(shù)返回前必須先把結(jié)果通過(guò)形參z間接引用(寫成* z)傳回。7.以下函數(shù)用來(lái)在w數(shù)組中插入x.在n所指向的存儲(chǔ)單元中存放著w數(shù)組中的字符個(gè)數(shù)。數(shù)組W中的字符已按從小到大的順序排列,插入后數(shù)組W中的字符仍有序。請(qǐng)?zhí)羁铡?/p>

void fun(char *w,char x, int *n)

{ int i, p;

p=0;

w[*n]=x;

whlie( x w[p] ) p++;

for(i=* n; i p;i——) w=_____________;

w[p] = x;

++ *n;

}

「解」在用數(shù)組實(shí)現(xiàn)的有序序列中插入內(nèi)容,必須先尋找插入位置。插入位置找到后,需將插入位置之后的元素向后移動(dòng)一個(gè)位置,留出插入點(diǎn)。最后,將元素插入,并增加序列的元素個(gè)數(shù)。函數(shù)為了簡(jiǎn)化尋找插入位置循環(huán)的循環(huán)條件,預(yù)先在序列的最后置人插入值。插入位置之后的元素向后移動(dòng)一個(gè)位置必須從最后一個(gè)元素開(kāi)始往前逆序移動(dòng),是將前一個(gè)元素向后移,所以在空框處應(yīng)填入w[i-l] .

相關(guān)閱讀

熱門標(biāo)簽

關(guān)于自考“高級(jí)語(yǔ)言程序設(shè)計(jì)”習(xí)題答案詳解(35)文章

2021年自學(xué)考試報(bào)考入口 2021年自學(xué)考試報(bào)考入口

熱門文章