c++作题

1.#include<iostream>

using namespace std;

int main()

{

        inta=10,b=20;

        int*p=&a,*q=&b;//*表示指针类型说明符,代表由P指向a和由q指向b;&是取地址运算符;

        *p=*p**q;//124*是间址访问符,第三个*是算数乘运算符;

        int&ra=a;//&是引用说明符

        ra=a;

        int*&rt=q;//*是指针类型说明符;&是引用说明符;

        *rt=30;//*是间址访问符;

cout<<"a="<<a<<"\nb="<<b<<"\n*p="<<*p<<"\n*p="<<*q<<"\nra"<<ra<<"\n*rt"<<*rt<<endl;//*是间址访问符;

        return0;

}

此程序的结果:

a=200

b=30

*p=200

*p=30

ra200

*rt30

Press any key to continue

1.#include<iostream>

using namespace std;

int cube(int t);//cube的函数原型的标识符t作用域从这里结束

int main()

{

        intk;//k的作用域从这里开始

        for(k=1;k<10;k++)

                 cout<<cube(k)<<endl;//k的作用域从这里结束

}

int cube(int t)//cubt函数可以访问t//cube的函数原型的标识符t作用域从这里开始

{return t*t*t;}//cube函数的变量t的从这里开始从这里结束

说明下列每个元素的作用域

(a)main中的变量k;

(b)cube函数的变量t;

(c)cube的函数原型;

(d)cube的函数原型的标识符t;

3.6   2.

#include<iostream>

using namespace std;

void display(double d)

{

        cout<<"adouble"<<d<<endl;

}

void display(char c)

{

        cout<<"achar"<<c<<endl;

}

void display(int i)

{

        cout<<"aint"<<i<<endl;

}

int main()

{

        doubled=1.5;int i=100;char c='a';

        display(d);

        display(i);

        display(c);

        return0;

}   

a double1.5

a int100

a chara

Press any key to continue

                  


2.阅读程序,写出运行结果

#include<iostream>

using namespace std;

int sub(int,int);

int a=1;

int main()

{

        intm=1,n=2,f;

        f=sub(m,n);

        cout<<a<<'\t'<<f<<endl;

        f=sub(m,n);

        cout<<a<<'\t'<<f<<endl;

        return0;

}

int sub(int c,int d)

{

        staticint m=2,n=5;

        cout<<m<<'\t'<<n<<'\t'<<endl;

        a=++a;c=m++;d=n++;

        returnc+d;

}

运行结果:

2      5

2      7

3      6

3      9

Press any key to continue


二、程序阅读

 

2.阅读程序,写出运行结果(4.6)

 

c++#include<iostream>

using namespace std;

int main()

{

        char*str[]={"c++","basic","pascal"};

        char**p;int i;

        p=str;

        for(i=0;i<3;i++)

                 cout<<*(p+i)<<endl;

        return0;

}

 结果是:

basic

pascal

Press any key to continue

2.阅读程序,写出运行结果(4.4)

#include<iostream>

using namespace std;

int f(int[][3],int,int);

int main()

{

        inta[][3]={0,1,2,3,4,5,6,7,8};

        cout<<f(a,3,3)<<endl;

        return0;

}

int f(int a[][3],int row,int col)

{

        inti,j,t=1;

        for(i=0;i<row;i++)

        {for(j=0;j<col;j++)

        if(i==j)t*=a[i][j];}

        returnt;

}

结果为:

0

Press any key to continue

 

 

2阅读程序,写出运行结果(4.5)

#include<iostream>

using namespace std;

void test1(int*a1)

{

         a1=new int(5);

         cout<<"a1="<<*a1<<endl;

}

void test2(int *&a2 )

{

 a2=new int(5);

 cout<<"*a2="<<*a2<<endl;

}

int main()

{

    int*p=new int(1);

         test1(p);

         cout<<"test1;*p1="<<*p<<endl;

         test2(p);

         cout<<"test2;*p2="<<*p<<endl;

         return 0;

 }

 

结果是:

a1=5

test1;*p1=1

*a2=5

test2;*p2=5

Press any key to continue

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



猜你喜欢

转载自blog.csdn.net/ccccc49813645075/article/details/80152953
今日推荐