國家二級(C語言)機(jī)試模擬試卷15_第1頁
國家二級(C語言)機(jī)試模擬試卷15_第2頁
國家二級(C語言)機(jī)試模擬試卷15_第3頁
國家二級(C語言)機(jī)試模擬試卷15_第4頁
國家二級(C語言)機(jī)試模擬試卷15_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

國家二級(C語言)機(jī)試模擬試卷15

一、選擇題(本題共39題,每題1.0分,共39分。)

1、算法的時間復(fù)雜度是指()。

A、算法的長度

B、執(zhí)行算法所需要的時間

C、算法中的指令條數(shù)

D、算法執(zhí)行過程中所需要的基本運算次數(shù)

標(biāo)準(zhǔn)答案:D

知識點解析:算法的時間復(fù)雜度,是指執(zhí)行算法所需要的工作量,可以用算法在執(zhí)

行過程中所需基本運算的執(zhí)行次數(shù)來度量算法的工作量。

2、以下數(shù)據(jù)結(jié)構(gòu)中,屬于非線性數(shù)據(jù)結(jié)構(gòu)的是()。

A、棧

B、線性表

C、隊列

D、二叉樹

標(biāo)準(zhǔn)答案:

知識之解析D:二叉樹屬于非線性結(jié)構(gòu)。棧是一種特殊的線性表,這種線性表只能在

固定的一端進(jìn)行插入和刪除操作;隊列可看作是插入在一端進(jìn)行,刪除在另一端進(jìn)

行的線性表。

3、數(shù)據(jù)結(jié)構(gòu)中,與所使用的計算機(jī)無關(guān)的是數(shù)據(jù)的()。

A、存儲結(jié)構(gòu)

B、物理結(jié)構(gòu)

C、邏輯結(jié)構(gòu)

D、線性結(jié)構(gòu)

標(biāo)準(zhǔn)答案:C

知識點解析:數(shù)據(jù)的邏輯結(jié)構(gòu)反映的是數(shù)據(jù)元素之間的邏輯關(guān)系,與使用的計算機(jī)

無關(guān)。

4、內(nèi)聚性是對模塊功能強(qiáng)度的衡量,下列選項中,內(nèi)聚性較弱的是()。

A、順序內(nèi)聚

B、偶然內(nèi)聚

C、時間內(nèi)聚

D、邏輯內(nèi)聚

標(biāo)準(zhǔn)答案:B

知識點解析:內(nèi)聚是從功能角度來衡量模塊的聯(lián)系,它描述的是模塊內(nèi)的功能聯(lián)

系。內(nèi)聚有如下種類,它們之間的內(nèi)聚度由弱到強(qiáng)排列:偶然內(nèi)聚一一模塊中的

代碼無法定義其不同同功能的調(diào)用。但它使該模塊能執(zhí)行不同的功能,這種模塊為

巧合強(qiáng)度模塊。邏輯內(nèi)聚——這種模塊把幾種相關(guān)的功能組合在一起,每次被調(diào)

用時,由傳送給模塊的參數(shù)來確定該模塊應(yīng)完成哪一種功能。時間內(nèi)聚——這種

模塊順序完成一類相關(guān)功能,比如初始化模塊,它順序地為變量置初值。過程內(nèi)

聚——如果一個模塊內(nèi)的處理元素是相關(guān)的,而且必須以特定次序執(zhí)行,則稱為過

程內(nèi)聚。通信內(nèi)聚——這種模塊除了具有過程內(nèi)聚的特點外,還有另外一種關(guān)

系,即它的所有功能都通過使用公用數(shù)據(jù)而發(fā)生關(guān)系。順序內(nèi)聚一一如果一個模

塊內(nèi)各個處理元素和同一個功能密切相關(guān),而且這些處理必須順序執(zhí)行,處理元素

的輸出數(shù)據(jù)作為下一個處理元素的輸入數(shù)據(jù),則稱為順序內(nèi)聚。功能內(nèi)聚——如

果一個模塊包括為完成某一具體任務(wù)所必需的所有成分,或者說模塊中所有成分結(jié)

