首页 > 全部 > 二级C语言 > 国家二级C语言机试(操作题)模拟试卷696

国家二级C语言机试(操作题)模拟试卷696

本单篇文档共3800字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 章节练习 3382人下载
价格: 0.60 原价:¥9.60
收藏

国家二级C语言机试(操作题)模拟试卷696

程序填空题

1.给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WfiteText实现。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

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

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

1 #include<stdio.h>

2 #include<string.h>

3 #include<stdlib.h>

4 void WriteText(FILE *);

5 void ReadText(FILE *);

6 main()

7 {FILE *fp;

8 if((fp=fopen(’’myfile4.txt’’,’’w’’))==NULL)

9 { printf(’’open fail!!\n’’);exit(0);}

10 writeText(fp);

11 fclose(fp);

12 if((fp=fopen(’’myfile4.txt’’,’’r’’))==NULL)

13 {printf(’’open fail!!\n’’);exit(0);}

14 ReadText(fp);

15 fclose(fp);

16 }

17 /**********found**********/

18 void WriteText(FILE ___1___ )

19 { char str[81];

20 printf(’’\nEnter string with -1 to end:\n’’),

21 gets(str);

22 while(strcmp(str,’’-1’’)!=0) {

23 /**********found**********/

24 fputs(___2___,fw); fputs(’’\n’’,fw);

256 gets(sir);

26 }

27 }

28 void ReadText(FILE *fr)

29 { char str[81];

30 printf (’’\nRead file and output to screen:\n’’);

31 fgets(sir,81,fr);

32 while(!leof(fr)) {

33 /**********found**********/

34 printf(’’%s’’,___3____);

35 fgets(sir,81,fr);

36 }

37 }

(1)*fw

(2)str

(3)str

解析:本题要求是把一段文本写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。主要考查文件操作以及fputs和fgets函数的使用。

第一空:此处是补充函数参数名,参数类型已知是FILE文件指针,“fputs(’’\a\\

程序修改题

2.给定程序MODI1.C中函数fun的功能是:从低位开始取出长整型变量S中奇数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。

例如,当S中的数为:7654321时,t中的数为:7531。

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

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

1 #include<stdio.h>

2 /**********found**********/

3 void fun(long s,long t)

4 { long si=10;

5 *t=s%10;

6 while(s>0)

7 { s=s/100;

8 *t= s%10 *s1+*t;

9 /**********found**********/

10 s1=s1*100;

11 }}

12 main()

13 {long s,t;

14 printf(’’\nPlease enter s:’’);scanf(’’%1d’’,&s);

15 fun(s,&t);

16 printf(’’The result is:%1d\n’’,t);

17 }

(1)void fun (long s,long*t)

(2)s1=s1*10;

解析:本题中函数的功能是依次取出奇数位上的数。该题的解题思路主要是找出数字中的奇数位上的数。

(1)根据“*t=s%10”判断,t应该是个指针变量,所以“void fun(long s,long t)”语句中的t只需改为“void fun(long s,long *t)”。

(2)分析函数内的循环过程可知sl的用途是每次将*t扩大,记录每次得到的奇数位的数字的权值,s1的权值每次增加1位,因此,第二个标识下应该是“s1=s1*10;”。

程序设计题

3.学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最低的学生数据放在b所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。

注意:部分源程序在文件PROG1.C文件中。

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

1 #include<stdio.h>

2 #define N 16

3 typedef struct

4 { char hum[10];

5 int s;

6 } STREC;

7 int fun(STREC *a,STREC *b)

8 {

9 }

10 main()

11 {STREC s[N]={{’’GA05’’,85},{’’GA03’’,76},{’’GA02’’,69},{’’GA04’’,85},{’’GA01’’,91},{’’GA07’’,72},{’’C408’’,64},{’’GA06’’,87},{’’GA015’’,85},{’’CA013’’,91},{’’CA012\\

1 int i,j=0,min=a[0].s;

2 for(i=0;i<N;i++){

3 if(min>a[i].s){

4 j=0;b[j++]=a[i];min=a[i].s;

5 }

6 else if(min==a[i].s)

7 b[j++]=a[i];

8 }

9 return j;

解析:该程序功能是把分数最低的学生数据放在b所指的数组中。本题是关于求解结构

本文档预览:3600字符,共3800字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C语言机试(操作题)模拟试卷696

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号