2.下列程序的运行结果是 【42】 。
main()
{ int a=2,b=3,c=4,d=5,x=0; if(a
if (!c) x=1; else x=2; else
if (d) x=3; else x=4;
printf(\}
3.下列程序的运行结果是 【43】 。
main()
{ int m=24,n=9,t; t=m%n; while(t)
{ m=n,n=t,t=m%n; }
printf(\}
4.下列程序的运行结果是_ 【44】 。
#include
{ int c=5;
printf(\ }
5.下列程序的运行结果是_ 【45】 。
main()
{ char a[3][6]={\ int i,j,n[3];
for(i=0;i<3;i++) { for(j=0;j<6;j++) if (a[i][j]=='\\0')
{ n[i]=j; break; } printf(\ } }
第 9 页 共 13 页
6.下列程序的运行结果是 【46】 。
#include
{ int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; int *p=a[0];
printf(\}
7.下列程序的运行结果是 【47】 。
void f(int *a, int b) { *a=*a+10; b=b+100; } main()
{ int x=5, y=8; f(&x, y);
printf(\ }
8.下列程序的运行结果是 【48】 。
int fun(int n) { if (n==0) return 0; else
return n+fun(n-1); }
main()
{ printf(\}
9.下列程序的运行结果是 【49】 。
#define MAX 3 int a[MAX]; void fun1() { int k,t=0;
for (k=0; k for (k=0; k { fun2(a); } 第 10 页 共 13 页 } 10.下列程序的运行结果是 【50】 。 #include void f1(struct sample *); main() { struct sample arg; arg.a=1000; arg.b=100; strcpy(arg.ch , \ f1(&arg); printf(\ %s\\n\} void f1(struct sample *parm) { parm->a = parm->a + parm->b; parm->ch[2] = 'x'; } 三、程序改错题:(每题 6 分,共 12 分) (说明:请将”found error”行的错误更正, 并将正确答案按照题号填写在“程序改错题答题处”,不可增加语句) x2x3??? ,从键盘输入x,求ex的1.下面程序的功能是:利用公式 e?1?x?2!3!x近似值 ,直到最后一项的绝对值小于10-6为止。请填空完善程序 #include { float t, x, e; int i; scanf(\ t=1, i=1, e = x ; /* found error 【51】 */ do { t= x*x / i ; /* found error 【52】 */ e += t; i++; }while(abs(t)<1e-6); /* found error 【53】 */ printf(\} 第 11 页 共 13 页 2.假设数组a的各元素已经按从小到大的顺序排序,下面程序的功能是利用二分查找算法在数组a中查找是否有一个元素的值是b。如果存在,显示该元素的下标,否则显示-1。请填空完善程序。 #define N 10 main() { int a[N]={2,5,7,9,12,15,16,19,23,26}, b, low, high, mid; scanf(\ low=0; high=N-1; mid=(low+high)/2; while(low { if (b = a[mid]) /* found error 【54】 */ break; else if ( b > a[mid] ) /* found error 【55】 */ high= mid -1; else low= mid +1; mid=(low+high)/2 ; } if ( low > high ) /* found error 【56】 */ printf(\ else printf(\} 四、完善程序填空题:(每空2分,共18分) (说明:请将正确答案按照题号填写在“程序改错题答题处”) 1.下面程序的功能是:求给定四个字符串中最大的一个,并输出。请填空完善程序。 #include { char *s[]={\ char *max; int i; 【57】 ; for(i=1; i<=3; i++) if (strcmp(max,s[i]) 【58】 ) max= s[i]; puts( 【59】 ); } 第 12 页 共 13 页 2.下面程序的功能是:通过函数 average 计算数组中各元素的平均值。请填空完善程序。 float average (int *pa, int n) { int i; float avg = 0.0; for (i=0; i 3.下面程序的功能是:从键盘输入一串以回车结束的字符,并将它们写入到文本文件E:\\t1.txt中。要求小写字母转换为大写字母写入文件,大写字母和其它字符直接写入文件。请填空完善程序。 #include { 【63】 *fp ; char ch; fp=fopen( \ 【64】 ); while( (ch=getchar()) != '\\n' ) { if ( ch >= 'a' && ch <= 'z' ) ch -= 32 ; 【65】 ; } fclose(fp); } 第 13 页 共 13 页