合起來是為了完成一個具體的任務(wù),此模塊則為功能內(nèi)聚模塊。

5、在關(guān)系中凡能惟一標(biāo)識元組的最小屬性集稱為該表的鍵或碼。二維表中可能有

若干個鍵,它們稱為該表的()。

A、連接碼

B、關(guān)系碼

C、外碼

D、候選碼

標(biāo)準(zhǔn)答案:D

知識點解析:在關(guān)系中凡能惟一標(biāo)識元組的最小屬性集稱為該表的鍵或碼。二維表

中可能有若干個鍵,它們稱為該表的候選碼或候選鍵。從二維表的所有候選鍵中選

取一個作為用戶使用的鍵稱為主鍵或主碼。

6、檢查軟件產(chǎn)品是否符合需求定義的過程稱為()。

A、確認(rèn)測試

R、需求測試

C、驗證測試

D、路徑測試

標(biāo)準(zhǔn)答案:A

知識點解析:確認(rèn)測試的任務(wù)是驗證軟件的功能和性能,以及其他特性是否滿足需

求規(guī)格說明中確定的各種需求。

7、數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)

成。下列圖符名標(biāo)識的圖符不屬于數(shù)據(jù)流圖合法圖符的是()。

A、控制流

B、加工

C、存儲文件

D、源和潭

標(biāo)準(zhǔn)答案:A

知識點解析:數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,它由一些特定的圖符構(gòu)

成,包括4個方面,即加工、數(shù)據(jù)流、存儲文件、源和潭。

8、待排序的關(guān)鍵碼序列為(15,20,9,30,67,65,45,90),要按關(guān)鍵碼值遞增

的順序排序,采取簡單選擇排序法,第一趟排序后關(guān)鍵碼15被放到第()個位置。

A、2

B、3

C、4

D、5

標(biāo)準(zhǔn)答案:B

知識點解析:選擇排序的基本思想是掃描整個線性表,從中選出最小的元素,將它

交換到表的最前面,然后對剩下的子表采用同樣的方法,直到子表為空。所以第一

趟排序后,將選出最小的元素9放在第一個位置,元素15則被交換放在第三個位

置。

9、對關(guān)系S和關(guān)系R進(jìn)行集合運算,結(jié)果中既包含關(guān)系S中的所有元組也包含關(guān)

系R中的所有元組,這樣的集合運算稱為()。

A、并運算

B、交運算

C、差運算

D、除運算

標(biāo)準(zhǔn)答案:A

知識點解析:關(guān)系的并運算是指,由結(jié)構(gòu)相同的兩個關(guān)系合并,形成一個新的關(guān)

系,其中包含兩個關(guān)系中的所有元組。

10、下列選項中,不屬于數(shù)據(jù)管理員(DBA)職責(zé)的是()。

A、數(shù)據(jù)庫維護(hù)

B、數(shù)據(jù)庫設(shè)計

C、改善系統(tǒng)性能,提高系統(tǒng)效率

D、數(shù)據(jù)類型轉(zhuǎn)換

標(biāo)準(zhǔn)答案:D

知識點解析:數(shù)據(jù)庫管理員(DataBaseAdminiswator,DBA)是指對數(shù)據(jù)庫的規(guī)劃、

設(shè)計、維護(hù)、監(jiān)視等的人員,其主要工作如下:數(shù)據(jù)庫設(shè)計。DBA的主要任務(wù)之

一是數(shù)據(jù)庫設(shè)計,具體地說是進(jìn)行數(shù)據(jù)模式的設(shè)計。數(shù)據(jù)庫維護(hù)。DBA必須對數(shù)

據(jù)庫中的數(shù)據(jù)安全性、完整性、并發(fā)控制及系統(tǒng)恢復(fù)、數(shù)據(jù)定期轉(zhuǎn)儲等進(jìn)行實施與

維護(hù)。改善系統(tǒng)性能,提高系統(tǒng)效率。DBA必須隨時監(jiān)視數(shù)據(jù)庫的運行狀態(tài),不

