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

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

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

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

程序填空题

1.人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中。函数fun的功能是:找出指定出生年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。

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

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

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

1 #include<stdio.h>

2 #define N 8

3 typedef struct

4 { int numt

5 int year,month,day;

6 } STU;

7 int fun(STU *std,STU *k,int year)

8 { int i,n=0;

9 for(i=0;i<N;i++)

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

11 if(__1__==year)

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

13 k[n++]=__2__;

14 /**********found**********/

15 return(__3__);

16 }

17 main()

18 {STU std[N]={{1,1984,2,15},{2,1983,9,21},{3,1984,9,1},{.4,1983,7,15},{5,1985,9,28},{6,1982,11,15},{7,1982,6,22},{8,1984,8,19}};

10 STU k[N];int i,n,year;

20 printf(’’Enter a year:’’);scanf(’’%d’’,&year);

21 n=fun(std,k,year);

22 if(n==0)

23 printf(’’\nNo person was born in%d\n’’,year);

24 else

25 {printf(’’\nThese persons were born in%d\n’’,year);

26 for(i=0;i<n;i++)

27 printf(’’%d %d-%d-%d\n’’,k[i].num,k[i].year,k[i].month,k[i].day);

28 }

29 }

(1)std[i].year

(2)std[i]

(3)n

解析:fun函数的功能是在结构体数组std中找出指定出生年份的人员将其数据放在形参k所指的数组中。

第一空:比较结构体的出生年份是否等于year,std是结构体指针,指向结构体数组的首地址,因此,访问一个结构体的year成员是“std[i].year”,因此,第一空处应为“if(std[i].year==year)”。

第二空:这里是将找到的数据放在形参k所指的数组中,k是指针变量,k指向结构体数组的首地址,std[i]是结构体的地址,因此,等号左边也应该是地址,故第二空处应为“1([n++]=std[i];”。

第三空:fun函数的返回值是满足指定条件的人数n,故第三空处是“return(n);”。

程序修改题

2.给定程序MODI1.C的功能是:读入一个整数k(2≤k≤10000),打印它的所有质因子(即所有为素数的因子)。

例如,若输入整数:2310,则应输出:2、3、5、7、11。

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

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

1 #include<stdio.h>

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

3 IsPrime(int r1);

4 { int i,m;

5 m=1;

6 for(i=2;i<n;i++)

7 /************found************/

8 if !(n%i)

9 { m=0;break;}

10 return(m);

11 }

12 main()

13 { int j,k;

14 printf(’’\nPlease enter an integer number between 2 and 10000:’’);scanf(’’%d’’,&k);

15 printf{’’\n\nThe prime factor(s)of%d iS(are):’’,k);

16 for(j=2;j<=k;j++)

17 if((!(k%j))&&(IsPrime(j)) )printf(’’\n%4d’’,j);

18 printf(’’\n’’);

19 }

(1)IsPrime(int n)

(2)if(!(n%i))

解析:函数功能是求整数n的素数因子,IsPrime自定义函数的功能是判断j是否为素数。

(1)第一个标识下面的“IsPrime(intn);”在程序中显然是一个函数,因此,应将后面的分号去掉。

(2)第二个标识下面的if语句后面缺少括号,因此,“if!(n%i)”应改为“if!(n%i))”。

该题主要考查标点符号、运算符、基本定义。

程序设计题

3.已知学生的记录由学号和学习成绩构成,N名学生的数据已存入结构体数组a中。请编写函数fun,函数的功能是:找出成绩最高的学生记录,通过形参指针传回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。

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

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

1 #include<stdio.h>

2 #include<string.h>

3 #define N 10

4 typedef struct ss

5 { char num[10];int s;} STU;

6 fun(STU a(1.STU *s)

7 {

8

9 }

10 main()

11 {STU a[N]={{’’A01’’,81},{’’A02’’,89},{’’A03’’,66},{’’A04’’,87},{’’A05’’,77},{’’A06”,90},{’’A07’’,79},{’’A08’’,61},{’’A0 9’’,8 0},{’’A10’’,71}},m;

12 int i;

13 printf(’’*****The original data *****\n¨);

14 for(i=0;i<N;i++)printf(’’No=%s Mark=%d\n’’,a[i].num,a[i].s);

15 fun(a,&m);

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号