网站大量收购闲置独家精品文档,联系QQ:2885784924

东南大学非电类C++指针的习题课.ppt

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

第7章 习题课 1. 有关指针的说法中, 是错误的。 A. 赋予一个指针变量的值只能是一个在有效范围内的地址 B. 只有先定义一个基本类型的变量,然后才能定义指向该变量的指针 C. 一个指针变量的值可以是NULL D. 对指针变量可以进行关系运算和逻辑运算 2. 对于函数void count(int w, int x, int y){…},以下叙述正确的是 。 A. 定义函数时,参数表中出现符是非法的 B. 带有符的虚参在函数中被分配静态内存单元 C. 对于带有符的虚参,其变量值在函数中不能被修改 D. 使用多个带有符的虚参,通过对应的实参可以将多个变量值传回上层调用函数 3.下列关于指针的操作中,错误的是 。 A. 两个同类型的指针可以进行比较运算 B. 可以用一个空指针值赋给某个指针变量 C. 一个指针可以加上两个整数之差 D. 两个同类型的指针可以相加 4.设有如下定义: int data=32767; int *pd; float *fp; 则以下 是正确的。 A.pd=data ; B.*pd= data; C.fp=(fload) data; D.fp=(*fload) data; 5. 在用new运算符建立一个三维数组15*30*10时,使用了3个下标运算符“[]”,与之对应,用delete运算符注销这个三维数组时使用了 个下标运算符。 A.1 B.2 C.3 D.0 6.设有说明int b[4][4],以下不能等价元素b[3][3]的是 。 A.*b[3][3] B.(*(*(b+3))+3) C.*(B[3]+3) D.*(*(b+3)+3) 7.设有以下说明语句:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int (*prt)[3]=a,*p=a[0]; 能够正确表示数组元素a[1][2]的表达式是 。 A.*((*prt+1)[2]) B.*(*(p+5)) C.(*prt+1)+2 D.*(*(a+1)+2) 8.有关内存分配的说法中, 是错误的。 A. 指针变量可以保存动态分配的存储空间 B. 用new为指针变量分配的存储空间在堆区 C. 数据元素存储在堆区的数组在建立时就被初始化(清零) D. 指向静态变量的指针不必用delete释放 9.设有如下的函数定义 int f(char*s){ if(!(*s)) return 0; else return 1+f(s+1); } 若在主程序中用下面的语句调用上述函数,则输出为 。 coutf(“goodbye!”)endl; A.1 B.6 C.8 D.0 10.若有以下的说明和语句: int t[3][2],*pt[3],k; for(k=0;k3;k++)pt[k]=t[k]; 则数组元素pt[2]表示: 。 A. t数组第2行的行指针,指向第2行 B. t数组第2行的元素地址,指向第2行0列 C. t数组的第2个元素 D. t数组第2行第0个元素 1.设有定义:int a[3][4],(*p)[4];p=a;则请列出3种用指针p表示a[2][3]的方法。 答:1. p[2][3]、 (*(p+2))[3]、*(*(p+2)+3) 2.若有函数声明int fun(*int(*f)(float a ,char b),int n);则函数调用时实参和形参之间的传递方式是什么? 第一个参数的属性是什么?按什么方式传递?第二个参数按什么方式传递? 答:传地址和传值;第一个参数是指向型如函数( int * (float,char))的指针,按地址传递的方式传递;第二个参数按值传递。 3.使用new运算符为变量或对象分配存储空间和为数组分配存储空间,方法上有何不同?而在使用delete运算符释放内存,方法又有何不同? 答:用new分配数组空间时,需要用[]指明数组的大小;delete运算符释放内存时,如果是数组空间,需要用delete []的形式。 4.阅读以下程序,回答问题: #include iostream.h void main(){ char*p[]={“BOOL”,”OPK”,”H”,”SP”}; int i

文档评论(0)

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

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

1亿VIP精品文档

相关文档