斷調(diào)整內(nèi)部結(jié)構(gòu),使系統(tǒng)保持最佳狀態(tài)與效率。

11、C語言規(guī)定,在一個c程序中,main。函數(shù)的位置()。

A、必須在系統(tǒng)調(diào)用的庫函數(shù)之后

B、必須在程序的開始

C、必須在程序的最后

A、2.500000

B、2.750000

C、3.5

D、0

標(biāo)準(zhǔn)答案:A

知識點解析:此題考查的是變量的類型轉(zhuǎn)換。表達(dá)式中(int)(x+y)把x+y=(7.2)的值

強(qiáng)制轉(zhuǎn)化成整型即得到7,那么a%3*(im)(x+y)%2的值為整型常量1,所以a%

3*(int)(x+y)%2/4的值為0;因為變量x是浮點型變量,所以表達(dá)式x+a%

3*(int)(x+y)%2/4的結(jié)果也是浮點型,得到2.500000。

16、若下列選項中的各變量均為整型且已有值,其中不正確的賦值語句是()。

A、++i;

B、nl=(n2/(n3=2));

C、k=i=j;

D、a=b+c=2;

標(biāo)準(zhǔn)答案:D

知識點解析:本題考查賦值表達(dá)式。賦值表達(dá)式的一般形式是:變量名=表達(dá)式。

C語言規(guī)定,不能給變量表達(dá)式賦值。

17、下列關(guān)于邏輯運算符兩側(cè)運算對象的敘述中正確的是()。

A、只能是整數(shù)?;?

B、只能是整數(shù)?;蚍?整數(shù)

C、可以是結(jié)構(gòu)體類型的數(shù)據(jù)

D、可以是任意合法的表達(dá)式

標(biāo)準(zhǔn)答案:D

知識點解析:邏輯運算符兩側(cè)的運算對象可以是任意合法的表達(dá)式。邏輯表達(dá)式的

運算結(jié)果或者為1(“真”),或者為0(“假

18、若有說明inta[3][4];則a數(shù)組元素的非法引用是()。

A、a[0][2*l]

B、a[l][3]

C、a[4—2][0]

D、a[0][4]

標(biāo)準(zhǔn)答案:D

知識點解析:此題考查的是數(shù)組元素的引用。對于已定義的數(shù)組a[MHN],數(shù)組元

素的正確引用必須滿足行下標(biāo)小于M,列下標(biāo)小于N且為正整數(shù)。此題中,選項

D)中列下標(biāo)值出現(xiàn)溢出。

19、下列說法不正確的是()。

Asint*ptr;〃指針指向整形數(shù)據(jù)

B、char*ptr;〃指針的類型是字符型指針

C.int**ptr;〃指針的類型是雙重指針

D.int(*ptr)|3];〃是一個指針數(shù)組,數(shù)組共有三個元素,而三個元素是ini型指針

標(biāo)準(zhǔn)答案:D

知識點解析:int(*ptr)[3]是一個數(shù)組指針,指針指向一個有3個int型變量的數(shù)組。

20、有以下程序#includevoidmain。{chars口二{"01aXy");inti,n=0;for(i=0;

s[i]!=0;i++)if(s[i]<=,a,&&s[i]>=,z,)n++;printf(M%d\a",n);}程序運行后的輸出

結(jié)果是()o

A、0

B、2

C>3

D、5

標(biāo)準(zhǔn)答案:A

知識點解析:這段程序的功能求出字符串s中字符的.ASCH碼小于小寫字符a并

且大于小寫字符z的字符的個數(shù)。因為小寫字符z的ASCH碼大于小寫字符a的

ASCH碼,所以滿足a的ASCH碼并且大于z的的ASCII碼的字符是不存在的,所

以輸出0?

21、有以下程序:#includemain(){inta[]={1,2,3,4),y,*P=&a[3];-p;

y=*p:printf("y=%d\n",y);)程序的運行結(jié)果是()▽

A、y=0

B、y=l

C、y=2

D、y=3

標(biāo)準(zhǔn)答案:D

