2014年计算机二级C语言上机模拟试题84

发布时间:2019-02-04 19:03:59

 给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 

注意:源程序存放在考生文件夹下的BLANK1.C中。 

不得增行或删行,也不得更改程序的结构! 

给定源程序: 

#include  

#include  

#define N 5 

typedef struct 

{ int num; 

char name[10]; 

char tel[10]; 

}STYPE; 

void check(); 

int fun(___1___ *std) 

___2___ *fp; int i; 

if((fp=fopen("myfile5.dat","wb"))==NULL) 

return(0); 

printf("nOutput data to file !n"); 

for(i=0; i

 解题思路: 

本题是要求把指定的学生记录输出到指定的文件中。程序中共有三处要填上适当的内容,使程序能运行出正确的结果。 

第一处:结构定义自变量,因此应填写STYPE。 

第二处:在所填行的下面一行,使用fopen来创建一个二进制文件,但文件流的变量名fp已经给出,这样,此处只能填写FILE。 

每三处:fwrite是把变量中的内容写入指定文件中,再根据fwrite参数的使用要求,所以只能填写文件流变量fp。 

*************************************************** 

给定程序MODI1.C中函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串的后面。 

例如:当s中的字符串为:"ABCDE"时,则t中的字符串应为:"ABCDEEDCBA"。 

请改正程序中的错误,使它能得出正确的结果。 

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 

给定源程序: 

#include  

#include  

void fun (char *s, char *t) 

{ int i, sl; 

sl = strlen(s); 

for( i=0; i<=s1; i  ) 

t[i] = s[i]; 

for (i=0; i

 解题思路: 

第一处:变量sl错写成了s1。 

第二处:新串t的字符串结束位置不正确,应该是两倍的sl距离。 

*************************************************** 

函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上, b数的十位和个位数依次放在c数的百位和个位上。 

例如,当a=45,b=12时,调用该函数后,c=4152。 

注意: 部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。 

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 

给定源程序: 

#include  

void fun(int a, int b, long *c) 

main() 

{ int a,b; long c; 

printf("Input a, b:"); scanf("%d,%d", &a, &b); 

fun(a, b, &c); 

printf("The result is: %dn", c); 

NONO(); 

解题思路: 

本题是给出两个两位数的正整数分别取出各位上的数字,再按条件组成一个新数。 

取a十位数字的方法:a/10 

取a个位数字的方法:a 

参考答案: 

void fun(int a, int b, long *c) 

*c=(a/10)*1000 (b/10)*100 (a)*10 (b); 

※※※※※※※※※※※※※※※※※※※※※※※※※

阅读更多其他试题,请访问生活日记网 用日志记录点滴生活!考试试题频道。
喜欢考试试题,那就经常来哦

该内容由生活日记网提供.