C++第六章课后习题解读.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C第六章课后习题解读

第 六 章 数组、指针与字符串 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型数组,在程序中提示用户输入元素值,最后再在屏幕上显示出来。 解:#includeiostream using namespace std; int main(){ int myArray[5]; int i; for(i=0;i5;i++) { coutValue for my Array[i]:; cinmyArray[i]; } for(i=0;i5;i++) couti:myArray[i]endl; return 0; } 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类型变量的指针,分别显示指针占了多少字节和指针所指的变量占了多少字节。 解:#includeiostream using namespace std; int main(){ double*counter; cout\nSize of pointer==sizeof(counter); coutendl; coutnSize of addressed value==sizeof(*counter); 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 iostream using namespace std; int main() { int *p; *p = 9; cout The value at p: *p; return 0; } 解:指针p没有初始化,也就是没有指向某个确定的内存单元,它指向内存中的一个随机地址,给这个随机地址赋值是非常危险的。 6-18 下列程序有何问题,请改正;仔细体会使用指针时应避免出现的这个问题。 #include iostream using namespace std; int fn1

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档