C语言谁知道答案,谢谢
1. 写出以下程序的运行结果
#include <stdio.h>
void main()
{
int a=3,b=4,c=5;
switch (a>0)
{
case 1:switch(b<0)
{
case 1: printf("!");break;
case 2: printf("@");break;
}
case 0: switch(c==5)
{
case 0: printf("#");break;
case 1: printf("*");break;
default: printf("$");break;
}
default: printf("&\n");
}
}
运行结果:
2.写出以下程序的运行结果
#include <stdio.h>
void main( )
{ int sum(int);
int s=0,i;
for(i=1;sum(i)<10;i++)
s=sum(i);
printf("s=%d",s);
}
int sum(int a)
{ static int c=0;
return(c+=a);
}
运行结果:
3.写出以下程序的运行结果
#include <stdio.h>
void main( )
{
int sum(int ,int );
printf("%d",sum(0,0));
}
int sum(int n,int s)
{ int s1;
s1=s+n*n;
if(s1<15)
return sum(n+1,s1);
else
return n-1;
}
运行结果:
4.写出以下程序的运行结果
#include <stdio.h>
#define N 2
int cal()
{ int i,j,k,count=0;
for(i=1;i<=N;i++)
for(j=0;j<=N;j++)
if(i==j) continue;
else for(k=0;k<=N;k++)
if(k!=i&&k!=j) count++;
return count;
}
void main()
{
printf("%d\n",cal( ));
}
运行结果:
5.写出以下程序的运行结果
#include <stdio.h>
void main( )
{ int f(int);
int a=1,i;
for(i=1;i<3;i++)
{ if(f(a)%2==0) break;
else printf("%d",f(a));
}
}
int f(int a)
{ int b=0;
static int c=0;
b++;
c++;
return(a+b+c);
}
运行结果:
6.写出以下程序的运行结果
#include <stdio.h>
int i=3;
int fun(int);
void main()
{
int i=10;
printf("%d\n",fun(4)*i);
}
int fun(int j)
{
if(j==0)
return i;
else
return(fun(j-1)*j);
}
运行结果:
7.写出以下程序的运行结果
#include <stdio.h>
void main( )
{
int i,j,k;
for(i=5,j=8;i<=j,j--;i++) k=i+j;
printf("%d",k);
}
运行结果:___ _
8.下面程序的运行结果是___ _
#include <stdio.h>
void main()
{
int a=2, b=9;
do
{ ++a;
b-=a;
}
while (b--<0);
printf("%d",b);
}
9.下面程序执行后,输出结果为: ___ _
#include<stdio.h>
#include<string.h>
void main()
{
int r; char ch1[] = "computer"; char ch2[] = "compare";
r = strcmp(ch1,ch2);
if ( r > 0 ) printf("larger");
else if (r<0) printf("smaller");
else printf("equal");
}
10.下面程序执行后的结果为__ _
#include <stdio.h>
main()
{
unsigned num=128;
unsigned k=1;
do
{
k*=num%10;
num/=10;
printf("*");
} while(num);
printf("%d\n", k);
}
11. 下面程序执行后的结果为___
#include <stdio.h>
void main()
{
int i,j,k,count=0,n=2;
for(i=1;i<=2;i++)
for(j=0;j<=2;j++)
if(i==j) continue;
else for(k=0;k<=n;k++)
if(k!=i&&k!=j) ++count;
printf("%d\n", count);
}