眼镜蛇 发表于 2011-3-24 21:28:26

2011年计算机二级考试C语言上机模拟题

1.填空题   
请补充main函数,该函数的功能是:从键盘输入一个字符串并保存在字符str1中,把字符串str1中下标为偶数的字符保存在字符串str2中并输出。例如,当str1=“cdefghij”,则str2=“cegi”。   
注意:部分源程序给出如下。   
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。   
试题程序:   
#include<stdio.h>   
#include<conio.h>   
#define LEN 80   
main()   
{   char str1,str2;   
      char *p1=str1,*p2=str2;   
      int i=0,j=0;   
      clrscr();   
      printf("Enter the string:\n");   
      scanf(【1】);   
      printf("***the origial string***\n");   
      while(*(p1+j))   
{   printf("【2】",*(p1+j));   
      j++;   }   
for(i=0;i<j;i+=2)   
       *p2++=*(str1+i);   
       *p2=’\0’;   
       printf("\nThe new string is:%s\n",【3】); }  

答案及评析:【1】″%s″,str1 【2】%c 【3】str2   
【解析】填空1:本题考查对标准输入函数scanf()的调用格式,当输入字符串时,格式控制字符串为″%s″,题目要求输入的字符串保存在str1中,所以地址表列应为字符串的首地址,即为str1。填空2:本题考查对标准输出函数printf()的调用格式,当输出为字符型变量时,格式控制字符串为″%c″。填空3:题目要求将str1中下标为偶数的字符保存在字符串str2中并输出,所以printf()函数的输出表列是str2


http://www.wenliren.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 眼镜蛇的微博

眼镜蛇 发表于 2011-3-24 21:32:15

2. 改错题   
在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。下列给定程序中,函数fun()的功能是计算数组元素中值为负数的平均值(不包括0)。   
例如:数组中元素的值依次为43,-47,-21,53,-8,12,0,则程序的运行结果为-25.333333。   
请改正程序中的错误,使它能得到正确结果。   
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。   
试题程序:   
#include <conio.h>   
#include <stdio.h>   
double fun(int x[ ])   
{   double sum=0.0;   
         int c=0, i=0;   /∵∵∵∵found∵∵∵∵*/   
while(x==0)   
{   if(x<0)   
       {   sum=sum+x;   
               c++;   }   
i++;   }   /∵∵∵∵found∵∵∵∵*/   
sum=sum\c;   
return sum;   }   
main()   
{int x; i
nt i=0;
clrscr();   
printf("\nPlease enter some data(end with 0) :");   
do   
{ scanf("%d",&x);   }
while(x!=0);   
printf("%f\n",fun(x));   }   

答案及评析:(1)错误:while(x==0)正确:while(x!=0)(2)错误:sum=sum\c;正确:sum=sum/c;   
【解析】错误1:此处考查的是对循环条件的理解,当被判断的数组元素为0时,说明这是数组的最后一个元素,此时要跳出循环。   
错误2:C语言中的除法运算符是"/",而不是"\"。

页: [1]
查看完整版本: 2011年计算机二级考试C语言上机模拟题