学习啦——考试网>计算机考试>计算机等级考试>计算机二级考试>C语言程序设计>

计算机等级考试c语言试题及答案

伟文分享

  在计算等级C语言考试中,我们会遇到什么样的题目类型呢?下面是学习啦小编给大家整理的计算机等级考试c语言试题及答案,供大家参阅!

  计算机等级考试c语言试题

  一、基本操作题

  请补充main(  )函数,该函数的功能是:输入两个正整数numl和num2,求这两个数的最大公约和最小公倍数。

  例如,若输入的两个正整数为12,4,则它们的最大公约数为12,最小公倍数为4。

  注意:部分源程序给出如下。

  请勿改动main(  )函数和其他函数中的任何内容,仅在main(  )函数的横线上填人所编写的若干表达式或语句。

  试题程序:

  #include

  #include

  void main(  )

  {

  int a,b,numl,num2,t;

  system("CLS"):

  printf("\nInput two numbers:\n");

  scanf("%d,%d",&numl,&num2);

  if(numl  {

  a=num2;

  b=numl:

  }

  else

  {

  a=numl;

  b=num2;

  )

  while(【1】)

  {

  t= 【2】

  a=b;

  b=t:

  }

  printf(“greatest common divisor:

  %d\n",a);

  printf("least common multiple:

  %d\n", 【3】;

  }

  二、程序改错题

  下列给定程序中函数proc的功能是:取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。例如,当s中的数为l23456789时,t中的数为2468。请修改程序中的错误,使它能得出正确的结果。

  注意:不要改动main(  )函数,不得增行或删行,也不得更改程序的结构。

  试题程序:

  #include

  #include

  #include

  //****found****

  void proc(long S,long t)

  {long sl=10;

  s/=10;

  *t=s%10;

  //****found****

  while(s   { s=s/l00;

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

  sl=sl*10;

  }

  )

  void main(  )

  {long S,t;

  system("CLS"):

  printf("\nPlease enter S:");

  scanf("%ld",&s);

  proc(S,&t);.

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

  }

  三、程序设计题  请编写函数proc(  ),其功能是:将str所指字符串中除下标为偶数、同时ASCIl码值为奇数的字符外,其余的字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。例如,若str所指字符串中的内容为ABCDEFGl2345,其中字符B的ASCIl码值为偶数,所在元素的下标为奇数,因此必须删除;而字符A的ASCIl码值为奇数,所在数组中的下标为偶数,因此不应当删除。依此类推,最后t所指的数组中的内容应是ACEG。

  注意:部分源程序给出如下。

  请勿改动main(  )函数和其他函数中的任何内容,仅在函数proc(  )的花括号中填人所写的若干语句。

  试题程序:

  #include

  #include

  #include

  #include

  void proc(char*str,char t[])

  {

  )

  void main(  )

  {

  char str[100],t[100];

  system("CLS");

  printf("\nPlease enter string str:");

  scanf("%S",str);

  proc(str,t);

  printf("\nThe result iS:%s\n",t);

  计算机等级考试c语言试题答案

  一、基本操作题程序填空题

  【1】b!=0【2】a%b[3]numl*num2/a

  【解析】由程序可知,变量b中存放两个正整数中较小的那个数,while循环求两个正整数的公约数。因此【1】填“b!=0”;【2】填“a%b”.【3】处是求两个正整数最小公倍数的表达式,因此【3】填“numl*num2/a”。

  二、程序改错题

  (1)错误:void proc(10ng S,long t)

  正确:void proc(long s,long*t)

  (2)错误:while(s<0)

  正确:while(s>O)

  【解析】从主函数中实参可知,形参的第二个变量是长整型的指针变量。因此“void proc(long s,long t)”应改为“void proc(long s,long*t)”;要从低位开始取出长整型变量s中偶数位上的数,每次变量S要除以100,然后判断其是否大于0来决定是否要继续,因此“while(s0)”。

  三、程序设计题

  void proc(char*str。chart[3])

  {

  int i,j=0;

  for(i=0;str[i]! =’\O’;i++)//从数组的第一个元素开始,到其最后一个

  {if(i%2= =0&&str[i]%2 1=o)//下标为偶数、同时ASCIl码值为奇数的字符

  t[j++]=str[i];} //如果成立,则把它放到t数组中

  t[i]=’\o’;//字符串结束标志为’

计算机等级考试c语言试题及答案

伟文分享

  在计算等级C语言考试中,我们会遇到什么样的题目类型呢?下面是学习啦小编给大家整理的计算机等级考试c语言试题及答案,供大家参阅!

  计算机等级考试c语言试题

  一、基本操作题

  请补充main(  )函数,该函数的功能是:输入两个正整数numl和num2,求这两个数的最大公约和最小公倍数。

  例如,若输入的两个正整数为12,4,则它们的最大公约数为12,最小公倍数为4。

  注意:部分源程序给出如下。

  请勿改动main(  )函数和其他函数中的任何内容,仅在main(  )函数的横线上填人所编写的若干表达式或语句。

  试题程序:

  #include

  #include

  void main(  )

  {

  int a,b,numl,num2,t;

  system("CLS"):

  printf("\nInput two numbers:\n");

  scanf("%d,%d",&numl,&num2);

  if(numl  {

  a=num2;

  b=numl:

  }

  else

  {

  a=numl;

  b=num2;

  )

  while(【1】)

  {

  t= 【2】

  a=b;

  b=t:

  }

  printf(“greatest common divisor:

  %d\n",a);

  printf("least common multiple:

  %d\n", 【3】;

  }

  二、程序改错题

  下列给定程序中函数proc的功能是:取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。例如,当s中的数为l23456789时,t中的数为2468。请修改程序中的错误,使它能得出正确的结果。

  注意:不要改动main(  )函数,不得增行或删行,也不得更改程序的结构。

  试题程序:

  #include

  #include

  #include

  //****found****

  void proc(long S,long t)

  {long sl=10;

  s/=10;

  *t=s%10;

  //****found****

  while(s   { s=s/l00;

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

  sl=sl*10;

  }

  )

  void main(  )

  {long S,t;

  system("CLS"):

  printf("\nPlease enter S:");

  scanf("%ld",&s);

  proc(S,&t);.

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

  }

  三、程序设计题  请编写函数proc(  ),其功能是:将str所指字符串中除下标为偶数、同时ASCIl码值为奇数的字符外,其余的字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。例如,若str所指字符串中的内容为ABCDEFGl2345,其中字符B的ASCIl码值为偶数,所在元素的下标为奇数,因此必须删除;而字符A的ASCIl码值为奇数,所在数组中的下标为偶数,因此不应当删除。依此类推,最后t所指的数组中的内容应是ACEG。

  注意:部分源程序给出如下。

  请勿改动main(  )函数和其他函数中的任何内容,仅在函数proc(  )的花括号中填人所写的若干语句。

  试题程序:

  #include

  #include

  #include

  #include

  void proc(char*str,char t[])

  {

  )

  void main(  )

  {

  char str[100],t[100];

  system("CLS");

  printf("\nPlease enter string str:");

  scanf("%S",str);

  proc(str,t);

  printf("\nThe result iS:%s\n",t);

  计算机等级考试c语言试题答案

  一、基本操作题程序填空题

  【1】b!=0【2】a%b[3]numl*num2/a

  【解析】由程序可知,变量b中存放两个正整数中较小的那个数,while循环求两个正整数的公约数。因此【1】填“b!=0”;【2】填“a%b”.【3】处是求两个正整数最小公倍数的表达式,因此【3】填“numl*num2/a”。

  二、程序改错题

  (1)错误:void proc(10ng S,long t)

  正确:void proc(long s,long*t)

  (2)错误:while(s<0)

  正确:while(s>O)

  【解析】从主函数中实参可知,形参的第二个变量是长整型的指针变量。因此“void proc(long s,long t)”应改为“void proc(long s,long*t)”;要从低位开始取出长整型变量s中偶数位上的数,每次变量S要除以100,然后判断其是否大于0来决定是否要继续,因此“while(s0)”。

  三、程序设计题

  void proc(char*str。chart[3])

  {

  int i,j=0;

  for(i=0;str[i]! =’\O’;i++)//从数组的第一个元素开始,到其最后一个

  {if(i%2= =0&&str[i]%2 1=o)//下标为偶数、同时ASCIl码值为奇数的字符

  t[j++]=str[i];} //如果成立,则把它放到t数组中

  t[i]=’\o’;//字符串结束标志为’\0’

  }

  【解析】题目中要求将字符串str中下标为偶数,同时ASCIl码值为奇数的字符放在数组t中。首先,需要检查字符串str中下标为偶数的字符其ASCIl码值是否为奇数,将符合要求的字符放在数组t中。最后,为新的字符串数组添加结束符。


看了“计算机等级考试c语言试题及答案”的人还看了:

1.大学计算机基础试题及答案

2.1级计算机考试试题及答案

3.计算机等级一级考试2015年题目

4.计算机基础知识试题及答案

5.全国计算机c语言二级考试试题

6.java计算机等级考试试题及答案

  }

  【解析】题目中要求将字符串str中下标为偶数,同时ASCIl码值为奇数的字符放在数组t中。首先,需要检查字符串str中下标为偶数的字符其ASCIl码值是否为奇数,将符合要求的字符放在数组t中。最后,为新的字符串数组添加结束符。


看了“计算机等级考试c语言试题及答案”的人还看了:

1.大学计算机基础试题及答案

2.1级计算机考试试题及答案

3.计算机等级一级考试2015年题目

4.计算机基础知识试题及答案

5.全国计算机c语言二级考试试题

6.java计算机等级考试试题及答案