计算机二级考试C语言练习题Word文件下载.docx

上传人:b****5 文档编号:18149688 上传时间:2022-12-13 格式:DOCX 页数:23 大小:21.75KB
下载 相关 举报
计算机二级考试C语言练习题Word文件下载.docx_第1页
第1页 / 共23页
计算机二级考试C语言练习题Word文件下载.docx_第2页
第2页 / 共23页
计算机二级考试C语言练习题Word文件下载.docx_第3页
第3页 / 共23页
计算机二级考试C语言练习题Word文件下载.docx_第4页
第4页 / 共23页
计算机二级考试C语言练习题Word文件下载.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

计算机二级考试C语言练习题Word文件下载.docx

《计算机二级考试C语言练习题Word文件下载.docx》由会员分享,可在线阅读,更多相关《计算机二级考试C语言练习题Word文件下载.docx(23页珍藏版)》请在冰豆网上搜索。

计算机二级考试C语言练习题Word文件下载.docx

FangFang"

90,82,87},{10005,"

ZhangSan"

95,80,88}};

  STUn={10006,"

ZhaoSi"

55,70,68},ss[N];

  inti,j;

FILE*fp;

  fp=fopen("

student.dat"

"

wb"

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

rb"

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

  printf("

\nTheoriginaldata:

\n\n"

  for(j=0;

j<

>

  {printf("

\nNo:

%ldName:

%-8sScores:

"

ss[j].sno,ss[j].name);

  for(i=0;

i<

3;

i++)printf("

%6.2f"

ss[j].score[i]);

\n"

  fun("

n);

\nThedataaftermodifing:

  解题答案:

  /**********第一空**********/

  fp=fopen(filename,"

  /**********第二空**********/

  fseek(fp,-(long)sizeof(STU),SEEK_END);

  /**********第三空**********/

n,sizeof(STU),1,fp);

  ******************************************  

  二、改错题:

给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。

  请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。

  注意:

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

  typedefstructaa

  {intdata;

  structaa*next;

  }NODE;

  NODE*Creatlink(intn,intm)

  {NODE*h=NULL,*p,*s;

  inti;

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

  p=(NODE)malloc(sizeof(NODE));

  h=p;

  p->

next=NULL;

  for(i=1;

=n;

i++)

  {s=(NODE*)malloc(sizeof(NODE));

  s->

data=rand()%m;

s->

next=p->

next;

next=s;

p=p->

  returnp;

  outlink(NODE*h)

  {NODE*p;

  p=h->

\n\nTHELIST:

\n\nHEAD"

  while(p)

->

%d"

p->

data);

  p=p->

  {NODE*head;

  head=Creatlink(8,22);

  outlink(head);

  p=(NODE*)malloc(sizeof(NODE));

  returnh;

  

三、程序题:

请编写函数fun,函数的功能是:

统计一行字符串中单词的个数,作为函数值返回。

一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行的开始没有空格。

部分源程序在文件PROG1.C中。

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

  #defineN80

  intfun(char*s)

  {

  {charline[N];

intnum=0;

voidNONO();

Enterastring:

gets(line);

  num=fun(line);

Thenumberofwordis:

%d\n\n"

num);

  NONO();

  voidNONO()

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

*/

  FILE*rf,*wf;

inti,num;

charline[N],*p;

  rf=fopen("

in.dat"

"

r"

  wf=fopen("

out.dat"

w"

  for(i=0;

i<

10;

i++){

  fgets(line,N,rf);

  p=strchr(line,'

\n'

  if(p!

=NULL)*p=0;

  num=fun(line);

  fprintf(wf,"

%d\n"

num);

  fclose(rf);

fclose(wf);

  参考答案:

  intfun(char*s)

  intk=1;

  while(*s){

  if(*s=='

'

)k++;

  s++;

returnk;

题库2 

 一、填空题:

给定程序的功能是:

从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。

然后将文件的内容读出显示在屏幕上。

文件的读写分别由自定义函数ReadText和WriteText实现。

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

  voidWriteText(FILE*);

  voidReadText(FILE*);

  if((fp=fopen("

myfile4.txt"

))==NULL)

openfail!

!

exit(0);

}

  WriteText(fp);

  ReadText(fp);

  voidWriteText(FILE___1___)

  {charstr[81];

\nEnterstringwith-1toend:

  gets(str);

  while(strcmp(str,"

-1"

)!

=0){

  fputs(___2___,fw);

fputs("

fw);

  voidReadText(FILE*fr)

\nReadfileandoutputtoscreen:

  fgets(str,81,fr);

  while(!

feof(fr)){

%s"

___3___);

  voidWriteText(FILE*fw)

  fputs(str,fw);

str);

******************************************

给定程序MODI1.C中函数fun的功能是:

从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。

高位仍在高位,低位仍在低位。

  例如,当s中的数为:

7654321时,t中的数为:

7531。

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

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

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

  voidfun(longs,longt)

  {longsl=10;

  *t=s%10;

  while(s>

0)

  {s=s/100;

  *t=s%10*sl+*t;

  sl=sl*100;

  {longs,t;

\nPleaseenters:

"

scanf("

%ld"

&

s);

  fun(s,&

t);

Theresultis:

%ld\n"

t);

  voidfun(longs,long*t)

  sl=sl*10;

  ******************************************

   三、程序题:

函数fun的功能是:

将两个两位数的正整数a、b合并形成一个整数放在c中。

合并的方式是:

将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。

  例如,当a=45,b=12时,调用该函数后,c=1524。

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

数据文件IN.DAT中的数据不得修改。

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

  voidfun(inta,intb,long*c)

  {inta,b;

longc;

  voidNONO();

Inputa,b:

  scanf("

%d,%d"

a,&

b);

  fun(a,b,&

c);

c);

  {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。

  inti,a,b;

longc;

  fscanf(rf,"

a=%d,b=%d,c=%ld\n"

a,b,c);

  fclose(wf);

  *c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);

题库3

给定程序中,函数fun的功能是:

将自然数1~10以及它们的平方根写到名为myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。

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

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

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

  intfun(char*fname)

inti,n;

floatx;

  if((fp=fopen(fname,"

))==NULL)return0;

i<

=10;

i++)

  fprintf(___1___,"

%d%f\n"

i,sqrt((double)i));

\nSucceed!

  ___2___;

\nThedatainfile:

  if((fp=fopen(___3___,"

  return0;

  fscanf(fp,"

%d%f"

&

n,&

x);

feof(fp))

%d%f\n"

n,x);

fscanf(fp,"

  return1;

  {charfname[]="

myfile3.txt"

;

  fun(fname);

  /**********第一空*********/

  fprintf(fp,"

  if((fp=fopen(fname,"

 二、改错题:

给定程序MODI1.C中fun函数的功能是:

将n个无序整数从小到大排序。

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

  fun(intn,int*a)

  {inti,j,p,t;

  for(j=0;

  {p=j;

  for(i=j+1;

  if(a[p]>

a[i])

  t=i;

  if(p!

=j)

  {t=a[j];

a[j]=a[p];

a[p]=t;

  putarr(intn,int*z)

  {inti;

  for(i=1;

=n;

i++,z++)

%4d"

*z);

  if(!

(i%10))printf("

  }printf("

  {intaa[20]={9,3,0,4,1,2,5,6,8,10,7},n=11;

\n\nBeforesorting%dnumbers:

putarr(n,aa);

  fun(n,aa);

\nAftersorting%dnumbers:

  for(i=j+1;

N;

I++)<

p>

  p=i;

  三、程序题:

函数fun的功能是:

将两个两位数的正整数a、b合并形成一个整数放在c中。

  合并的方式是:

将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。

  例如,当a=45,b=12时,调用该函数后,c=2514。

  *c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;

题库4一、填空题:

程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。

函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的

  学生数据输出到filename所指的文件中,覆盖原来的文件内容。

  voidfun(char*filename)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 设计艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1