導語:勤加練習是通過計算機等級考試的有效方式,以下是小編為大家精心整理的計算機二級C語言上機精選模擬題及答案,歡迎大家參考!
給定程式的功能是呼叫fun函式建立班級通訊錄。通訊錄中記錄每位學生的編號、姓名和電話號碼。班級的人數和學生的資訊從鍵盤讀入,每個人的資訊作為一個數據塊寫到名為的二進位制檔案中。
請在程式的下劃線處填入正確的.內容並把下劃線刪除,使程式得出正確的結果。
注意:源程式存放在考生資料夾下的BLANK1.C中。
不得增行或刪行,也不得更改程式的結構!
給定源程式:
#include
#include
#defineN5
typedefstruct
{intnum;
charname[10];
chartel[10];
}STYPE;
voidcheck();
intfun(___1___*std)
{
___2___*fp;inti;
if((fp=fopen("","wb"))==NULL)
return(0);
printf("Outputdatatofile!");
for(i=0;i fwrite(&std[i],sizeof(STYPE),1,___3___);
fclose(fp);
return(1);
}
main()
{STYPEs[10]={{1,"aaaaa","111111"},{1,"bbbbb","222222"},{1,"ccccc","333333"},
{1,"ddddd","444444"},{1,"eeeee","555555"}};
intk;
k=fun(s);
if(k==1)
{printf("Succeed!");check();}
else
printf("Fail!");
}
voidcheck()
{FILE*fp;inti;
STYPEs[10];
if((fp=fopen("","rb"))==NULL)
{printf("Fail!!");exit(0);}
printf("Readfileandoutputtoscreen:");
printf("numnametel");
for(i=0;i {fread(&s[i],sizeof(STYPE),1,fp);
printf("m%s%s",s[i],s[i],s[i]);
}
fclose(fp);
}
解題思路:
本題是要求把指定的學生記錄輸出到指定的檔案中。程式中 共有三處要填上適當的內容,使程式能執行出正確的結果。
第一處:結構定義自變數,因此應填寫STYPE。
第二處:在所填行的下面一行,使用fopen來建立一個二進位制檔案,但檔案流的變數名fp已經給出,這樣,此處只能填寫FILE。
每三處:fwrite是把變數中的內容寫入指定檔案中,再根據fwrite引數的使用要求,所以只能填寫檔案流變數fp。
***************************************************
給定程式MODI1.C中函式fun的功能是:先將在字串s中的字元按正序存放到t串中,然後把s中的字元按逆序連線到t串的後面。
例如:當s中的字串為:"ABCDE"時,則t中的字串應為:"ABCDEEDCBA"。
請改正程式中的錯誤,使它能得出正確的結果。
注意:不要改動main函式,不得增行或刪行,也不得更改程式的結構!
給定源程式:
#include
#include
voidfun(char*s,char*t)
{inti,sl;
sl=strlen(s);
for(i=0;i<=s1;i++)
t[i]=s[i];
for(i=0;i t[sl+i]=s[sl-i-1];
t[sl]=’