首页 > 全部 > 二级C语言 > 国家二级C语言程序设计机试(程序填空题)模拟试卷5

国家二级C语言程序设计机试(程序填空题)模拟试卷5

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

国家二级C语言程序设计机试(程序填空题)模拟试卷5

程序填空题

1.给定程序的主函数中,已给出由结构体构成的链表结点a、b、c,各结点的数据域中均存入字符,函数fun()的作用是:将a、b、c三个结点链接成一个单向链表,并输出链表结点中的数据。

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

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

试题程序:

#include

typedef struct list

{char dam;

struct list*next:

}Q;

void hn(Q*pa,Q*pb,Q*pc)

{Q*p;

/******found******/

pa一>next=___1___;

pb一>next=pc;

P=pa;

while(P)

{

/******found******/

printf(“%c”,___2___);

/******found******/

P=___3___;

}

pfinff(“\n”);

}

main()

{Q a,b,c;

a.dam=‘E’;b.data=‘F’;

c.data=‘G’:C.next=NULL;

hn(&a,&b,&c);

}

(1)pb (2)p一>data (3)p一>next

解析:填空1:将三个结点连接起来,即将pa的指针域指向pb,pb的指针域指向pc。

填空2:输出链表结点中的数据,表示为p一>data。

填空3:指针后移,指向下一个结点,即p=p一>next。

2.程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。

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

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

试题程序:

nclude

#define N 5

typedef struct student{

long sno;

char name[10];

float score[3];}STU;

void fun(char*filename)

{

FILE*fp;int i,j;

STU s[N],t;

/******found ******/

fp=fopen(filename,___1___);

fread(s,sizeof(STU),N,fp);

felose(fp);

for(i=0;i<N一1;i++)

for(j=i+1;j<N;j++)

if(s[i].sno___2___s[j].sno)

{

t=s[i];s[i]=8[j];s[j]=t;

}

fp=fopen(filename,“wb”);

/*****found*****/

___3___(s,sizeof(STU),N,fp);

fclose(fp);

}

main()

{

STU[N]={“10005,”ZhangSan”,95,80,88}

{10003,“LiSi”,85,70,78},

{10002,“CaoKai”,75,60,88},

{10004,“FangFang”,90,82,87},

{10001,“NaChao”,91,92,77}},ss[N];

int i,j;FILE*fp;

fp=fopen(“student.dat”,“wb”);

fwrite(t,sizeof(STU),5,fp);

felose(fp);

prinff(“\nThe original data:\n”);

for(j=0;j<N;j++)

{

prinff(“\nNo:%ld Name:%一8s

Scores:“,t[j].sno,t[j].name);

for(i=0;i<3;i++)

printf(“%6.2f”,t[J]。score[i]);

printf(“\n”);

}

fun(“student.dat”);

prinff(“\nThe data after sorting:\n”);

fp=fopen(“student.dat”,”rb”);

fread(ss,sizeof(STU),5,fp);

fclose(fp);

for(j=0;j<N;j++)

{

prinff(“\nNo:%ld Name;%一8s

Scores:“,ss[j].sno,ssrj].name);

for(i=0;i<3;i++)

prinff(“%6.2f”,8s[j].score[i]);

printf(“\n”);

}

}

(1)“r” (2)> (3)fwrite

解析:填空1:题目中要求从形参fiename所指的文件中读入学生的数据,以此可以看出本空应该填写“r”。

填空2:此处的if语句是比较学号的大小,如果学号大就和学号小的换位,以此本空填写>。

填空3:题目要求所有的学生数据均以二进制方式输出到文件中,因此本空填写fwrite。

3.函数fun的功能是:在有n个元素的结构体数组std中,查找有不及格科目的学生,找到后输出学生的学号;函数的返回值是有不及格科目的学生人数。

例如,主函数中给出了4名学生的数据,则程序运行的结果为:

学号:N1002学号:N1006

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

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

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

试题程序:

#inelude

typedef struet

{

char nllm[8];

double 81201\\

(1)STU (2)11 (3)k

解析:本题考查:对结构体的定义和使用,以及逻辑运算符的使用。

填空1:STU结构体别名,通过main()中的语句可知。

填空2:11只要学生两门课成绩有不及格的,就算不及格,因此使

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

剩余未完,查看全文
收藏
国家二级C语言程序设计机试(程序填空题)模拟试卷5

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号