1、程序填空
本程序通过定义学生结构体变量,存储了学生的学号、姓名以及三门课的成就。所有学生数据均以二进制方式输出到文件。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。文章源自微观生活(93wg.com)微观生活-https://93wg.com/3046.html
define N 5 typedef struct student { long sno; char name[10]; float score[3]; } STU; void fun { FILE *fp; /**********found**********/ fp = fopen; /**********found**********/ fseeksizeof, SEEK_END); /**********found**********/ fwrite, 1, __3__); fclose; } void main { STU t[N]={ {10001,\"MaChao\", 91, 92, 77}, {10002,\"CaoKai\", 75, 60, 88}, {10003,\"LiSi\", 85, 70, 78}, {10004,\"FangFang\", 90, 82, 87}, {10005,\"ZhangSan\", 95, 80, 88}}; STU n={10006,\"ZhaoSi\", 55, 70, 68}, ss[N]; int i,j; FILE *fp; fp = fopen; fwrite, N, fp); fclose; fp = fopen; fread, N, fp); fclose; printf; for { printf; for printf; printf; } fun; printf; fp = fopen; fread, N, fp); fclose; for { printf; for printf; printf; } }
(1)filename(2)fp(3)fp
填空1:本空是对文本文件的打开,filename所指的文件中的最后数据要进行重写,因而首先是要打开,因此本空填写filename。
填空2:fseek功能是重定位流上的文件指针。用法:int fseek(FILE *stream,long offset,int fromwhere);该填写fp。
填空3:由于题目中要对所有学生数据均以二进制方式输出到文件中,因而本空填写fp。文章源自微观生活(93wg.com)微观生活-https://93wg.com/3046.html
函数名:fseek
功能:重定位流上的文件指针。
用法:int fseek(FILE *stream,long offset,int fromwhere)。
描写:函数设置文件指针stream的位置。如果执行胜利,stream将指向以fromwhere为基准,偏移offset个字节的位置。如果执行失败(比如offset超过文件本身大小),则不扭转stream指向的位置。
返回值:胜利,返回0;否则返回非0值。文章源自微观生活(93wg.com)微观生活-https://93wg.com/3046.html
2、程序修改文章源自微观生活(93wg.com)微观生活-https://93wg.com/3046.html
本程序中,函数Creatlink的功能是:创立带头节点的单向链表,并为各节点数据域赋0到m-1的值。文章源自微观生活(93wg.com)微观生活-https://93wg.com/3046.html
include <stdlib.h> typedef struct aa { int data; struct aa *next; } NODE; NODE *Creatlink { NODE *h=NULL, *p, *s; int i; /**********found***********/ p=malloc); h=p; p->next=NULL; for { s=malloc); s->data=rand%m; s->next=p->next; p->next=s; p=p->next; } /**********found***********/ return p; } void outlink { NODE *p; p=h->next; printf; while { printf; p=p->next; } printf; } void main { NODE *head; head=Creatlink; outlink; }
(1)p=(NODE*)malloc(sizeof(NODE));
(2)return h;文章源自微观生活(93wg.com)微观生活-https://93wg.com/3046.html
本题考核:变量赋初值;for循环语句;函数返回值文章源自微观生活(93wg.com)微观生活-https://93wg.com/3046.html
(1)由变量定义可知p为指向结点的指针。指向刚分配的结构指针,所以应改成p=(NODE*)malloc(sizeof(NODE))。
(2)在动态分配内存的下一行语句是,使用临时结构指针变量h保留p指针的初始位置,最后返回不能使用p,是由于p的位置已经产生了变化,所以应改成return h。文章源自微观生活(93wg.com)微观生活-https://93wg.com/3046.html
3、程序设计文章源自微观生活(93wg.com)微观生活-https://93wg.com/3046.html
本程序中,编写函数fun,该函数功能是:统计一行字符串中单词的个数,作为函数值返回。字符串在主函数输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。文章源自微观生活(93wg.com)微观生活-https://93wg.com/3046.html
include<stdio.h>
#define N 80
int fun
{
} void main { FILE *wf; char line[N]; int num=0; printf; gets; num=fun; printf; /******************************/ wf=fopen; fprintf); fclose; /*****************************/ }
int fun { int i,j=0; for if) /*如果一个字母的下一个字符为空格或者收场标记,则表示一个单词收场*/ j++; return j;/*返回单词个数*/ }
要判断单词的个数,首先想到的是程序怎么样辨认出一个单词,如果一个字母的下一个字符为空格或者收场标记,则表示一个单词收场,因而程序使用for循环语句遍历整个字符串,用if前提语句判断当前字符是不是表示一个单词的收场,如果当前字符表示一个单词收场,则寄存单词个数的变量加1,最后返回单词的个数。
以上就是微观生活(93wg.com)关于“2019年全国计算机二级C语言程序设计真题试卷1”的详细内容,希望对大家有所帮助!
评论