第1页是真题,第2页是简要的解答提示,第3页是解题分析和答案。强烈建议先尝试自己完成,或者借助第2页的解答提示来完成,实在不明白再看答案。
第6~13题
6 以下程序运行时输出到屏幕的结果为 (6)
1 2 3 4 5 6 7 8 | #include <stdio.h> #define MAX(A,B) A>B?2*A:2*B void main() { int a=1,b=2,c=3,d=4,t; t=MAX(a+b,c+d); printf("%d\n",t); } |
7 以下程序运行时输出到屏幕的结果为 (7)
1 2 3 4 5 6 7 8 9 | #include <stdio.h> void main() { int a=1,b=2; a+=b; b=a-b; a-=b; printf("%d,%d\n",a,b); } |
8 以下程序运行时输出到屏幕的结果是 (8)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #include <stdio.h> void swap(int a,int b) { int t; if(a>b)t=a,a=b,b=t; } void main() { int x=13,y=11,z=12; if(x>y)swap(x,y); if(x>z)swap(x,z); if(y>z)swap(y,z); printf("%d\t%d\t%d\n",x,y,z); } |
9 以下程序运行时输出到屏幕的结果第一行是 (9) ,第二行是 (10) ,第三行是(11)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include <stdio.h> int g(int x,int y) { return x+y; } int f(int x,int y) { { static int x=2; if(y>2) { x=x*x; y=x; } else y=x+1; } return x+y; } void main() { int a=3; printf("%d\n",g(a,2)); printf("%d\n",f(a,3)); printf("%d\n",f(a,2)); } |
10 以下程序运行时输出到屏幕的结果是 (12)
1 2 3 4 5 6 7 8 9 10 11 12 13 | #include <stdio.h> void fun(int m,int n) { if(m>=n) printf("%d",m); else fun(m+1,n); printf("%d",m); } void main() { fun(1,2); } |
11 以下程序运行时输出到屏幕的结果第二行是 (13) ,第四行是 (14)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #include <stdio.h> #define N 6 void main() { int i,j,a[N+1][N+1]; for(i=1; i<=N; i++) { a[i][i]=1; a[i][1]=1; } for(i=3; i<=N; i++) for(j=2; j<=i-1; j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=1; i<=N; i++) { for(j=1; j<=i; j++) printf("%d ",a[i][j]); printf("\n"); } } |
12 以下程序运行时输出到屏幕的结果第一行是 (15) ,第二行是 (16)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #include <stdio.h> void fun(char *p1,char *p2); void main() { int i; char a[]="54321"; puts(a+2); fun(a,a+4); puts(a); } void fun(char *p1,char *p2) { char t; while(p1<p2) { t=*p1; *p1=*p2; *p2=t; p1+=2, p2-=2; } } |
13 以下程序运行时输出至到屏幕的结果第一行是(17) ,第二行是(18)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include <stdio.h> typedef struct { int x,y; } direction; int visible(direction s,direction A,direction B,direction C) { direction p1,p2; int d; p1.x=B.x-A.x; p1.y=B.y-A.y; p2.x=C.x-A.x; p2.y=C.y-A.y; d=s.x*p1.x*p2.x+s.y*p1.y*p2.y; printf("%d\n",d); return d>0; } void main() { char *ss[]= {"invisible","visible"}; direction s= {1,1},T= {1,1},A= {0,0},B= {2,1}; puts(ss[visible(s,T,A,B)]); } |