計算機二級 C語言 程式填空題 190107記錄

2022-08-23 12:57:12 字數 1680 閱讀 5600

//給定程式的功能是:呼叫fun函式建立班級通訊錄。通訊中記錄每位學生的編號,姓名和**號碼。班級的人數和學生的資訊從鍵盤讀入,每個人的資訊作為乙個資料塊(代表要使用結構體)寫到名為myfile5.dat的二進位制的檔案中。

//重要點:1,資料塊結構體的定義和使用。2,檔案指標的定義以及對檔案的讀寫操作。3,結構體的定義和使用。

#include

#include

//包含工程所需要的標頭檔案,為什麼呢?因為之後會用到這些標頭檔案中定義的函式。

#define n 5

//定義乙個變數的值為5,以後用到n的時候,就是5。

typedef struct [名稱]

int num;

char name[10];

char tel[10];

}stype;

//c語言可以定義新型別,把這個結構體的新型別名稱定義為stype,以後使用stype就可以。(這裡是無名結構體)

void check();

//函式的宣告。如果函式是在呼叫的後面定義的,那麼就要進行宣告。

int fun(stype *std)

file *fp;

int i;

if((fp=fopen("myfile5.dat","wb"))==null)  return (0);//開啟檔案格式為二進位制可寫格式

printf("\noutput data to file !\n");

for(i=0;ifwrite(&std[i],sizeof(stype),1,fp);//指標使用時,不需要加*,定義的時候需要。

fclose(fp);//關閉檔案

return(1);

main()

stype s[10]=,,,,};

//stype為結構體型別,定義的時候直接使用。

int k;

k=fun(s);//呼叫fun()函式,把函式返回值賦予k,函式作用,把結構體內容,輸入到指定檔案中。

if(k==1)

printf("succeed!");

check();//函式作用,把指定檔案中的內容顯示。

else

printf("fail!");

void check()

file *fp;//定義了乙個檔案指標fp.

int i;

stype s[10];//定義結構體陣列。

if((fp=fopen("myfile5.dat","rb"))==null)

//開啟檔案,呼叫檔案開啟函式fopen,檔案指標進行判斷是否為空。"rb"格式開啟檔案(二進位制唯讀格式)

printf("fail !!\n");

exit(0);//終止程式的執行。

printf("\nread file and output to screen:\n");

printf("\n  num  name  tel\n");

for(i=0;ifread(&s[i],sizeof(stype),1,fp);

//fread()函式,從檔案中開始讀取資料,第乙個引數,從哪個位置開始讀,第二個引數一次讀多長,第三個引數一次讀這個長度的幾個,第四個引數,指標變數代表檔案。

printf("%6d  %s  %s\n",s[i].num,s[i].name,s[i].tel);//結構體輸出格式。

fclose(fp);//把檔案關閉。

計算機等級考試二級C語言上機填空題題1

填空題 程式通過定義學生結構體變數,儲存了學生的學號 姓名和3門課的成績。函 數fun的功能是對形參b所指結構體變數中的資料進行修改,最後在主函式中輸出修改後的資料。例如 b所指變數t中的學號 姓名 和三門課的成績依次是 10002 zhangqi 93 85 87,修改後輸出t中的資料應為 100...

計算機等級考試二級C語言上機填空題2

填空題 給定程式中,函式fun的功能是 統計形參s所指字串中數字字元出現的次數,並存放在形參t所指的變數中,最後在主函式中輸出。例如,形參s所指的字串為 abcdef35adgh3kjsdf7。輸出結果為 4。請在程式的下劃線處填入正確的內容並把下劃線刪除,使程式得出正確的結果。注意 源程式存放在考...

計算機二級C語言上機考試填空題及答案3

填空題 請補充main函式,該函式的功能是 從鍵盤輸入兩個字串並人別儲存在字元數組成str1 t 和str2中,用字串str2 替換字串聯str1前面的所有字元,注意 str2的長度不大於str1,否則需要重新輸入.例如,如果輸入不敷出str1 abced str2 gg 則輸出ggced.僅在橫線...