知識點解析:程序首先定義了一個一維數(shù)組和指針,接著將數(shù)組第4個元素的地址

賦給*p,進(jìn)行一p使指針p指向了數(shù)組的第3個元素;通過y二*p,將數(shù)組第3個

元素的值3賦給了v,所以選項D)正確。

22、下面的for語句的循環(huán)次數(shù)為()。for(x=l,y=0;(y!=19)&&(x<6);x++);

A、是無限循環(huán)

B、循環(huán)次數(shù)不定

C、最多執(zhí)行6次

D、最多執(zhí)行5次

標(biāo)準(zhǔn)答案:D

知識點解析?:本題考查for循環(huán)。只考慮x的取值變化,x從I取到5,可以循環(huán)5

次,但是并不知道v是如何變化的,有可能出現(xiàn)y=19提前跳出循環(huán)的情況,所以

是最多執(zhí)行了5次。

23、下列程序的輸出結(jié)果是()。#includevoidmain(){inta=0,b=l,c=2;

if(++a>0||++b>0)++C;printf(n%d,%d,%(1",a,b,c);)

A、0,1,2

B、1,2,3

C、1,1,3

D、1,2,2

標(biāo)準(zhǔn)答案:C

知識點解析:本題考查if語句。先判斷if語句的條件是否成立,因為++a=l>0,所

以條件成立,又因為是進(jìn)行邏輯或運算,在已知其中一個運算對象為真的情況下,

不必判斷另外一個運算對象的真假,即不進(jìn)行++b操作,就可以直接得出整個表達(dá)

式的值為邏輯1,執(zhí)行下面的++C。

24>有以下程序:#includemain(){intc;while((c=getcharO)!=,\n,){switch(c-,3,)

{case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:

putchar(c+3);case4:putchar(c+3);break;}}printf("\n");}從第一列開始輸入

數(shù)據(jù)(代表一個回車符):3845,則程序輸出結(jié)果為])。

A、77889

B、77868

C、776810

D、7.78866e+007

標(biāo)準(zhǔn)答案:A

知識點解析:題中while循環(huán)的條件是:當(dāng)從鍵盤讀入的字符不是時,執(zhí)行

while循環(huán)。輸入第一,個字符3時:執(zhí)行case0,H么也不輸出:case1,輸出7;

case2,輸出7;遇到break語句,跳出switch語句。輸入第二個字符8時:c

一,3?5,不執(zhí)行任何語句。輸入第三個字符4時:c」3=l,執(zhí)行easel輸出8;

case2,輸出8;遇到break語句,跳出switch語句。輸入第四個字符5時:

c-'3'=2,執(zhí)行case2,輸出9;遇到break語句,跳出switch語句。

25、C語言規(guī)定,函數(shù)返回值的類型是()。

A、由調(diào)用該函數(shù)時的主調(diào)函數(shù)類型所決定

B、由relum語句中的表達(dá)式類型所決定

C、由調(diào)用該函數(shù)時系統(tǒng)臨時決定

D、由定義該函數(shù)時所指定的數(shù)值類型決定

標(biāo)準(zhǔn)答案:D

知識點解析:本題考查函數(shù)調(diào)用時的數(shù)值類型。函數(shù)調(diào)用時,函數(shù)返回值的類型既

不由主調(diào)函數(shù)類型所決定,也不由retum語句中的表達(dá)式類型所決定,更不是由系

統(tǒng)臨時決定,而是由定義該函數(shù)時所指定的數(shù)值類型所決定。

26、執(zhí)行下列程序時輸入456〈空格>789〈空格>123(回車〉,輸出結(jié)果是()。

#includemain(){charm|80|;intc.i:scanf("%c",&c);scanff&i):

scanf("%sH,&m);printf(H%c,%d,%s\n”,c,i,m):}

A、456,789,123

B、4,789,123

C、4,56,789,123

D、4,56,789

標(biāo)準(zhǔn)答案:D

知識點解析:scanf函數(shù)中的“%c”表示通過鍵盤只讀入一個字符型的數(shù)據(jù),表

示將該數(shù)據(jù)賦值給c,所以c=4。另外,以“%d”格式讀入數(shù)據(jù)時,只有遇到空格或

者換行等間隔時符才停止讀入,所以i=56,m=7890

27、已知下列函數(shù)定義:fun(int*b,intc,intd){intk;for(k=0;k

A、fun(*a,6,14);

fun(&a,6,8);

C、fun(a,8,4):

D^fun((int)a,8,6);

標(biāo)準(zhǔn)答案:C

知識點解析:本題考查函數(shù)調(diào)用時的參數(shù)傳遞。fun函數(shù)的調(diào)用形式為

fun(int*b,intc,intd)o調(diào)用數(shù)組時,用數(shù)組名表示一個指向數(shù)組的第一個元素的指

針,因此調(diào)用時的形式為fun(a,8,4)。

28、設(shè)Y為整型變盤,A=I,A的地址為EF01;B=2,B的地址為EF02;執(zhí)行語

句8=&人;Y=&B:后Y的值()。

A、1

B、2

C、EF01

D、EF02

標(biāo)準(zhǔn)答案:D

知識點解析:&是取地址運算符,Y=&B是將B的地址賦給Y,因此Y值為

EFOIo

29有以下程序:#includeiniflintt[],intn);main(){inta[41={1,2,3,4),s;

s=f(a,2):printf("%d\n,,s):)intflintt[],intn)|if((n>O)&&(n<5))return

t[n+l]+fit,n—1);elsereturn0;}程序運行后的輸出結(jié)果是()。

A、4

B、7

C、10

D、6

標(biāo)準(zhǔn)答案:B

知識點解析:本題主要考查的是函數(shù)的遞歸調(diào)用,子函數(shù)f是一個遞歸函數(shù),所以

主函數(shù)中執(zhí)行f(a,2)時,其執(zhí)行過程是a[3]+f(a,1)=a[3]+a[2]+f(a,0)=7。

30、以下語句定義正確的是()。

A、inta[l][4]={l,2,3,4,5};

B、floata[3][]={{l,2},{2,3},{3,1)(:

C>Ionga[2][3]={{l),|1,2},{1,2,3},{0,0}};

D、doublea[][3]={8};

標(biāo)準(zhǔn)答案:D

知識點解析:本題考查如何對二維數(shù)組的元素賦值。選項A),數(shù)組第二維的大小

是4,但是卻賦值了5個元素,數(shù)組溢出;選項B),C語言規(guī)定,對于二維數(shù)組,

只可以省略第一個方括號中的常量表達(dá)式,而不能省略第二個方括號中的常量表達(dá)

式;選項C),數(shù)組第一維的大小是2,但是賦值超過了2;選項D),在對二維數(shù)

組元素賦初值時,可以只對部分元素賦初值,未賦初值的元素自動取0。

31、下列一維數(shù)組說明rfl,不正確的是()。

A、intN;oscanf("%d",&N);

B、floata][]={l,6,6,0,2);intb[N];

C>#defineS10mta^sj;

D、#defineS10inta[S+5];

標(biāo)準(zhǔn)答案:A

知識點解析:本題考查一維數(shù)組的賦值。一維數(shù)組的一般定義格式為:類掣說明符

數(shù)組名[常量表達(dá)式]。其中,“口”中的內(nèi)容可以是整型常量,也可以是整型表達(dá)

式。選項A)中的N是一個變量,所以錯誤。

32、下面函數(shù)的功能是()。sss(s,t)char*s,*t:

{while((*s)&&(*t)&&(*t+4-==*s++));return(*s-*t);}

A、將字符串S復(fù)制到字符串t中

B、比較兩個字符串的大小

C、求字符串的長度

D、將字符串s接續(xù)到字符串t中

標(biāo)準(zhǔn)答案:B

知識點解析:*s—*t的輸出實際是比較兩個字符的ASCH碼值,比較兩個字符串

的大小。

33、若已定義:inta[]={0,1,2,3,4,5,6,7,8,9),*p=a,i;其中更已

則時a數(shù)組元素不正確的引用是()。

A^a[p一a]

B、*(&a[i])

C、p[i]

D、a[10]

標(biāo)準(zhǔn)答案:D

知識點解析:此題考查對一維數(shù)組的引用。對于己定義的數(shù)組a[M],數(shù)組元素的

正確引用必須滿足下標(biāo)小于M且為正整數(shù)。選項D)中下標(biāo)值出現(xiàn)溢出。

34、以下選項中可用作C程序合法實數(shù)的是()。

A、.leO

B、3.OeO.2

C、E9

D、9.12E

標(biāo)準(zhǔn)答案:A

知識點解析:C程序的合法實數(shù)有兩種表示形式,一種是小數(shù)形式,另一種是指數(shù)

形式,對于用指數(shù)形式表示的實數(shù)來說,需要注意的是字母e或E之前必須要有數(shù)

字,且字母e或E后面的指數(shù)必須為整數(shù),所以選項A)為正確答案。

35、以下敘述中不正確的是()。

A、預(yù)處理命令行都必須以W}號開始,結(jié)尾不加分號

B、在程序中凡是以#號開始的語句行都是預(yù)處理命令行

C、C程序在執(zhí)行過程中對預(yù)處理命令進(jìn)行處理

D、預(yù)處理命令可以放在程序中的任何位置

標(biāo)準(zhǔn)答案:C

知識點解析:本題考查預(yù)處理命令的特點。編譯預(yù)處理命令的特點有:①為了區(qū)

分一般的語句,預(yù)處理命令行都必須以#開始,結(jié)尾不加分號:②預(yù)處理命令可以

放在程序中的任意位置;③在程序中凡是以#開始的語句都是預(yù)處理命令行。

36、以下程序的輸出結(jié)果是()。#include#defineF(x)2.84+x#definew(y)printf("%

d-L(int)(y))#defineP(y)w(y)main(){intx=2:P(F(5)*x);}

A、12

B、13

C、14

D、16

標(biāo)準(zhǔn)答案:A

知識點解析:本題考查帶參數(shù)的宏定義及相關(guān)運算。

P(F(5)*x)=P(2.84+5*2)=P(12.84),調(diào)用w(12.84),輸出(int)(12.84)=12。

37設(shè)有下面的定義:Stnuctst{inta;floatb:}d;int*p;要使P指向結(jié)構(gòu)變

量d中的a成員,正確的賦值語句是()。

A、*p=d.a;

B、p=&a;

C>p=d.a;

D、p=&d.a;

標(biāo)準(zhǔn)答案:D

知識點解析:小題豐要考查按結(jié)構(gòu)數(shù)組元素方式引用結(jié)構(gòu)成員。結(jié)構(gòu)體變量的成

員引用方法有3種:①結(jié)構(gòu)體變量名,成員名;②指針變量名,成員名;③產(chǎn)指

針變量名),成員名。因為p是指針變量,所以應(yīng)該將地址值賦給p。

38、交換兩個變量的值,不允許用臨時變量,應(yīng)該使用下列()位運算符。

A、&

B、A

C、||

D、?

標(biāo)準(zhǔn)答案:B

知識點解析:按邏輯化運算的特定作用主要有3點:①用按位與運算將特定位清0

或保留特定位;②用按位或運算將特定的位置設(shè)置為1;③用按位異或運算將某

個變量的特定位翻轉(zhuǎn)或交換兩個變量的值。

39、如果需要打開一個已經(jīng)存在的非牢文件“FILE”并進(jìn)行修改,正確的語句是()。

