1.有以下程序段,运行后的输出结果是【1】:
float fun(int x,int y){ return(x+y);}
main()
{ int a=2,b=5,c=8;
printf("%3.0f\n",fun((int)fun(a+c,b),a-c)); } 2. 下列程序段执行后的输出结果是【2】
void func1(int i);
void func2(int i);
char st[]="hello,friend!";
void func1(int i)
{ printf("%c",st[i]);
if(i<3){ i+=2;func2(i); } }
void func2(int i)
{ printf("%c",st[i]);
if(i<3){i+=2; func1(i); } } main()
{ int i=0; func1(i); printf("\n"); }
3. 有以下程序段,运行后的输出结果是【3】:int f(int n)
{ if(n==1)return 1;
else return f(n-1)+1; }
main()
{ int i,j=0;
for(i=1;i<3;i++)j+=f(i);
printf("%d\n",j); }
4. 有如下程序段,运行后的输出结果是【4】:long fib(int n)
{ if(n>2)return(fib(n-1)+fib(n-2));
else return(2); }
main()
{ printf("%d\n",fib(3)); }
5. 下列函数的运行结果是【5】
int f(int a,int b)
{ int c;
if(a>b)c=1;
else if(a==b)c=0;
else c=-1;
return(c);
}
main()
{ int i=2,p; int j,k; j=i; k=++i;
p=f(j,k); printf("%d",p);
}
6.阅读下列程序段,当运行函数时,输入asd af aa z67,则输出为【6】int fun (char *str)
{ int i,j=0;
for(i=0;str[i]!=′\0′;i++)
if(str[i]!=′′)str[j++]=str[i];
str[j]= ′\0′;
}
main()
{ char str[81]; int n; clrscr();
printf("Input a string : "); gets(str);
puts(str); fun(str); printf("%s\n",str); } 7.以下程序段的输出结果是【7】
long fun(int n)
{ long s;
if(n==1||n==2)s=2;
else s=n-fun(n-1);
return s;
}
main()
{ printf("%ld\n", fun(3)); } 8.已有变量定义和函数调用语句:
int a=25; print_value(&a);
下面函数的正确输出结果是【8】void print_value(int *x)
{ printf("%d\n",++*x); } 9. 以下程序段的输出结果是【9】int f()
{ static int i=0; int s=1;
s+=i; i++; return s; } main()
{ int i,a=0;
for(i=0;i<5;i++)a+=f();
printf("%d\n",a);
}
10. 阅读下面程序段段,则执行后输出的结果是【10】main()
{ char fun(char,int);
char a=′A′; int b=13;
a=fun(a,b); putchar(a);
}
char fun(char a,int b)
{ char k; k=a+b; return k; }
11.现有如下程序段,程序段的输出结果是【11】
int fun(int x)
{ printf("x=%d\n",++x); }
main()
{ fun(12+5); }
12.现有如下程序段,程序段的输出结果是【12】int aa(int x,int y)
{ int w; while(y){ w=x%y; x=y; y=w; } return x; }
main()
{ int a=24,b=16,c; c=aa(a,b);
printf("%d\n",c); }
13.下列程序段的输出结果是【13】
#define N 3
#define M 3
void fun(int a[M][N])
{ printf("%d\n",*(a[1]+2)); }
main()
{ int a[M][N]; int i,j;
for(i=0;i for(j=0;j fun(a); } 14. 阅读下面程序段,则执行后的结果为【14】 fun1(){ int k=20; return k; } fun2(){ int a=15; return a; } fun3(int a,int b) { int k; k=(a-b)*(a+b); printf("%d\n",k); } main(){ fun3(fun1(),fun2()); } 15. 阅读下面程序段,则程序段执行后的结果为【15】main() { int a=4,b=6,c=7; double d; double fun(int,int,int); d=fun(a,b,c); printf("%lf\n",d); } double fun(int a,int b,int c) { double s; s=a%b*c; return s; } 16. 现有如下程序段,则程序段的输出结果为【16】int f(int a,int b) { int c; if(a>0&&a<10)c=(a+b)/2; else c=a*b/2; return c; } main() { int a=8,b=20,c; c=f(a,b); printf("%d\n",c);} 17.阅读如下程序段,执行后的输出结果为【17】main() { char c; int i; char count(); int p(char); for(i=0;i<30;i++)c=count(); p(c); } char count() { char str=′A′; str+=1; return(str); } p(char c) { putchar(c); putchar(′\n′); } 18. 阅读程序段,则执行后的结果为【18】test1(){ int x=0; x++; return x; } test2(){ static int x=0; x++; return x; } main(){ int i,m,n; for(i=0;i<3;i++) { m=test1(); n=test2(); } printf("%d,%d\n",m,n); } 19.以下程序段的输出结果是【19】。 void fun() { static int a=0; a+=2; printf("%d",a); } main() { int cc; for(cc=1;cc<4;cc++)fun(); printf("\n"); } 20. 以下程序段运行结果是【20】。 long fib (int g) { switch (g) { case 0∶return 0; case 1∶ case2∶return 1; } return (fib (g-1)+fib(g-2)); } main () { long k; k=fib (5); printf ("k=%(d\n)",k); } 21.以下程序段的输出结果是【21】。 unsigned fun6(unsigned num) { unsigned k=1; do { k *=num ; num/=10; } while (num); return k; } main() { unsigned n=26; printf("%d\n", fun6(n)); } 22.以下函数的功能是【22】。 float av(float a[], int n) { int i; float s; for(i=0, s=0; i return s/n; } 23 现有如下程序段,输出结果为【23】。 int fun() { static int k; return k; } main() { int m; m=fun(); printf("%d\n",m); } 24. 有以下程序段,运行后的输出结果是【24】。main() {int i,n[]={0,0,0,0,0}; for (i=1;i<=4;i++) { n[i]=n[i-1]*3+1; printf(”%d ",n[i]);} } 25. 有以下程序段,运行后的输出结果是【25】int *f(int *p,int*q) {return(*p>*q)?p:q;} main() {int m=1,n=2,*r=&m; r=f(r,&n);printf(”%d\n”,*r);}26.有以下程序段,运行后的输出结果是【26】main() {int n[2],i,j; for(i=0;i<2;i++)n[i]=0; for(i=0;i<2;i++)for(j=0;j<2;j++)n[j]=n「i」+1; printf(”%d\n”,n[1]);} 27. 有以下程序段,运行后的输出结果是【27】 main(){ int i, s=0; int aa[4][4]={{1,2,3,4}, {5,6,7,8}, {3,9,10,2},{4,2,9,6}}; for (i=0;i<4;i++)s+=aa[i][1]; printf("%d\n",s); } 28.以下程序段的输出结果是【28】 main () { int a,b,d=241; a=d/100%9; b=(-1)&&(+1); printf("%d,%d,a,d"); } 29. 有以下程序段,运行后的输出结果是【29】 int f(intn) { if(n==1) return1; else returnf(n-1)+1; } main() { inti,j=0; for(i=1;i<5;i++) j+=f(i); printf("%d\n",j); } 30. 有以下程序段,运行后的输出结果是【30】 int b=2; int func(int*a) { b+=*a; return(b); } main() { int a=2,res=2; res+=func(&a); printf("%d\n",res); } 31. 有以下程序段: main() { static char s1[20],s2[20]; scanf("%s",s1);scanf("%s",s2); if(strcmp(s1,s2))printf("@"); elseprintf("$"); printf("%d\n",strlen(strcat(s1,s2)));} 如果从键盘上输入name<回车>name1<回车>,则程序段运行后的输出结果是【31】 32. 有以下程序段,运行后的输出结果是【32】 ss(char *s){ char *p=s; while(*p)p++; return(p-s);} main() { char*a="abded"; inti; i=ss(a); printf("%d\n",i); } 33. 有以下程序段,运行后的输出结果是【33】 int sub() { static int n=1; int x=1; x*=n;n++; return x; } main() { int n,t=1; for(n=1;n<6;n++) t*=sub(); printf("%d\n",t); } 34.以下程序段的输出结果是【34】 main() { charss[16]="test\0\n\""; printf("%d,%d\n",strlen(ss),sizeof(ss)); } 35. 有以下程序段,运行后的输出结果是【35】 main(){ struct stru{ int a,b; char c[6];}; printf("%d\n",sizeof(stru)); } 36.有以下程序段,运行后的输出结果是【36】 main() { char *p1,*p2,str[50]="xyz"; p1="abcd"; p2="ABCD"; strcpy(str+2,strcat(p1+2,p2+1)); printf("%s",str); } 40. 有以下程序段,运行后的输出结果是【40】 main() { int i=0,a=0; while(i<20) { for(;;) { if((i )==0)break;else i--; } i+=11;a+=i; } printf("%d\n",a); }