C++面向对象程序设计》.doc

C++面向对象程序设计》.doc

ID:56897440

大小:94.00 KB

页数:22页

时间:2020-07-21

C++面向对象程序设计》.doc_第1页
C++面向对象程序设计》.doc_第2页
C++面向对象程序设计》.doc_第3页
C++面向对象程序设计》.doc_第4页
C++面向对象程序设计》.doc_第5页
资源描述:

《C++面向对象程序设计》.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第2章C++的初步知识【2.3】【解】B【2.4】【解】C【2.5】【解】C【2.6】【解】C【2.7】【解】C【2.8】【解】A【2.9】【解】B【2.10】【解】D【2.11】【解】D【2.12】解】C【2.13】【解】D说明:“int*p=newint(5);”表示动态分配1个整型内存空间,初值为5;“int*p=newint[5];”表示动态分配5个整型内存空间;“int*p=newint;”表示动态分配1个整型内存空间;“int*p=newint[5](0)”想给一个数组分配内存空间时,对数组进行初始化,这是不允许的。【2.14】【解

2、】D说明:name被定义为指向常量的常指针,这个指针变量所指的地址不能改变,它所指向的地址中的数据也不能改变。“name[3]=′a′;”修改了name所指向的地址中的数据,“name="lin";”和“name=newchar[5];”修改了name所指的地址,只有D输出一个字符是正确的。【2.15】【解】A说明:name被定义常指针,它所指向的地址中的数据能改变,但它所指的地址不能改变。“name[3]=′q′;”修改了name所指向的地址中的数据,是正确的。而“name="lin";”、“name=newchar[5];”和“name=n

3、ewchar(′q′);”以不同的方法修改了name所指的地址,都是错误的。【2.16】【解】A说明:name被定义指向常量的指针,它所指向的地址中的数据不能改变,但它所指的地址可以修改,而“name[3]='q';”修改了name所指向的地址中的数据,是错误的。“name=="lin";”、“name=newchar[5];”和“name=newchar(′q′)”以不同的方法修改了name所指的地址,都是正确的。【2.17】【解】C【2.18】【解】D说明:C++中不能建立引用数组和指向引用的指针,也不能建立引用的引用。所以A、B、C是错误

4、的,D是正确的。【2.19】【解】A【2.20】【解】B【2.21】【解】(1)这两个函数原型是等价的,因为函数原型中的参数名可以缺省。(2)这两个函数的第一行是不等价的,函数的第一行中必须包含参数名。【2.23】【解】本程序的运行结果如下:x+y=65【2.24】【解】本程序的运行结果如下:101说明:在语句“::i=i+1;”中赋值号左边“::i”的中i是全局变量,赋值号右边的i是局部变量。所以执行该语句的结果是将局部变量i的值加1(即101)后赋值给全局变量i。【2.25】【解】本程序的运行结果如下:1010说明:函数f(&m,n)中第1

5、个参数是引用参数,引用参数是一种按地址传递参数的方法,对其的调用是传地址调用;而第2个参数是变量参数,对它的调用是传值调用。所以调用函数f后,实参a的值被改为10,实参b的值不变,仍为10。【2.26】【解】本程序的运行结果如下:1020说明:函数f的参数是变量的引用,对它的调用是传地址调用,所以函数f调用后,主函数中k的值变为10。又由于m是对函数f的引用,当m被赋值为20时,k的值也变为20。【2.27】【解】程序的作用是:输入3个整数,然后输出其中值最大的数。在主函数中输入3个整数,然后调用f函数,在f函数中实现找最小的整数,用if语句比

6、较两个数,将大者存放在变量m中,经过两个if语句的比较,m中存放的是3个整数中最大的数。运行情况如下:247↙(输入3个整数)7(输出其中最大的数)【2.28】【解】实现本题功能的程序如下:#include#includeusingnamespacestd;intmain(){floatx,y;cout<<"pleaseinput2floatstox,y:";cin>>x>>y;floatz=pow(x,y);cout<<"pow("<

7、的运行结果是:pleaseinput2floatstox,y:2.13↙pow(2.1,3)=9.261说明:由于要用到系统函数pow(x,y),所以要包含头文件cmath。【2.29】【解】实现本题功能的程序如下:#includeusingnamespacestd;intmain(){int*p=newint[20];//动态分配20个整型内存空间*p=1;*(p+1)=1;//对前面2个内存空间赋值1cout<<*p<<"t"<<*(p+1)<<"t";p=p+2;//p指向第3个内存空间for(inti=3;i<=

8、20;i++){*p=*(p-1)+*(p-2);cout<<*p<<"t";if(i%5==0)cout<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。