红杉资本郑庆生:C++几个程序功能的问题!

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 18:34:19
以下几个程序我已经知道结果就是不清楚功能是什么?
高手帮帮忙吧!
1、#include<iostream.h>
int f(int);
void main()
{
int i;
for(i=0;i<5;i++)
cout<<f(i)<<" ";
}
int f(int i)
{
static int k=1;
for(;i>0;i--)
k+=i;
return k;
}
结果:1 2 5 11 21
2、#include<iostream.h>
void main()
{
int a=4,b=3,c=5,t=0;
if(a<b)t=a;a=b;b=t;
if(a<c)t=a;a=c;c=t;
cout<<a<<","<<b<<","<<c<<endl;
}
结果:5,0,3
3、#include<iostream.h>
void main()
{
int a=0,i;
for(i=1;i<5;i++)
{
switch(i)
{
case 0:
case 3:a+=2;
case 1:
case 2:a+=3;
default: a+=5;
}
}
cout<<a<<endl;
}
结果:31
4、#include<iostream.h>
class A
{
public:A(int i=1,int j=0)
{
a=i;b=j;
}
void print()
{
cout<<a<<","<<b<<endl;
}
private:
int a,b;
};
void main()
{
A a1(5,6),a2;
a1.print ();
a2.print ();
}
结果:5,6
1,0
5、#include<iostream.h>
int fun(int,int);
void main()
{
int k=4,m=1,p;
p=fun(k,m);
cout<<"1:"<<p<<endl;
cout <<"2:"<<fun(k,m)<<endl;
}
int fun(int a,int b)
{
static int m,i=2;
i+=m+1;
m=i+a+b;
return m;
}
结果:1:8
2:17