1、国家二级( C语言)机试模拟试卷 165及答案与解析 一、程序填空题( 30分) 1 给定程序中,函数 fun的功能是:将形参 s所指字符串中所有 ASC 码值小于97的字符存入形参 t所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。 例如,形参 s所指的字符串为: Abc1x56*,程序执行后 t所指字符数组中的字符串应为: A156*。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANKl C中。 不得增行或删行,也不得更改程序的结构 ! #include int fun(char * s, char
2、 * t) int n=0; while(*s) if(*s int fun(int m) int k=2; while(kshanghai(为回车键 ),函数将返回 shanghai。 注意:部分源程序存在文件 PROGl C中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 #include char*fun(char*s, char*t) main() char a20, b20; void NONO(); printf(“Input lth string: “); gets(a); printf(“Input 2th string:
3、“); gets(b); printf(“ s n“, fun(a, b); NONO(); void NONO() ( *本函数用于打开文件,输入数据,调用函 数,输出数据,关闭文件。 * FILE*fp, *wf; int i ; char a20, b20; fp=fopen(“in dat“, “r“); wf=fopen(“out dat“, “W“); for(i=0; i=m) 比较 m和 n的值,设置 p 指向较大的指针 p=s; else p=t; return p; 【试题解析】 进入 fun函数,根据前面的分析: (1)首先求得字符串的长度,设变量 n和 m分别用来求字符串的长度,初值设为0,把字符串中的字符逐个访问,每访问一个字符, n和 m分别加 1,直到字符串结束。 (2)使用两个临时指针变量 p、 q分别作为访问字符串的变量。 (3)根据 m和 n的值返回串,设置指针 p,指向返回串的开始地址。