n",*p);
}
A)1 B)7 C)9 D)11二、填空题
(1)表示条件:10 (2)下列程序的输出结果是( )
#include
main( )
{ char b[ ]="ABCDEFG";
char *chp=&b[7];
while(- -chp>&b[0])
putchar(*chp);
putchar("\n");
}
(3)下列程序的输出结果是( )
int ast( int x,int Y,int * cp,int * dp)
{ * cp=x+y;
* dp=x-y;
}
main( )
{ int a,b,c,d;
a=4;b=3;
ast(a,b,&c,&d);
print("% d % d \ n",c,d);
}
(4)阅读程序:
main( )
{ char str1[ ]="how do you do",str2[10];
char *p1=str1,*p2=str2;
scanf("% s",p2);
printf("%s",p2);
printf("%s\n",p1);
}
运行上面的程序,输入字符串 HOW DO YOU DO 则程序的输出结果是( )
(5)以下程序由终端键盘输入一个文件名,然后把从终端键盘输入的字符依次存放到该文件中,用#作为结束输入的标志。请填空。
#include
main( )
{ FILE * fp;
char ch,fname [10];
printf("Input the name of file\n");
gets(fname);
gets(fname);
if((fp=[5])= =NULL)
{ printf("Cannot open\n"); exit(0); }
printf("Enter data\n");
while((ch=getchar())!='#')
fputc([6],fp);
fclose(fp);
}
三、上机操作题
1.改错题
下列给定程序中,函数fun的功能是:逐个比较a、b两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c数组中,形成一个新的字符串。例如:若a中的字符串为:aBCDeFgH,b中的字符串为:ABcd,则c中的字符串应为:aBcdeFgH.请改正程序中的错误,使它能得到正确结果,注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include
#include
void fun (char *p, char *q, char *c)
{ int k=1;
while(*p! = *q)
{ if ( *p!< *q) c[k]= *q;
else c[k]= *p;
if(*p) p++;
if(*q) q++;
k++;
}
}
main( )
{ char a[10]="aBCDeFfH",b[10]="ABcd",c[80]={"\ 0"};
fun (a,b,c);
printf("The string a:");puts (a);
ptintf("The string b:");puts (b);
printf("The result :");puts(c);
2.编程题
请编写函数fun,它的功能是:求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
# include < conio.h>
# include < stdio.
责任编辑:小草