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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疯子佳人傻了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值