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

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

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

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

程序填空题

1.函数fun的功能是:在有n个元素的结构体数组std中,查找有不及格科目的学生,找到后输出学生的学号;函数的返回值是有不及格科目的学生人数。例如,主函数中给出了4名学生的数据,则程序运行的结果为:

学号:N1002 学号:N1006

共有2位学生有不及格科目

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

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

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

1 #include<stdio.h>

2 typedef struct

3 {char num[8];

4 double score[2];

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

6 }_(1)__;

7 int fun(STU std[],int n)

8 { int i,k=0;

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

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

11 if( std[i].score[0]<60__(2)__std[i].score[1]<60)

12 { k++; printf (’’学号:%s’’,std[i].num);}

13 /**********found**********/

14 return __(3)__;

15 }

16 main()

17 {STU std[4]={ ’’N1001’’,76.5,82.0,’’N1002’’,53.5,73.0,’’N1005’’,80.5,66.0,’’N1006’’,81.0,56.0};

18 printf(’’\n共有%d位学生有不及格科目\n’’,fun(std,4) };

19 }

(1)STU (2)‖ (3)k

解析:第一空:“{… …}(1);”这一空出现在定义结构体时,这里使用了typedef就是很明显地要声明结构体类型,而这里则是要填写结构体类型名。这里就要知道typedef的作用了,typedef是用来命名已有类型的,相当于给已经知道的类型(如int float)一个新的类型名,而这里命名的是一个结构体,这不同于结构体的类型定义,大括号后面填写的不是变量名表列,而是结构体类型名,相当于给一个名称或者一种新的类型。而根据后面程序己给出的部分,我们能清楚的看到定义的结构体类型名是STU,所以这一空应该填的是“STU”。

第二空:“if(std[i].score[0]<60__(2)__std[i].score[1]<60);”这一空出现在fun函数中的if条件语句中,根据if后面的执行语句我们可以看到执行的人数的统计,所以这里应该就是在判断学生学科分数是否及格的条件语句。对于一开始的结构体定义我们能够发现成员score是长度为2的数组,所以每个学生应该是有两门学科的分数需要来判定和统计的,而这两门学科中任意一门分数不够的话都定义为不及格,然后统计进入人数中,这里所填空的两边是两门学科的分数低于60分,既然前面说了是任意一门低于60即进入统计,那这里就应该是“或”符号才符合要求,所以这一空应该填“‖”。

第三空:“return__(3)__;”这一空出现在fun函数中,这里要填写的是fun函数执行后的返回值。根据题目的要求函数是要查找不及格的科目的学生,找到学生学号,然后返回学生的人数,这一空前面已经执行了查找,统计人数和学号的输出,所以这里应该返回的就是不及格学生的人数。而根据前面的定义,人数统计的变量名应该是k,所以这一空应该要填写的是“k”。

程序修改题

2.给定程序MODI1.C中函数fun的功能是:应用递归算法求形参a的平方根。求平方根的迭代公式如下:

(1)double fun(double a,double x0) (2)if(fabs(x1-x0)>0.00001)

解析:函数的功能是应用递归算法求某数a的平方根。

(1)主函数中“fun(x,1.0)”,x是double型变量,1.0是浮点数,可知fun有两个double型参数,而第一标识下“dotmle”不是C语言关键字,所以应将“double fun(double a,dounle x0)”改为“double fun(double a,double x0)”。

(2)第二个标识下的if语句是判断进行递归运算的条件,第二标识下变量x0没有定义,根据题意,这里是判断x1和x0的差值的绝对值是否比0.00001大,所以第二个标识下“if(fabs(x1-x0)>0.000011”改为“if(fabs(x1-x0)>0.00001)”。

程序设计题

3.请编写函数fun,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES;否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。

例如,字符串LEVEL是回文,而字符串123312就不是回文。

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

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

1 #include<stdio.h>

2 #include<string.h>

3 #define N 80

4 int fun(char *str)

5 {

6 }

7 main()

8 { char s [N];void NONO();

9 printf(’’Enter a string:’’);gets(s);

10 printf(’’\n\n’’);puts(s);

11 if(fun(s))printf(’’YES\n’’);

12 else printf(’’NO\n’’);

13 NONO();}

14 void NONO()

15 {/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。 */

16 FILE *rf,*wf ;

17 int i;char s [N];

18 rf=fopen(’’in.dat’’,’’r’’);

19 wf=fopen(’’out.dat’’,’w’’);

20 for(i=0;i<10;i++) {

21 fscanf(rf,’’%s’’,s);

22 if(fun(s)) fprintf(wf,’’%s YES\n’’,s);

23 else fprintf(wf,’’%s NO\n’’,s);

24 }

25 fclose(rf);fclose(wf);}

1 int i,n=0,flag=1;//初始设置标识位

2 char *p=str; //设置工作指针

3 while(*p) //取字符串大小

4 { n++;

5 p++;

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号