欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

C語(yǔ)言

計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)強(qiáng)化訓(xùn)練題及答案

時(shí)間:2025-06-05 16:29:35 C語(yǔ)言 我要投稿
  • 相關(guān)推薦

計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)強(qiáng)化訓(xùn)練題及答案

  以下是應(yīng)屆畢業(yè)生考試網(wǎng)小編提供的計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)強(qiáng)化訓(xùn)練題及答案,希望大家順利通過(guò)計(jì)算機(jī)二級(jí)考試。

  填空題

  給定程序的功能是:調(diào)用函數(shù)fun將指定源文件中的內(nèi)容復(fù)制到指定的目標(biāo)文件中,復(fù)制成功時(shí)函數(shù)返回值為1,失敗時(shí)返回值為0。在復(fù)制的過(guò)程中,把復(fù)制的內(nèi)容輸出到終端屏幕。主函數(shù)中源文件名放在變量sfname中,目標(biāo)文件名放 在變量tfname中。

  請(qǐng)?jiān)诔绦虻南聞澗(xiàn)處填入正確的內(nèi)容并把下劃線(xiàn)刪除,使程序得出正確的結(jié)果。

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

  不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

  給定源程序:

  #include

  #include

  int fun(char *source, char *target)

  { FILE *fs,*ft; char ch;

  if((fs=fopen(source, ___1___))==NULL)

  return 0;

  if((ft=fopen(target, "w"))==NULL)

  return 0;

  printf("\nThe data in file :\n");

  ch=fgetc(fs);

  while(!feof(___2___))

  { putchar( ch );

  fputc(ch,___3___);

  ch=fgetc(fs);

  }

  fclose(fs); fclose(ft);

  printf("\n\n");

  return 1;

  }

  main()

  { char sfname[20] ="myfile1",tfname[20]="myfile2";

  FILE *myf; int i; char c;

  myf=fopen(sfname,"w");

  printf("\nThe original data :\n");

  for(i=1; i<30; i++){ c='A'+rand()%25;fprintf(myf,"%c",c); printf("%c",c); }

  fclose(myf);printf("\n\n");

  if (fun(sfname, tfname)) printf("Succeed!");

  else printf("Fail!");

  }

  解題思路:

  本題要求是把一個(gè)文件中的內(nèi)容復(fù)制到另一個(gè)文件中。程序中共有三處要填上適當(dāng)?shù)膬?nèi)容,使程序能運(yùn)行出正確的結(jié)果。

  第一處:要求打開(kāi)一個(gè)讀方式的源文件,因此可以填上"r"或"r+"。打開(kāi)讀文件操作的流是fs。

  第二處:用while循環(huán)來(lái)判斷源文件是否已讀到文件結(jié)束符,int feof(FILE *stream),因此,此處只能填寫(xiě)fs。

  第三處:把已經(jīng)讀取的字符寫(xiě)入目標(biāo)文件中,打開(kāi)寫(xiě)文件操作的流是ft,因此,此處只能填寫(xiě)ft。

  改錯(cuò)題

  給定程序MODI1.C中函數(shù)fun的功能是:將長(zhǎng)整型數(shù)中每一位上為偶數(shù)的數(shù)依 次取出,構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低位。 例如,當(dāng)s中的數(shù)為:87653142時(shí),t中的數(shù)為:8642。

  請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。

  注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

  給定源程序:

  #include

  void fun (long s, long *t)

  { int d;

  long sl=1;

  *t = 0;

  while ( s > 0)

  { d = s%10;

  if (d%2=0)

  { *t=d* sl+ *t;

  sl *= 10;

  }

  s \= 10;

  }

  }

  main()

  { long s, t;

  printf("\nPlease enter s:"); scanf("%ld", &s);

  fun(s, &t);

  printf("The result is: %ld\n", t);

  }

  解題思路:

  第一處:判斷相等的條件是==。

  第二處:整除的符號(hào)是/。

  編程題

  函數(shù)fun的功能是:將兩個(gè)兩位數(shù)的正整數(shù)a、b合并形成一個(gè)整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的十位和千位上, b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和個(gè)位上。

  例如,當(dāng)a=45,b=12時(shí),調(diào)用該函數(shù)后,c=5142。

  注意: 部分源程序存在文件PROG1.C中。數(shù)據(jù)文件IN.DAT中的數(shù)據(jù)不得修改。

  請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。

  給定源程序:

  #include

  void fun(int a, int b, long *c)

  {

  }

  main()

  { int a,b; long c;

  printf("Input a, b:");

  scanf("%d,%d", &a, &b);

  fun(a, b, &c);

  printf("The result is: %ld\n", c);

  NONO();

  }

  解題思路:

  本題是給出兩個(gè)兩位數(shù)的正整數(shù)分別取出各位上的數(shù)字,再按條件組成一個(gè)新數(shù)。

  取a十位數(shù)字的方法:a/10

  取a個(gè)位數(shù)字的方法:a%10

  參考答案:

  void fun(int a, int b, long *c)

  {

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

  }

【計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)強(qiáng)化訓(xùn)練題及答案】相關(guān)文章:

計(jì)算機(jī)二級(jí)考試C語(yǔ)言強(qiáng)化訓(xùn)練題及答案06-14

計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)操作題及答案03-29

2017計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)特訓(xùn)題08-12

計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)編程題講解07-10

計(jì)算機(jī)二級(jí)C語(yǔ)言預(yù)測(cè)上機(jī)精選訓(xùn)練題07-05

計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)沖刺試題及答案05-26

2017計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)題庫(kù)及答案08-07

2017計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)最終預(yù)測(cè)題07-08

計(jì)算機(jī)考試C語(yǔ)言強(qiáng)化訓(xùn)練題及答案07-19