找了点题目来做就傻了
以下题目还求各位帮忙
目的:理解程序的流程;得出执行的结果
*******************************************
1.#include <iostream.h>
void main(void)
{int x=6;
do{
cout<<(x -=2)<<'\t';
}while(!(--x));}
*******************************************
2.#include <iostream.h>
void main(void)
{ char *s="2473";
char c;
while (c=*s++)
switch (c-'2'){
case 0:
case 1: cout<<(char) (c+4);
case 2: cout<<(char) (c+4)<<’\n’; break;
case 3: cout<<(char) (c+3);
default: cout<<(char) (c+2) <<’\n’; break;}
cout<<endl;}
*******************************************
3.#include <iostream.h>
void sub(int x, int y, int *z)
{ *z=y-x;}
void main(void )
{ int a, b, c;
sub(10,5,&a);
sub(7,a,&b);
sub(a,b, &c);
cout<< a<<','<<b<<','<<c<<'\n';}
*******************************************
4.#include<iostream.h>
class Myclass{
public:
Myclass (int a){x=a; cout<<”This is”<<x<<”constructor.”<<endl;}
~Myclass( ){ cout<<”This is”<<x<<”destructor.”<<endl;}
private:
int x;};
void main(void)
{Myclass c(1); }
*******************************************
5.#include <iostream.h>
int f(int x)
{ static int u=1;
x+=x; return u*=x;
}
void main( void )
{ int x=10;
cout<<f(x)<< ‘\t’;
cout<<f(x)<<endl;}
*******************************************
6.#include<iostream.h>
int f(int x)
{ static int u=1;
x+=x;
return u*=x;}
void main(void)
{ int x=10;
cout<<f(x)<<’\t’;
cout<<f(x)<<endl;}
*******************************************
7.#include<iostream.h>
void main(void)
{ char *p=”abcdefgh”,*r;
int *q;
q=(int*)p; q++;
r=(char*)q;
cout<<r<<endl;}
*******************************************
8.#include<iostream.h>
int fun(int a,int b)
{int i;
for(i=(a>b?a:b);i<=a*b;i++)
if (i%a==0&&i%b==0) return i;}
void main(void)
{ cout<<fun (2,5)<<endl;}
*******************************************
9.#include<iostream.h>
void main(void)
{
int sum,k;
for(sum=0,k=1;k<1000;k++)
{if(k%9==0)break;
sum+=k;}
cout<<sum<<endl;}
*******************************************
10.#include<iostream.h>
int x=100;
void main(void)
{ int x=10,k=20;
{ int x=20; k=::x;
cout<<x<<’\t’<<k<<endl;}
cout<<x<<’\t’<<k<<endl;}
*******************************************
在此向各位请教,求诸位能赐教
最好能把程序解释一下,有助在下理解
谢了!
5 个解决方案
#1
用VC跟踪调试一下不就清楚了。
#2
4.#include<iostream.h>
class Myclass{
public:
Myclass (int a){x=a; cout<<”This is”<<x<<”constructor.”<<endl;}
~Myclass( ){ cout<<”This is”<<x<<”destructor.”<<endl;}
private:
int x;};
void main(void)
{Myclass c(1); }
Myclass is a class name ,c is a object,c(1)--->initializtion
6.#include<iostream.h>
int f(int x)
{ static int u=1;
x+=x;
return u*=x;}
void main(void)
{ int x=10;
cout<<f(x)<<’\t’;
cout<<f(x)<<endl;}
static int u-->静态变量
x+=x ---> x = x+x
u*=x----> u= u*x
大哥,还是自己看吧。我写得也没有耐心了。
这些都是最基础的。....死也要自己理解。
class Myclass{
public:
Myclass (int a){x=a; cout<<”This is”<<x<<”constructor.”<<endl;}
~Myclass( ){ cout<<”This is”<<x<<”destructor.”<<endl;}
private:
int x;};
void main(void)
{Myclass c(1); }
Myclass is a class name ,c is a object,c(1)--->initializtion
6.#include<iostream.h>
int f(int x)
{ static int u=1;
x+=x;
return u*=x;}
void main(void)
{ int x=10;
cout<<f(x)<<’\t’;
cout<<f(x)<<endl;}
static int u-->静态变量
x+=x ---> x = x+x
u*=x----> u= u*x
大哥,还是自己看吧。我写得也没有耐心了。
这些都是最基础的。....死也要自己理解。
#3
多谢jsjjms!
#4
建议先看语法,一定要弄懂再看代码,这些都非常简单,基本上没有涉及到什么算法,大部分都是多了些循环判断的。最后那个10里的k=::x;取的是全局变量x。
#5
去下载个编译器设个断点就能看明白啦~~~
#1
用VC跟踪调试一下不就清楚了。
#2
4.#include<iostream.h>
class Myclass{
public:
Myclass (int a){x=a; cout<<”This is”<<x<<”constructor.”<<endl;}
~Myclass( ){ cout<<”This is”<<x<<”destructor.”<<endl;}
private:
int x;};
void main(void)
{Myclass c(1); }
Myclass is a class name ,c is a object,c(1)--->initializtion
6.#include<iostream.h>
int f(int x)
{ static int u=1;
x+=x;
return u*=x;}
void main(void)
{ int x=10;
cout<<f(x)<<’\t’;
cout<<f(x)<<endl;}
static int u-->静态变量
x+=x ---> x = x+x
u*=x----> u= u*x
大哥,还是自己看吧。我写得也没有耐心了。
这些都是最基础的。....死也要自己理解。
class Myclass{
public:
Myclass (int a){x=a; cout<<”This is”<<x<<”constructor.”<<endl;}
~Myclass( ){ cout<<”This is”<<x<<”destructor.”<<endl;}
private:
int x;};
void main(void)
{Myclass c(1); }
Myclass is a class name ,c is a object,c(1)--->initializtion
6.#include<iostream.h>
int f(int x)
{ static int u=1;
x+=x;
return u*=x;}
void main(void)
{ int x=10;
cout<<f(x)<<’\t’;
cout<<f(x)<<endl;}
static int u-->静态变量
x+=x ---> x = x+x
u*=x----> u= u*x
大哥,还是自己看吧。我写得也没有耐心了。
这些都是最基础的。....死也要自己理解。
#3
多谢jsjjms!
#4
建议先看语法,一定要弄懂再看代码,这些都非常简单,基本上没有涉及到什么算法,大部分都是多了些循环判断的。最后那个10里的k=::x;取的是全局变量x。
#5
去下载个编译器设个断点就能看明白啦~~~