[计算机类试卷]国家二级C语言机试(操作题)模拟试卷355及答案与解析.doc

上传人:deputyduring120 文档编号:498296 上传时间:2018-11-28 格式:DOC 页数:6 大小:31.50KB
下载 相关 举报
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷355及答案与解析.doc_第1页
第1页 / 共6页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷355及答案与解析.doc_第2页
第2页 / 共6页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷355及答案与解析.doc_第3页
第3页 / 共6页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷355及答案与解析.doc_第4页
第4页 / 共6页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷355及答案与解析.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、国家二级 C语言机试(操作题)模拟试卷 355及答案与解析 一、程序填空题 1 给定程序中,函数 fun的作用是:不断从终端读入整数,由变量 a统计大于 0的个数,用变量 c来统计小于 0的个数,当输入 0时结束输入,并通过形参 pa和 pb把统计的数据传回主函数进行输出。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1 C中。 不得增行或删行,也不得更改程序的结构 ! 1 #include stdio h 2 void fun(int *px, int *py) 3 4 *found* 5 int_(1)_; 6 sca

2、nf( d, k); 7 *found* 8 while_(2)_ 9 if(k 0) a+; 10 if(k 0)b+; 11 *found* 12 _(3)_; 13 14 *px=a; *py=b; 15 main() 16 int x, y; 17 fun( 29 chrstrd= ; 30 chrstrd+1=0 ; 31 printf( n nBefore changing: n s, chrstr); 32 fun(chrstr); 33 printf( nAfter changing: n s, chrstr); 34 三、程序设计题 3 请编写一个函数 fun,它的功能是:比

3、较两个字符串的长度, (不得调用 C语言提供的求字符串长度的函数 ),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。 例如,输入 beijing CR shanghai CR ( CR为回车键 ),函数将返回shanghai。 注意:部分源程序存在文件 PROG1 C中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 1 #include stdio h 2 char *fun(char *s, char *t) 3 4 5 main() 6 char a20, b20; 7 void NONO(); 8 printf(In

4、put: 1th string:); 9 gets(a); 10 printf(Input 2th string :); 11 gets(b); 12 printf( s n, fun(a, b); 13 NONO(); 14 15 void NONO() 16 *本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 * 17 FILE *fp, *wf; 18 int i; 19 char a20, b20; 20 fp=fopen(in dat, r); 21 wf=fopen(out dat, w); 22 for(i=0; i 10; i+) 23 fscanf(fp, s s

5、, a, b); 24 fprintf(wf, s n, fun(a, b); 25 26 fclose(fp); 28 fclose(wf); 国家二级 C语言机试(操作题)模拟试卷 355答 案与解析 一、程序填空题 1 【正确答案】 (1)a=0,c=0,k (2) (k!=0) (3)scanf( d, 即让我们输入 k的数据,再根据题意,就可以知道这里的 k是我们不断输入的整数,而整个程序也仅仅需要这一个数据的输入,所以这一空定义的就是我们需要输入的数据 k,同时下面出现在 a, c也都没有 定义,所以这一空应该填“a=0,c=0,k”。 第二空: “while(2); ”这一空出现

6、在 fun函数中的 while循环中,是要给出 while循环的条件语句。根据题意我们就可以知道,这里循环是只要数字不 0就一直进行,而 while循环内部也能看到 k 0和 k 0时的统计步骤,所以这里 while循环应该就是 while循环的终止条件, k不等于即可,即这一空应该填 “(k!=0)”(注意这里应该加上条件语句应有的括号 )。第三空: “(3) ; ” 这一空在 while循环中,此 while循环是数字的判定函数。这一空 前面已经有了对于数字大于 0或者小于 0的判断,也有相应的 a+和 c+来进行个数统计,但是我们会发现这里功能已经齐全,只不过没有达到题目要求的不断的输入,所以这里循环还要继续输入 k的值才能实现题目所达到的要求,所以这一空应该填的是 “scanf( d,16 return p; 【试题解析】 进入 fun函数,根据前面的分析: (1)首先求得字符串的长度,设变量 n和 m分别用来求字符串的长度,初值设为0,把字符串中的字符逐个访问,每访问一个字符, n和 m分别加 1,直到字符串结束; (2)使用两个临时指针变量 p、 q分别作为访问字符串的变量; (3)根据 m和 n的值返回串,设置指针 p,指向返回串的开始地址。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1