10_11_第10章_指针_10_11-0426
- 格式:ppt
- 大小:549.50 KB
- 文档页数:86


复习题(二)一、基础题1、设有:int k[]={2,4,6,8,10,12}, *p=k+2; 表达式*(p+2)*p[2] 的值:100 。
2、设有:int a[10], *p1, *p2; 则执行语句:p1=a; p2=&a[5]; 则p2-p1的值:5。
3、设有:int x[]={4,3,2,1},q,*p=&x[1];则执行语句:q=(*--p)++ ; 后;变量q的值为4。
4、设有:int *p, a=10, b=1; 则执行以下语句:p=&a; a=*p+b; 后;a的值为:11。
5、下列程序段的输出结果是2,1 。
int k=1, j=2, *p=&k, *q=p;p=&j;printf("%d, %d",*p, *q);6、设x为整型变量,p为指向整型的指针变量,则让p指向x变量的赋值表达式是P=&x。
7、设有变量定义:float d[]={1.0,2.0,3.0,4.0,5.0}, *p=d+3;请写出printf("\n %f %f", *p, d[0]); 的输出结果为:4.0和 1.0。
8、设有变量定义如下:char s[]="Hello!", *p=s; int i;执行完for(i=0; *(p+i); i++); 后,变量i的值是_6_;*(p+i)的值是‟\0‟_。
9、函数void f(char s[ ], char t[ ]){ int k=0;while (s[k]=t[k]) k++;}等价于void f(char *s, char *t)1、{ while (*s++=*t++); }二、选择题1、下面的程序段用来定义指针并赋值,请选出语法正确的程序段( C )。
A)int *p; scanf(“%d”,p); B)int *s,k; *s=100;C) int *s,k; D) int *s,kchar *p,*c; char *p,*c;s=&k; p=&c; s=&k; p=&c;*p=‟a‟; s=p; *s=1;2、程序段:int *p,a,b=1; p=&a; *p=10; a=*p+b; 执行后,a的值(B)。
骆驼祥子每章概括简短骆驼祥子每章概括简短《骆驼祥子》是老舍(舒庆春)所著的长篇小说。
小说刻画了许多像祥子一样的小人物形象。
那些小人物中有的因战乱导致家人离散而不得不相依为命,有的不堪家庭重负,有的为养活兄弟而出卖肉体。
社会底层的劳苦大众的悲剧是整整一个时代的悲剧,身处其中的每一分子到头来都逃脱不了祥子一样的命运,除非他们认清楚自己的现状,联合起来推翻那吃人的社会与制度。
骆驼祥子每章概括简短第一章:祥子生长在乡间,失去了父母和几亩薄田,十八岁时进城来拉车。
经过不懈的艰苦努力,他买到了自己的一辆新车,成了北平城一流的洋车夫。
第二章:祥子买上新车才半年,北平街上就流传爆发战争的消息,一天祥子怀着侥幸心理贪图高车费往清华拉客人,结果被军阀队伍抓去当差,车也被抢走。
第三章:祥子连夜带了逃兵丢下的三匹骆驼逃命,天亮的时候来到一个村庄,他把三匹骆驼卖给一位养骆驼的老人,得到三十五元钱。
第四章:祥子病倒在海甸一家小店里,迷迷糊糊地过了三天。
这三天里,他与三匹骆驼的关系由梦话或胡话中被人家听了去,从此他便有了“骆驼祥子”的绰号。
他强打精神,回到人和车厂。
人和车厂老板刘四爷,有个女儿叫虎妞。
祥子将卖骆驼所得除掉路上花费剩余的三十元寄存在刘四爷那里,希望继续积攒,再买一辆属于自己的车。
第五章:祥子仍然省吃俭用,但他的思想和为人发生了明显的变化。
他在杨家拉上“包月”只四天就被折磨得不得不辞掉了。
第六章:离开杨家回到人和车厂,虎妞请祥子喝酒。
酒后,在迷迷糊糊中祥子被虎妞骗上了床。
事后,祥子心里万分矛盾,对虎妞既愤恨又想念,同时还夹杂着害怕。
第七章:祥子到曹家拉包月,曹先生一家对他很好,很尊重他。
一天夜里,祥子拉曹先生回家,不小心撞到石头上,他和曹先生都摔伤了,祥子很难受,但曹先生丝毫也没有责备他。
第八章:同在曹家帮佣的高妈劝祥子把钱拿去放高利息贷款或者存进银行来生利息,祥子都不敢;高妈劝祥子起会,他也不敢。
年关将到,祥子打算买点礼物去探望刘四爷并要回寄存在那里的钱,这时虎妞却找上门来。
【原】C++ 11智能指针之shared_ptrshared_ptr是一个引用计数智能指针,用于共享对象的所有权。
它可以从一个裸指针、另一个shared_ptr、一个auto_ptr、或者一个weak_ptr构造。
还可以传递第二个参数给shared_ptr的构造函数,它被称为删除器(deleter)。
删除器用于处理共享资源的释放,这对于管理那些不是用new分配也不是用delete释放的资源时非常有用。
shared_ptr 被创建后,就可以像普通指针一样使用了,除了一点,它不能被显式地删除。
shared_ptr的比较重要的接口如下:template <class T>explicit shared_ptr(T* p);这个构造函数获得给定指针p的所有权。
参数p必须是指向T的有效指针。
构造后引用计数设为1。
唯一从这个构造函数抛出的异常是std::bad_alloc(仅在一种很罕见的情况下发生,即不能获得引用计数器所需的空间)。
template <class T,class D>shared_ptr(T* p,D d);这个构造函数带有两个参数。
第一个是shared_ptr将要获得所有权的那个资源,第二个是shared_ptr被销毁时负责释放资源的一个对象,被保存的资源将以d(p)的形式传给那个对象。
如果引用计数器不能分配成功,shared_ptr 抛出一个类型为std::bad_alloc的异常。
shared_ptr(const shared_ptr& r);r中保存的资源被新构造的shared_ptr所共享,引用计数加一。
这个构造函数不会抛出异常。
template <class T>explicit shared_ptr(const weak_ptr<T>& r);从一个weak_ptr构造shared_ptr。
这使得weak_ptr的使用具有线程安全性,因为指向weak_ptr参数的共享资源的引用计数将会自增(weak_ptr不影响共享资源的引用计数)。
新标准C++程序设计教材11—20章课后题答案第11章:1.简述结构化程序设计有什么不足,面向对象的程序如何改进这些不足.答案:结构化程序设计的缺点:(1)用户要求难以在系统分析阶段准确定义,致使系统在交付使用时产生许多问题。
(2)用系统开发每个阶段的成果来进行控制,不适应事物变化的要求.(3)系统的开发周期长.面向对象的程序设计如何改进这些不足:面向对象程序设计技术汲取了结构忧程序设计中好的思想,并将这些思想与一些新的、强大的理念相结台,从而蛤程序设计工作提供了一种全新的方法。
通常,在面向对象的程序设计风格中,会将一个问题分解为一些相互关联的子集,每个子集内部都包含了相关的数据和函数.同时会以某种方式将这些子集分为不同等级,而一个对象就是已定义的某个类型的变量。
2.以下说怯正确的是( )。
A.每个对象内部都有成员函数的实现代码B.一个类的私有成员函数内部不能访问本类的私有成员变量C。
类的成员函数之间可以互相调用D.编写一个类时,至少要编写一个成员函数答案:C3.以下对类A的定义正确的是( )。
A.class A{B.class A{private:int v; int v; A *next;public:void Func() {}void Func(){}}};C.class A{ D. class A{int v;int v;public:public:void Func(); A next;}; void Func() {}A::void Func() { }};答案:B4.假设有以下类A:class A{public:int func(int a) {return a *a; }};以下程序段不正确的是().A.A a;a。
func(5);B.A *p = new A;p—〉func(5);C.A a;A&r =a ; r.func(5);D.A a,b; if(a!=b) a.func(5);答案:D5.以下程序段不正确的是(A).A.int main() {class A {int v; }A a; a.v= 3; return 0;B.int main(){class A { public: int v; A *p;};A a;a。