C++入门经典-例2.13-左移运算】的更多相关文章

1:代码如下: // 2.13.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> using namespace std; void main() { int a=0x40,b; b=a<<;//左移1位 cout << b << endl;//以十进制输出 } 运行结果:…
1:代码如下: // 5.3.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using namespace std; void main() { ; int *p=&a; printf("address:%d\n",p); p++; printf("address:%d\n",p); p--; printf("address:%d\n&…
1:函数指针式指向函数内存的指针,一个函数在编译时被分配给一个入口地址,这个函数的入口地址就称为函数指针.可以用一个指针变量指向函数,然后通过该指针变量调用此函数. 一个函数可以返回一个整数型值.字符值.实型值等,也可以返回指针型的数据,即地址,返回值的类型是指针类型.返回指针值得函数简称指针函数. 定义指针函数的一般形式为: 类型名 *函数名(参数列表) 例如,定义一个具有两个参数和一个返回值的函数的指针及一个具有同样返回值参数列表的函数的代码如下: int sum(int x,inty);…
1:代码如下: // 2.14.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using namespace std; void main() { long nWord=0x12345678;//长整形,十六进制输入 int nBits; nBits=nWord & 0xFFFF;//位与 printf("low bits are 0x%x\n",nBits);//…
1:曾经介绍过string类型的数据,它是C++标准模版库提供的一个类.string类支持使用加号“+”连接两个string对象.但是使用两个string对象相减确实非法的,其中的原理就是C++所提供类中重载运算符的功能.在string类中定义了运算符“+”和“+=”两个符号的使用方法,这种使用方法的实质是一种成员函数. 关键字operator是专门实现类运算符重载的关键字.在类成员中,定义一个这样形式的函数: 返回值类型 operator 重载运算符(参数列表) 以box类为例,我们可以将加号…
1:对于类的非静态成员,每个对象都有自己的一份拷贝,即每个对象都有自己的数据成员,不过成员函数却是每个对象共享的.那么调用共享的成员函数如何找到自己的数据成员呢?答案是通过类中隐藏的this指针. 2:示例代码: // 7.6.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using namespace std; class CBook //定义一个CBook类 { public: int m…
1:有时在获得一定的信息之前,我们并不确定数组的大小.动态分配数组则可以使用变量作为数组的大小,使数组的大小符合我们的要求. 2:科普一下斐波纳契数列:斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........这个数列从第3项开始,每一项都等于前两项之和. 代码如下: // 6.18.cpp : 定义控制…
1:代码如下: // 6.13.cpp : 定义控制台应用程序的入口点. // #include"stdafx.h" #include<iostream> using namespace std; void main() { ][]; ];//指向int数组的指针,也可以用int *b; ]; //储存指针的数组,最多只能储存4个指针 int *p; p = a[]; //a[0]是int型指针,同样a[1] a[2] a[3]都是int型指针 b = a; //获得a[0…
1:以a[4][3]为例 a代表二维数组的地址,通过指针运算符可以获取数组中的元素 (1)a+n代表第n行的首地址 (2)&a[0][0]既可以看作第0行0列的首地址,同样也可以被看作是二维数组的首地址.&a[m][n]就是第m行n列元素的地址 (3)&a[0]是第0行的首地址,当然&a[n]就是第n行的首地址 (4)a[0]+(n-1)表示第0行第n个元素 (5)*(*(a+n)+m)表示第n行第m列 (6)*(a[n]+m)表示第n行第m列元素 2:代码如下: // 6…
1:当指针所指向的内存被销毁时,该区域不可复用.若有指针指向该区域,则需要将该指针置为空值(NULL)或者指向未被销毁的内存. 内存销毁实质上是系统判定该内存不是变成人员正常使用的空间,系统也回将它们分配给别的任务.若擅自使用被销毁内存的指针更改该内存的数据,很可能会造成意向不到的后果. 代码实例如下: // 5.13.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using std::cou…