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

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

1、国家二级 C语言机试(操作题)模拟试卷 298及答案与解析 一、程序填空题 1 下列给定程序中,函数 fun的功能是:将自然数 1一 10及其平方根写到名为myfile3 txt的文本文件中,然后再顺序读出显示在屏幕上。 请在程序下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构 ! 试题程序: #include math h #include stdio h int fun(char*fname) FILE*fp; int i, n; float x; if (fp=fopen(fname, “w“) =NULL)

2、return 0, for(i=1; i =10; i+) *found* fprintf(【 1】 , “ d f n“, i, sqrt(double)i); printf(“ nSucceed! n“); *found* 【 2】 ; printf(“ nThe data in file: n“); *found* if(fp=fopen(【 3】 , “r“)= NULL) return 0; fscanf(fp, “ d f“, n, x); while(!feof(fp) printf(“ d f n“, n, x); fscanf(fp, “ d f“, n, x); ) fcl

3、ose(fp); return 1; main() char fname=“myfile3 txt“; fun(fname); 二、程序修改题 2 下列给定程序中,函数 fun的功能是:比较两个字符串,将长的字符串的首地址作为函数值返回。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件 MODI1 C中,不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! 试题程序: #include conio h #include stclio h *found* double fun(char*s, char*t) int s1=0, t1=0; char*ss, *tt

4、; ss=s; tt=t; while(*ss) s1+; *found* (*ss)+; while(*tt) t1+; *found* (*tt)+; if(t1 s1) return t; else return s; void main() char a80, b80; printf(“ nEnter a string: “); gets(a); printf(“ nEnter a string again: “); gets(b); printf(“ nThe longer is: n n S n“, fun(a, b); 三、程序设计题 3 请编写函数 fun,该函数的功能是:统计

5、一行字符串中单词的个数,作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。 注意:部分源程序在文件 PROG1 C中。 请勿改动 main函数和其他函数中的任何内容,仅在函数 fun的花括号中填入所编写的若干语句。 试题程序: 1 #include string h 2 #inclucte stdio h 3 #define N 80 4 int fun(char*s) 5 6 7 8 void main() 9 10 FILE*wf; 11 char lineN; 12 int num=0; 13 printf(“Enter a

6、string: n“); 14 gets(line); 15 num=fun(line); 16 printf(“The number of wordis: d n n“, num); 17 *found* 18 wf=fopen(“out clat“, “w“); 19 fprintf(wf, “ d“, fun(“a big car“); 20 fclose(wf); 21 *found* 22 国家二级 C语言机试(操作题)模拟试卷 298答案与解析 一、程序填空题 1 【正确答案】 (1)fp (2)felose(fp) (3)fname 【试题解析】 填空 1: fprinff函数的

7、形式是: fprintf(文件指针,格式字符串,输出表列 );,所以填入文件指针 fp。 填空 2:文件 一旦使用完毕,应使用关闭函数 fclose将文件关闭,以避免发生文件数据丢失等错误。 填空 3: fopen函数用来打开一个文件,其一般形式为:文件指针名 =fopen(文件名,使用文件方式 );因此应填入文件名 fname。 二、程序修改题 2 【正确答案】 (1)char*fun(char*s, char*t) (2)ss+; (3)tt+; 【试题解析】 (1)在主函数的输出语句中,函数 fun是以字符串格式输出的,所以定义函数时应为 char*fun(char*s, chat*t)

8、。 (2)和 (3)这里 是地址加 1,而不是内容加 1,所以改为 ss+和 tt+。 三、程序设计题 3 【正确答案】 int fun(char *s) int i, j=0; for(i=0 ; si!= 0; i+) if(si!= (si+1=si+1= 0) *如果一个字母的下一个字符为空格或者结束标记,则表示一个单词结束 * j+; return j; *返回单词个数 * 【试题解析】 要判断单词的个数,首先想到 的是程序怎样识别出一个单词,如果一个字母的下一个字符为空格或者结束标记,则表示一个单词结束,因此程序使用 for循环语句遍历整个字符串,用 if条件语句判断当前字符是否表示一个单词的结束,如果当前字符表示一个单词结束,则存放单词个数的变量加 1,最后返回单词的个数。

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

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

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