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

培訓考試

全國計算機等級考試二級c語言上機題庫

時間:2025-04-20 17:43:25 培訓考試 我要投稿
  • 相關(guān)推薦

全國計算機等級考試二級c語言上機題庫

  【例1】給定程序中,函數(shù)fun的功能是:將形參n所指變量中,各位上為偶數(shù)的數(shù)去 除,剩余的數(shù)按原來從高位到低位的順序組成一個新的數(shù),并通過形參指針n傳回 所指變量。

全國計算機等級考試二級c語言上機題庫

  例如,輸入一個數(shù):27638496,新的數(shù):為739。 請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除, 使程序得出正確的結(jié)果。

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

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

  給定源程序:

  #include

  void fun(unsigned long *n)

  { unsigned long x=0, i; int t;

  i=1;

  while(*n)

  { t=*n % __1__;

  if(t%2!= __2__)

  { x=x+t*i; i=i*10; }

  *n =*n /10;

  }

  *n=__3__;

  }

  main()

  { unsigned long n=-1;

  while(n>99999999||n<0)

  { printf("Please input(0

  fun(&n);

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

  }

  解題思路:

  第一處:t是通過取模的方式來得到*n的個位數(shù)字,所以應填:10。

  第二處:判斷是否是奇數(shù),所以應填:0。

  第三處:最后通形參n來返回新數(shù)x,所以應填:x。

  給定程序MODI1.C中函數(shù) fun 的功能是:計算n!。

  例如,給n輸入5,則輸出120.000000。

  【例2】請改正程序中的錯誤,使程序能輸出正確的結(jié)果。

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

  給定源程序:

  #include

  double fun ( int n )

  { double result = 1.0 ;

  if n = = 0

  return 1.0 ;

  while( n >1 && n < 170 )

  result *= n--

  return result ;

  }

  main ( )

  { int n ;

  printf("Input N:") ;

  scanf("%d", &n) ;

  printf("\n\n%d! =%lf\n\n", n, fun(n)) ;

  }

  解題思路:

  第一處:條件語句書寫格式錯誤,應改為:if (n==0)。

  第二處:語句后缺少分號。

  【例3】

  請編寫一個函數(shù)fun,它的功能是:將一個數(shù)字字符串轉(zhuǎn)換為一個整數(shù)(不得調(diào)用C語言提供的將字符串轉(zhuǎn)換為整數(shù)的。例如,若輸入字符串"-1234",則函數(shù)把它轉(zhuǎn)換為整數(shù)值 -1234。函數(shù)fun中給出的語句僅供參考。

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

  請勿改動主函數(shù)main和其它函數(shù)中的任何內(nèi)容, 僅在函數(shù)fun的花括號中填入你編寫的若干語句。

  給定源程序:

  #include

  #include

  long fun ( char *p)

  {int i, len, t; /* len為串長,t為正負標識 */

  long x=0;

  len=strlen(p);

  if(p[0]=='-')

  { t=-1; len--; p++; }

  else t=1;

  /* 以下完成數(shù)字字符串轉(zhuǎn)換為一個數(shù)字 */

  return x*t;

  }

  main() /* 主函數(shù) */

  { char s[6];

  long n;

  printf("Enter a string:\n") ;

  gets(s);

  n = fun(s);

  printf("%ld\n",n);

  NONO ( );

  }

  NONO ( )

  {/* 本函數(shù)用于打開文件,輸入數(shù)據(jù),調(diào)用函數(shù),輸出數(shù)據(jù),關(guān)閉文件。 */

  FILE *fp, *wf ;

  int i ;

  char s[20] ;

  long n ;

  fp = fopen("c:\\test\\in.dat","r") ;

  wf = fopen("c:\\test\\out.dat","w") ;

  for(i = 0 ; i < 10 ; i++) {

  fscanf(fp, "%s", s) ;

  n = fun(s);

  fprintf(wf, "%ld\n", n) ;

  }

  fclose(fp) ;

  fclose(wf) ;

  }

  解題思路:

  本題是將一個數(shù)字字符串轉(zhuǎn)換為一個整數(shù)。

  參考答案:

  #include

  #include

  long fun ( char *p)

  {

  int i, len, t; /* len為串長,t為正負標識 */

  long x=0;

  len=strlen(p);

  if(p[0]=='-')

  { t=-1; len--; p++; }

  else t=1;

  /* 以下完成數(shù)字字符串轉(zhuǎn)換為一個數(shù)字 */

  while(*p) x = x*10-48+(*p++);

  return x*t;

  }

  main() /* 主函數(shù) */

  { char s[6];

  long n;

  printf("Enter a string:\n") ;

  gets(s);

  n = fun(s);

  printf("%ld\n",n);

  NONO ( );

  }

  NONO ( )

  {/* 本函數(shù)用于打開文件,輸入數(shù)據(jù),調(diào)用函數(shù),輸出數(shù)據(jù),關(guān)閉文件。 */

  FILE *fp, *wf ;

  int i ;

  char s[20] ;

  long n ;

  fp = fopen("c:\\test\\in.dat","r") ;

  wf = fopen("c:\\test\\out.dat","w") ;

  for(i = 0 ; i < 10 ; i++) {

  fscanf(fp, "%s", s) ;

  n = fun(s);

  fprintf(wf, "%ld\n", n) ;

  }

  fclose(fp) ;

  fclose(wf) ;

  }

  【例4】

  給定程序中,函數(shù)fun的功能是:統(tǒng)計形參s所指字符串中數(shù)字字符出現(xiàn)的次數(shù),并存放在形參t所指的變量中,最后在主函數(shù)中輸出。例如,形參s所指的字符串為:abcdef35adgh3kjsdf7。輸出結(jié)果為:4。

  請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

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

  給定源程序:

  #include

  void fun(char *s, int *t)

  { int i, n;

  n=0;

  for(i=0; ___1___ !=NULL; i++)

  if(s[i]>='0'&&s[i]<= ___2___ ) n++;

  ___3___ ;

  }

  main()

  { char s[80]="abcdef35adgh3kjsdf7";

  int t;

  printf("\nThe original string is : %s\n",s);

  fun(s,&t);

  printf("\nThe result is : %d\n",t);

  }

  解題思路:

  第一處:在for循環(huán)中終止值要判斷字符串是否結(jié)束符,所以應填:s[i]。

  第二處:判斷是否是數(shù)字,所以應填:'9'。

  第三處:字符串中數(shù)字字符出現(xiàn)的次數(shù)n,并存放在形參t所指的變量中,所以應填:*t=n。

  【例5】

  給定程序MODI1.C中函數(shù)fun的功能是:通過某種方式實現(xiàn)兩個變量值的交換,

  規(guī)定不允許增加語句和表達式。例如變量a 中的值原為8,b中的值原為3, 程序運行后 a 中的值為 3,b中的值為8。

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

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

  給定源程序:

  #include

  int fun(int *x,int y)

  {

  int t ;

  t = x ; x = y ;

  return(y) ;

  }

  main()

  {

  int a = 3, b = 8 ;

  printf("%d %d\n", a, b) ;

  b = fun(&a, b) ;

  printf("%d %d\n", a, b) ;

  }

  解題思路:

  第一處:由于x是整型指針變量,所以地址不能賦值給整型變量,因此必須取x地址上的值,所以應改為t=*x;*x=y;。

  第二處:已交換后的值存放在t中,所以返回值應為return(t);

【全國計算機等級考試二級c語言上機題庫】相關(guān)文章:

全國計算機等級考試二級C語言上機精選訓練06-29

2012年3月全國計算機等級考試二級C語言上機題庫(1~10套)09-29

2012年3月全國計算機等級考試二級C語言上機題庫(20~30套)08-08

2012年3月全國計算機等級考試二級C語言上機題庫(10~20套)06-16

2012年3月全國計算機等級考試二級C語言上機題庫(30~40套)10-29

2024二級c語言上機題庫04-18

2015計算機二級c語言上機題庫06-19

2015全國計算機二級c語言上機題庫(附答案)09-29

全國計算機等級考試二級C語言06-27