77范文网 - 专业文章范例文档资料分享平台

C++第六章课后习题

来源:网络收集 时间:2019-01-10 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

第 六 章 数组、指针与字符串

6-1 数组a[10][5][15]一共有多少个元素? 解:10*5*15=750个元素

6-2 在数组a[20]中第一个元素和最后一个元素是哪一个? 解:第一个元素是a[0],最后一个是a[19]

6-3 用一条语句声明一个有5个元素的int型数组,并依次赋予1~5的初值。 解:int integerArray[5]={1,2,3,4,5}

6-4 已知有一个数组名叫oneArray,用一条语句求出其元素的个数。 解:int nArrayLength=sizeof(oneArray)/sizeof(oneArray[0]); 6-5 用一条语句声明一个有5×3个元素的二维int型数组,并依次赋予1~15的初值。 解:int theArray[5][3]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; 6-6 运算符“*”和 “&”的作用是什么?

解:*是指针运算符,是一元操作符,表示指针所指向的对象的值。&是取地址运算符,也是一个一元运算符,用来得到一个对象的地址。

6-7 什么叫做指针?指针中储存的地址和这个地址中的值有何区别?

解:指针是一种数据类型,具有指针类型的变量称为指针变量。指针变量存放的是另外一个对象的地址,这个地址中的值就是另一个对象的类容。

6-8 声明一个int型指针,用new语句为其分配包含10个元素的地址空间。 解:int pInteger=new int[10];

6-9 在字符串”Hello,world!”中结束符是什么? 解:\\0

6-10 声明一个有5个元素的int型数组,在程序中提示用户输入元素值,最后再在屏幕上显示出来。

解:#include using namespace std; int main(){ int myArray[5]; int i; for(i=0;i<5;i++) { cout<<\ cin>>myArray[i]; } for(i=0;i<5;i++) cout<

6-11 引用和指针有何区别?何时只能使用指针而不能使用引用?

解:引用是一个别名,不能为NULL值,不能被重新分配;指针是一个存放地址的变量。当需要对变量重新赋以另外的地址或赋值为NULL时只能使用指针。

6-12 声明下列指针:float类型变量的指针pfloat,char类型的指针pstr、struct Customer型的指针pcus。 解:float*pfloat; Char*pstr;

Struct customer*pcus;

6-13 给定float类型的指针fp,写出显示fp所指向的值的输出流语句。 解:cout<<”Value==”<<*fp;

6-14 在程序中声明一个double类型变量的指针,分别显示指针占了多少字节和指针所指的变量占了多少字节。

解:#include using namespace std; int main(){

double*counter;

cout<<\cout<

cout<<\return 0; }

6-15 const int * p1 和 int * const p2的区别是什么?

解:const int *p1声明了一个指向整形常量的指针p1,因此不能通过指针p1来改变它所指向的整型值;int*const p2声明了一个指针型常量,用于存放整形变量的地址,这个指针一旦初始化后,就不能被重新赋值。

6-16 声明一个int型变量a,一个int型指针p,一个引用r,通过p把a的值改为10,通过r把a的值改为5 解:int a; int*p=&a; int &r=a; *p=10; r=5;

6-17 下列程序有何问题,请仔细体会使用指针时应避免出现这个的问题。 #include using namespace std; int main() { int *p; *p = 9;

cout << \ return 0; }

解:指针p没有初始化,也就是没有指向某个确定的内存单元,它指向内存中的一个随机地址,给这个随机地址赋值是非常危险的。

6-18 下列程序有何问题,请改正;仔细体会使用指针时应避免出现的这个问题。 #include

using namespace std; int fn1(){

int * p = new int (5); return *p; }

int main(){ int a = fn1();

cout << \return 0; }

解:#include using namespace std; int*fn1(); int main(){ int*a=fn1(); cout<<\ delete a ; return 0; }

int *fn1(){ int*p=new int(5); return p; }

6-19 声明一个参数为int型,返回值为long型的函数指针;声明类A的一个成员函数指针,其参数为int型,返回值long型。 解:long(*p_fn1)(int); Long(A::*p_fn2)(int);

6-20 实现一个名为SimpleCircle的简单圆类,其数据成员int*itsRadius为一个指向其半径值的指针,存放其半径值。设计对数据成员的各种操作,给出这个类的完整实现并测试这个类。 解:#include using namespace std; class SimpleCircle {

public: SimpleCircle(); SimpleCircle(int); SimpleCircle(const SimpleCircle &); ~SimpleCircle(){} void setRadius(int); int getRadius()const;

private: int*itsRadius; };

SimpleCircle::SimpleCircle() { itsRadius=new int(5); }

SimpleCircle::SimpleCircle(int Radius ) { itsRadius =new int(Radius); }

SimpleCircle::SimpleCircle(const SimpleCircle & rhs) { int val=rhs.getRadius(); itsRadius=new int(val); }

int SimpleCircle::getRadius()const { return*itsRadius; }

int main(){ SimpleCircle CircleOne ,CircleTwo(9); cout<<\ cout<<\ return 0; }

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C++第六章课后习题在线全文阅读。

C++第六章课后习题.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/419333.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: