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

  • 發(fā)布時(shí)間:2024-09-15 16:21:23
  • 來源:本站整理
  • 閱讀:
導(dǎo)讀:
  8.1 單項(xiàng)選擇題
  1.若與文件型指針中相關(guān)聯(lián)的文件的當(dāng)前讀位置已到了文件的末尾,則函數(shù)feof(fp)的返回值是( )
  ①0 ②-l
 ?、鄯橇阒?#32;④NULL
  「解」當(dāng)調(diào)用fopen函數(shù)時(shí),系統(tǒng)將為實(shí)參文件設(shè)定一個(gè)存放文件讀寫控制信息的控制塊。該控制塊記錄有關(guān)文件持征、使用方式,當(dāng)前讀寫位置等文件狀態(tài),并將該控

8.1 單項(xiàng)選擇題

1.若與文件型指針中相關(guān)聯(lián)的文件的當(dāng)前讀位置已到了文件的末尾,則函數(shù)feof(fp)的返回值是( )

①0 ②-l

③非零值 ④NULL

「解」當(dāng)調(diào)用fopen函數(shù)時(shí),系統(tǒng)將為實(shí)參文件設(shè)定一個(gè)存放文件讀寫控制信息的控制塊。該控制塊記錄有關(guān)文件持征、使用方式,當(dāng)前讀寫位置等文件狀態(tài),并將該控制塊的指針返回,作為文件指針變量的值。以后程序通過該指針調(diào)用函數(shù)時(shí),系統(tǒng)能訪問到這個(gè)控制塊,利用該文件控制塊中的控制信息,正確完成文件的讀或?qū)?。所以文件指針并不真正指向文件?dāng)前讀寫位置,但通過文件指針,系統(tǒng)能在文件控制塊中訪問文件的當(dāng)前讀寫位置。若某文件與文件指針中相關(guān)聯(lián)著,該文件的當(dāng)前讀寫位置在文件的末尾時(shí),函數(shù)調(diào)用feof(fp)的返回值是一個(gè)非零值。所以正確解答是③。

2.下列語句中,將C定義為文件型指針的是( )

① FILE c; ② FILE *c; ③ file c; ④ file *c;

「解」如上題所述,文件控制塊的類型已由系統(tǒng)命名為FILE.所以定義文件指針變量是C,就得用代碼:“FILE *c;”。所以正確解答是②。

3.標(biāo)準(zhǔn)庫函數(shù)fputs(pl,p2)的功能是( )

①從pl指向的文件中讀一個(gè)字符率存入p2指向的內(nèi)存

②從p2指向的文件中讀一個(gè)字符串存入pl指向的內(nèi)存

③從pl指向的內(nèi)存中的一個(gè)字符串輸出到p2指向的文件

④從p2指向的內(nèi)存中的一個(gè)字符串輸出到pl指向的文件

「解」標(biāo)準(zhǔn)函數(shù)調(diào)用fputs(p1,p2)完成的功能是將由字符指針pl所指的字符串內(nèi)容輸出到與文件指針p2相關(guān)聯(lián)的文件中,即將從pl所指的內(nèi)存中的字符串內(nèi)容輸出到p2所指向的文件中。所以正確解答是③。

8.2 填充題

1.“FILE *p”的作用是定義一個(gè)______,其中的“FILE”是在________頭文件中定義的。

「解」代碼“FILE *p”的作用是定義一個(gè)文件指針變量,其中的FILE是在標(biāo)準(zhǔn)輸入輸出頭文件stdio.h中定義的。

2.在對文件進(jìn)行操作的過程中,若要求文件的現(xiàn)行位置回到文件的開頭,應(yīng)當(dāng)調(diào)用的函數(shù)是_______函數(shù)。

「解」若要讓文件隨機(jī)地從某個(gè)現(xiàn)行位置回到文件的開頭,可調(diào)用庫函數(shù)rewind( )。

f2);

}

fclose(f1);

fclose(f2);

}

「解」程序首先以讀方式打開文件pl.c,以寫方式打開文件P2.c.程序在文件pl.c未結(jié)束之前讀入l000個(gè)字符復(fù)制到文件p2.c.然后關(guān)閉這兩個(gè)文件。所以程序的功能是將文件pl.c的前l(fā)000個(gè)字符復(fù)制到文件p2.c.子目錄字符‘\’在C語言中作為轉(zhuǎn)義字符的引導(dǎo)字符,若在字符串中要用這個(gè)字符,必須雙寫該字符。如C盤根目錄tc子目錄文件p1.c,在C程序中應(yīng)寫成字符串“c:\\tc \\pl.c.

2.假定在當(dāng)前盤當(dāng)前目錄下有2個(gè)文本文件,其名稱和內(nèi)容如下:

文件名 al.txt a2.txt

內(nèi)容 121314 # 252627#

寫出運(yùn)行下列程序后的輸出。

# include

# include

void fc( FILE *);

main()

{ FILE *fp;

if( fP= fopen(“al.txt”, “r”))== NULL)

{ printf(“Can not open file! \n”);

exit(l);

}

else{ fc(fp); fclose(fp); }

if(( fp = fopen(“a2.txt”,“r”))==NULL)

{ printf(“Can not open file! \n”);

exit(1);

}

else { fc(fp); fclose(fp); }

}

void fc(fp1)

FILE *fpl;

{ char c;

while((c=fgetc(fpl))?。健?’) putchar(c);

}

「解」程序以讀方式打開文件a1.txt,若能正常打開,則調(diào)用函數(shù)fc.接著同樣地,以讀方式打開文件a2.txt,若能正常打開,也調(diào)用函數(shù)fc.函數(shù)企從指定的文件讀入字符,在讀入字符不是字符‘#’情況下循環(huán),將讀人字符輸出。對于文件a1.txt,程序輸出121314,對于文件a2.txt,程序輸出252627.所以程序輸出121314252627.

相關(guān)閱讀

熱門標(biāo)簽

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

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

熱門文章