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

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

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

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

程序填空题

1.程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是对形参b所指结构体变量中的数据进行修改,最后在主函数中输出修改后的数据。

例如:b所指变量t中的学号、姓名、和三门课的成绩依次是:10002、’’ZhangQi’’、93、85、87,修改后输出t中的数据应为:10004、’’LiJie’’、93、85、87。

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

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

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

1 #include<stdio.h>

2 #include<string.h>

3 struct student {

4 long sno;

5 char name[10];

6 float score[3];

7 };

8 void fun(struct student *b)

9 {

10 /**********found**********/

11 b__1__=10004;

12 /**********found**********/

13 strcpy(b__2__,’’LiJie’’);

14 }

15 main()

16 { struct student t={10002,’’ZhangQi’’,93,85,87};

17 int i;

18 printf(’’\n\nThe original data:\n’’);

19 printf(’’\nNo:%id Name:%s\nScores:’’,t.sno,t.name);

20 for(i=0;i<3;i++)printf(’’%6.2f’’,t.score[i]);

21 printf(’’\n’’);

22 /**********found**********/

23 fun( __3__);

24 printf(’’\nThe data after modified:\n’’);

25 printf(’’\nNo:%id Name:%s\nScores:’’,t.sno,t.name);

26 for(i=0;i<3;i++) printf(’’%6.2f’’,t.score[i]);

27 printf(’’\n’’);

28 }

(1)->sno (2)->name(3)&t

解析:函数fun的功能是对形参b所指结构体变量中的数据进行修改。

第一空:“b __1__=10004;”等号右边是整型值,故这里是修改结构体成员sno的值,b是结构体指针,访问结构体数据成员时使用“->”运算符,因此第一空为“b->sno”。

第二空:“strcpy(b__2__,’’LiJie’’);”,strcpy是字符串拷贝函数,因此这里是修改结构体的name成员值,故第二空处为“b->name”。

第三空:fun函数的定义形式是:void fun(struct student *b),可知fun的参数是指针,因此主函数内调用fun函数时传入的参数是结构体t的地址,故第

三空处为“&t”。

程序修改题

2.给定程序MODI1.C中函数fun的功能是:计算并输出high以内最大的10个素数之和。high的值由主函数传给fun函数。

若high的值为:100,则函数的值为:732。

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

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

1 #include<stdio.h>

2 #include<math.h>

3 int fun(int high)

4 { int sum=0,n=0,j,yes;

5 /**********found**********/

6 while((high>=2)&&(n<10)

7 { yes=1;

8 for(j=2;j<=high/2;j++)

9 if(high%j==0) {

10 /**********found**********/

11 yes=0;break

12 }

13 if (yes) {sum+=high; n++;)

14 high–;

15 }

16 return sum;

17 }

18 main()

19 {

20 printf(’’%d\n’’,fun(100));

21 }

(1)while((2<=high)&&(n<10)) (2)yes=0; break;

解析:函数的功能是计算并输出high以内最大的10个素数之和。

(1)C语言中左右括弧必须成对出现,在第一个标识下“while((high>=2)&&(n<10)”中,显然缺少一个右括弧,应改为“while((2<=high)&&(n<10))”。

(2)在判断素数的循环过程中,只要被判断的数能被某数整除就不是素数,就会跳出判断循环,在C语言中使用break语句跳出循环,并且C语言中的语句使用分号为结尾。所以“break”应改为“break;”。

程序设计题

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

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

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

1 #include<stdio.h>

2 #define N 16

3 typedef struct

4 { char num[10];

5 int s;

6 } STREC;

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

8 {

9

10 }

11 main()

12 { STREC s[N]={{’’CA05’’,85},{’’GA03’’,76},{’’GA02’’,69},{’’GA04’’,85),{’’GA01’’,91},{’’GA07’’,72},{’’GA08’’,64},{’’GA

06’’,87},{’’CA015’’,85},{’’CA013’’,91},{’’GA012’’,64},{’’GA014’’,91},{’’GA011’’,77},{’’GA017’’,64},{’’GA018’’,64},{’’GA016’’,72}};

13 STREC h[N];

14 int i,n;F

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号