您当前所在位置:自考本科 > 网站地图 > 备考资料 > 模拟试题 > 工学类 > C语言程序设计 > 2022年自学考试《C语言程序设计》练习题及答案11

2022年自学考试《C语言程序设计》练习题及答案11

2022-07-12 11:20:44  来源:中国教育在线

2022年自学考试《C语言程序设计》练习题及答案11

【3.51】下面函数的功能是创建一个带有头结点的链表,将头结点返回给主调函数。链表用于储存学生的学号和成绩。新产生的结点总是位于链表的尾部。

struct student

{long num;

int score;

struct student*next;

};

struct student*creat()

{struct student*head=NULL,*tail;

long num;int a;

tail=①malloc(LEN);

do

{scanf('%ld,%d',&num,&a);

if(num!=0)

{if(head==NULL)head=tail;

else②;

tail->num=num;tail->score=a;

tail->next=(struct student*)malloc(LEN);

}

else tail->next=NULL;

}while(num!=0);

return(③);

}

【3.52】下面create函数的功能是建立一个带头结点的单向链表,新产生的结点总是插入在链表的末尾。单向链表的头指针作为函数值返回。

#include

#define LEN sizeof(struct student)

struct student

{long num;

int score;

struct student*next;

};

struct student*creat()

{struct student*head=NULL,*tail;

long num;

int a;

tail=(①)malloc(LEN);

do

{scanf('%ld,%d',&num,&a);

if(num!=0)

{if(head==NULL)head=tail;

else tail=tail->next;

tail->num=num;

tail->score=a;

tail->next=(②)malloc(LEN);

}

else tail->next=NULL;

}while(num!=0);

③;

}

【3.53】下面程序的功能是统计文件中的字符的个数。

#include

main()

{long num=0;

①*fp;

if((fp=fopen('fname.dat','r'))==NULL)

{printf('Can't open the file!');

exit(0);

}

while(②)

{fgetc(fp);

num++;

}

printf('num=%dn',num);

fclose(fp);

}

【3.54】下面程序的功能是把从键盘输入的文件(用 作为文件结束标志)复制到一个名为second.txt的新文件中。

#include

FILE*fp;

main()

{char ch;

if((fp=fopen(①))==NULL)

exit(0);

while((ch=getchar())!=' ')

fputc(ch,fp);

②;

}

【3.55】下面程序的功能是将磁盘上的一个文件复制到另一个文件中,两个文件名在命令行中给出(假定给定的文件名无误)。

#include

main(int argc,char*argv[])

{FILE&f1,*f2;

if(argc<①)

{printf('The command line error!');

exit(0);

}

f1=fopen(argv[1],'r');

f2=fopen(arhv[2],'w');

while(②)

fputs(fgetc(f1),③);

④;

⑤;

}

【程序填空题参考答案】

【3.51】答案:①(struct student*)②tail=tail->next③head

注释:①malloc函数的作用是在内存开辟指定字节数的存储空间,并将此存储空间的地址返回赋给尾指针tail,但是此地址为void型,应将其强制转换为所要求的结构指针类型。

②新开辟的结点的内存地址存于tail所指向的已建立的链表的尾结点的结构成员next,新结点连入链表以后,尾指针tail应指向新的结点。

【3.52】答案:①(struct student*)②(struct list*)③return(head)

【3.53】答案:①FILE②!feof(fp)

注释:FILE是文件结构类型名。feof()是测试文件结束标志的函数。

【3.54】答案:①'second.txt'②fclose(fp)

【3.55】答案:①3②!feof(f1)或feof(f1)==0③f2④fclose(f2)⑤fclose(f1)

注释:程序中使用了带参数的main函数,其中整型参数argc为命令行中字符串的个数,此程序运行时输入的字符串有可运行程序名、文件1和文件2,故argc不应小于3。字符串指针argv[0]指向可运行程序名、字符串指针argv[1]指向输入文件名、字符串指针argv[2]指向输出文件名,由上所述②处给出循环条件是输入文件是否结束,③处需要填出输出文件名。最后两处是关闭两个文件,原则上关闭文件没有顺序要求,但习惯上是后打开的文件先关闭。

热门推荐:

自考有疑问、不知道如何选择主考院校及专业、不清楚自考当地政策,点击立即了解》》

推荐阅读:

2022年10月各省成人自学考试报名时间及入口汇总

2022年10月全国各省自学考试报考条件汇总

2022年10月全国各省成人自学考试报名官网汇总

你可能感兴趣的试题
1
意向表
2
学习中心老师电话沟通
3
查看评估报告
1、年龄阶段

2、当前学历

3、提升学历目标

4、意向学习方式

报考所在地
*
*
*

查看成人高考最新资讯 查看远程教育最新资讯

自考专业快选

自考热门专题

自考热议话题

自考推荐文章