计算机二级c语言上机真题
第 1 页共27 页
第一套
1.填空题
请补充main函数,该函数的功能是:从键盘输入一个字符串并保存在字符str1中,把字符串str1中下标为偶数的字符保存在字符串str2中并输出。例如,当str1=“cdefghij”,则str2=“cegi”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#i ncl ude
#i ncl ude
#defi ne LEN 80
mai n()
{
char str1[LEN],str2[LEN];
char *p1=str1,*p2=str2;
i nt i=0,j=0;
clrscr();
pri ntf("Enter the string:\n");
scanf(【1】);
pri ntf("***the ori gial string***\n");
while(*(p1+j))
{
pri ntf("【2】",*(p1+j));
j++;
}
for(i=0;i
*p2++=*(str1+i);
*p2='\0';
pri ntf("\nThe new stri ng i s:%s\n",【3】);
}
答案及评析:
【1】″%s″,str1【2】%c 【3】str2
【解析】填空1:本题考查对标准输入函数scanf()的调用格式,当输入字符串时,格式控制字符串为″%s″,题目要求输入的字符串保存在str1中,所以地址表列应为字符串的首地址,即为str1。填空2:本题考查对标准输出函数printf()的调用格式,当输出为字符型变量时,格式控制字符串为″%c″。填空3:题目要求将str1中下标为偶数的字符保存在字符串str2中并输出,所以printf()函数的输出表列是str2
2. 改错题
在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。下列给定程序中,函数fun()的功能是计算数组元素中值为负数的平均值(不包括0)。
例如:数组中元素的值依次为43,-47,-21,53,-8,12,0,则程序的运行结果为-25.333333。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include
#include