历年全国计算机级考试_二级C语言上机考试题库及答案.doc
文本预览下载声明
填空
给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号,姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。
请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.c中 不得增行或删行,也不得更改程序的结构!
void check ;
/**********found**********/
int fun ___1___ *std /**********found**********/ ___2___ *fp; int i; if fp fopen myfile5.dat,wb NULL return 0 ; printf \nOutput data to file !\n ; for i 0; i N; i++
/**********found**********/ fwrite std[i], sizeof STYPE , 1, ___3___ ; fclose fp ; return 1 ; 修改
给定程序MODI1.C中函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串后面。
例如:当s中的字符串为:“ABCDE”时, 则他中的字符串应为:“ABCDEEDCBA”。
请改正程序中的错误,使他能得出正确的结果。
注意:不要改动main函数,不能增行或删行,也不得更改程序的结构!
void fun char *s, char *t int i, sl; sl strlen s ;
/************found************/ for i 0; i s1; i ++ t[i] s[i]; for i 0; i sl; i++
t[sl+i] s[sl-i-1];
/************found************/ t[sl] \0; 程序
函数fun的功能是:将两个两位数的正整数a,b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。
例如:a 45,b 12时,调用该函数后,c 4152.
注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
答案: B: STYPE FILE fp
M: for i 0 ; i sl ; i++ t[2*sl] 0;
P: *c a/10 *1000+ b/10 *100+ a%10 *10+ b%10 ;
填空
给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标记。然后将文件的内容读出显示在屏幕上。文件的读写分别有自定义函数ReadText和WriteText实现。
请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.c中 不得增行或删行,也不得更改程序的结构!
main FILE *fp; if fp fopen myfile4.txt,w NULL printf open fail!!\n ; exit 0 ; WriteText fp ; fclose fp ; if fp fopen myfile4.txt,r NULL printf open fail!!\n ; exit 0 ; ReadText fp ; fclose fp ; /**********found**********/
void WriteText FILE ___1___ char str[81]; printf \nEnter string with -1 to end :\n ; gets str ; while strcmp str,-1 ! 0 /**********found**********/ fputs ___2___,fw ; fputs \n,fw ; gets str ; void ReadText FILE *fr char str[81]; printf \nRead file and output to screen :\n ; fgets str,81,fr ; while !feof fr /**********found**********/ printf %s,___3___ ;
显示全部