A、fp=fopen("FILEM,T);

B、fp=fopen("HLE",na+");

C、fp=fopen(',FILE","w+");

D、fp=fopen("FILEM,,+”);

標(biāo)準(zhǔn)答案:D

知識點解析:本題考查打開文件函數(shù)fopen(),打開文件函數(shù)fopen()的調(diào)用形式

為:fp=fopen(文件名,文件使用方式)?!蔽募褂梅绞健闭f叫:方式“r”為以輸入方

式打開一個文本文件;方式“a+”為以讀/寫方式打開一個文本文件,保留文件中原

有的數(shù)據(jù);方式“w+”為以讀寫方式建立一個新的文本文件;方式“什”為以讀/寫方

式打開一個文本文件。

二、程序填空題(本題共1題,每題1.0分,共1分。)

40、給定程序的功能是:從鍵盤輸入若干行文本(每行不超過80個字符),寫到文

件myfilc4.txt中,用-1作為字符串輸入結(jié)束的標(biāo)志。然后將文件的內(nèi)容讀出顯示

在屏幕上。文件的讀寫分別由自定義函數(shù)ReadTexl和WriteText實現(xiàn)。請在程序

的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。注意:源

程序存放在考生文件夾下的BLANKI.C中。不得增行或刪行,也不得更改程序

的結(jié)構(gòu)!#include#include#includevoidWrJ_teText(FTLE*);void

Readq?ext(FTLE*);raain()(FTLE*fp;if((fp=fopen("myfile4.txt",nw"))

==NULL){printf("openfail!!\n");exit(O);)WriteText(fp);fclose(fp);

if((fp=fopen("myfile4.txt","r"))==NULL){printf("openfail!!\n");exit(O);}

ReadText(fp);fclose(fp):}/**********found**********/void

WriteText(FILE1){charstr|81];printf("\nEnterstringwith-1toend:

\n");gets(str);while(strcrnp(str,"-1H)!=0){/**********found**********/

fputs(2,fw)jfputs("\n",fw):gets(str);))voidReadText(FTLE*fr)

{charstr[81];printff'\nReadfileandoutputtoScEeen:\nH);fgets(str,81,fr);

while(!leof(fr)){/**********fOund**********/prinlf("%s",3);

fgets(str,81,fr);}}

標(biāo)準(zhǔn)答案:(1)*fw(2)str(3)str

知識點解析:第一空:此處是補(bǔ)充函數(shù)參數(shù)名,參數(shù)類型已知是FILE文件指針,

fputs(”\n”,fW)是將字符“\11”寫入文件,可知fW是文件指針名,因此第一空處應(yīng)

該是voidWriteText(FlLE*fw)0第二空:while(strcmp(str,"-l")!=0)循環(huán)的結(jié)束標(biāo)志

是str字符串等于時循環(huán)退出,如果sir不等于執(zhí)行循環(huán)體內(nèi)容:用fputs

函數(shù)將str字符串寫入文件。fputs函數(shù)的調(diào)用形式是:fputs(s,fp),其中s是居向

字符串的指針或字符半數(shù)組名,fp是指向?qū)⒁粚懭氲奈募奈募羔?,因此?/p>

二處應(yīng)該是fpuls(str,fw)。第三空:while(!feof(fr))循環(huán)的作用是不斷讀取文件直

到到達(dá)文件尾,每次最多讀81個,將讀到的數(shù)據(jù)放在str字符串里,并用primf輸

出到屏幕,因此第三處應(yīng)該是printf("%s”,str)。

三、程序修改題(本題共I題,每題7.0分,共I分°)

41、給定程序MODI1.C中函數(shù)fun的功能是:將字符串中的字符按逆序輸出,

但不改變字符串中的內(nèi)容。例如,若字符串為abed,則應(yīng)輸出:debao請改正程

序中的錯誤,使它能計算出正確的結(jié)果v注意:不要改動main函數(shù),不得增行或

刪行,也不得更改程序的結(jié)構(gòu)!#includc/************fOund************/funfehar

a){if(*a){fun(a+l);/x***********氏)und*******x****/printf("%c"*a).}}

main(){chars[10]=Habcd";printf("處理前字符Ig=%s\n處理后字符串二",s);

fun(s);printf("\n");)

標(biāo)準(zhǔn)答案:(1)voidfun(char*a)(2)prinlf("%c'\*a):

知識點解析:(1)主函數(shù)中“fun(、s):”語句中的s是數(shù)組名,所以在fun函數(shù)中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論