- 相關推薦
計算機二級C語言上機精選模擬題及答案
導語:勤加練習是通過計算機等級考試的有效方式,以下是小編為大家精心整理的計算機二級C語言上機精選模擬題及答案,歡迎大家參考!
給定程序的功能是調用fun函數建立班級通訊錄。通訊錄中記錄每位學生的編號、姓名和電話號碼。班級的人數和學生的信息從鍵盤讀入,每個人的信息作為一個數據塊寫到名為myfile5.dat的二進制文件中。
請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結構!
給定源程序:
#include
#include
#defineN5
typedefstruct
{intnum;
charname[10];
chartel[10];
}STYPE;
voidcheck();
intfun(___1___*std)
{
___2___*fp;inti;
if((fp=fopen("myfile5.dat","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("myfile5.dat","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].num,s[i].name,s[i].tel);
}
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]=’ 主站蜘蛛池模板: 榆林市| 南雄市| 泾川县| 伽师县| 老河口市| 金川县| 新乐市| 汝城县| 裕民县| 密山市| 百色市| 伽师县| 繁昌县| 宜兴市| 新和县| 竹北市| 和林格尔县| 承德市| 黄浦区| 荣成市| 文昌市| 隆安县| 白水县| 香港 | 宜黄县| 习水县| 玉屏| 手游| 青海省| 台东县| 凌云县| 利辛县| 福安市| 集贤县| 大洼县| 温州市| 马鞍山市| 育儿| 沙雅县| 宁都县| 江源县|