习题6 一、程序阅读题
1、以下程序运行后的输出结果是 c 。
#include <stdio.h> void fun(int x, int y, int z) { z=x*x+y*y;
} void main() { int a=31;
fun(5,2,a); printf( "%d", ,a);
}
A 0 B、29 C、31 D、无定值
2、以下程序运行后的输出结果是 d 。#include <stdio.h> void f(int x,int y)
{ int t;
if(x<y){ t=x; x=y; y=t; }
} void main( ) { int a=4,b=3,c=5; f(a,b); f(a,c); f(b,c); printf("%d,%d,%d\n",a,b,c);
}
A、3,4,5 B 、5,3,4 C 、5,4,3 D 、4,3,5
3、以下程序运行后的输出结果是 a 。
#include "stdio.h" #define FUDGE(y) 2.84+y #define PR(a) printf("%d",(int)(a)) #define PRINT1(a) PR(a);putchar('\n') void main()
{ int x=2;
PRINT1(FUDGE(5)*x);
}
A、12
B、14
C、16
D、18
4、以下程序的输出结果是 d 。
#include <stdio.h> int k = 1;
void main()
{ void Fun(); int j;
for(j = 0; j < 2; j++)
Fun(); printf("k=%d", k);
} void Fun() { int k = 1; printf("k=%d,", k);
k++;
}
A、k=1,k=2,k=3 B 、k=1,k=2,k=1 C 、k=1,k=1,k=2 D 、k=1,k=1,k=1
5、以下程序的输出结果是 d 。
#include "stdio.h" int f() { static int i=0 ;int s=1; s+=i; i++; return s;
} void main() { int i,a=0;
for(i=0;i<5;i++) a+=f(); printf("%d\n",a);
}
A、20
B、24
C、25
D、15
6、以下程序的输出结果是 b 。
#include <stdio.h> int f(int n) { if(n==1) return 1; else return
f(n-1)+1;
} void main() { int i,j=0;
for(i=1;i<3;i++) j+=f(i); printf( “%d\n”,j);
}
A、4
B、3
C、2
D、1 二、程序填空题