ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:236.22KB ,
资源ID:22816725      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22816725.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++学习笔记摘录九.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++学习笔记摘录九.docx

1、C+学习笔记摘录九C+学习笔记SkySeraph 2010-7-31 阅读整理摘自: 1:#include using namespace std;bool Find(int ,int );void main()int a=1,2,3,4,5,6,7,8,9;bool check=Find(a,9);if (check=true)cout数组a的元素是按照从小到大排列的n; elsecout数组a的元素不是按照从小到大排列的n;bool Find(int a,int n)for (int i=1;in;i+)if (ai=ai-1)/由于 i已经是1 第一次循环中,所以 i就是 2 后面的 i

2、-1 就是1 所以这里条件成立返回假。 并且如果两个元素 相等也会返回假,而只有大于的时候才会返回下面的真return false;return true;/这个就是判断数组元素是否按照从小到大的顺序排列2:#include using namespace std;bool CheckArray(int ,int );int FindA(int ,int ,int );int FindB(int ,int ,int );void main()int a=1,2,3,4,5,6,7,8,9;bool check=CheckArray(a,9);if (check=true)/判断是否是从小到大排

3、序cout数组a的元素是按照从小到大排列的n;int checka;coutchecka;int checkb=FindA(checka,a,9);if (checkb=9)cout对不起,没有查找到你输入的元素位置。n; elsecoutchecka所在的数组位置为:checkb+1endl; elsecout数组a的元素不是按照从小到大排列的n;int checka;coutchecka;int checkb=FindA(checka,a,9);if (checkb=9)cout对不起,没有查找到你输入的元素位置。n; elsecoutchecka所在的数组位置为:checkb+1endl

4、;bool CheckArray(int a,int n)/判断数组排序for (int i=1;in;i+)if (ai=ai-1)return false;return true;int FindA(int m,int a,int n)/递增算法for (int i=0;in;i+)if (ai=m)return i; return n;int FindB(int m,int a,int n)/二分算法int o=0,h=n-1,i;while (o=h)i=(o+h)/2;if (ai=m)return i;if (aim)o=i+1; elseh=i-1;return n;/这个例子是

5、使用前一节的判断数组并且和递增算法和二分算法一起配合使用的方式! 3:#include using namespace std;class Getpublic:bool CheckArray(int ,int );int FindA(int ,int ,int );int FindB(int ,int ,int );void main()Get one;/定义get类的对象 oneint a=1,2,3,4,5,6,7,8,9;bool check=one.CheckArray(a,9);/要调用函数 必须通过对象one来调用 下同。if (check=true)/判断是否是从小到大排序cou

6、t数组a的元素是按照从小到大排列的n;int checka;coutchecka;int checkb=one.FindA(checka,a,9);if (checkb=9)cout对不起,没有查找到你输入的元素位置。n; elsecoutchecka所在的数组位置为:checkb+1endl; elsecout数组a的元素不是按照从小到大排列的n;int checka;coutchecka;int checkb=one.FindA(checka,a,9);if (checkb=9)cout对不起,没有查找到你输入的元素位置。n; elsecoutchecka所在的数组位置为:checkb+1

7、endl;bool Get:CheckArray(int a,int n)/Get: 为成员限定符,指定Get类中的 函数声明 下同for (int i=1;in;i+)if (ai=ai-1)return false;return true;int Get:FindA(int m,int a,int n)/递增算法for (int i=0;in;i+)if (ai=m)return i; return n;int Get:FindB(int m,int a,int n)/二分算法int o=0,h=n-1,i;while (o=h)i=(o+h)/2;if (ai=m)return i;if

8、 (aim)o=i+1; elseh=i-1;return n;/这就是使用对象的方式操作4:#include using namespace std;class Getpublic:int a5;void main()Get one5;/定义一个数组对象 int i;for (i=0;ionei.ai;/接受用户的输入 onei 也是数组 并且也是从0开始 依次排序!for (i=0;i5;i+)coutonei:;/输出第几个元素coutonei.aiendl;/输出用户输入的数组 system(pause);5:#include using namespace std;class Are

9、apublic:Area(int l,int w)lenght=l;wight=w;cout构造函数运行中.长:lenght宽:wightendl;/通过这里的提示我们可以看到 默认构造函数的创建顺序是从0开始依次类推,而析构函数是从最高元素到最低元素 析构的循序Area()cout析构函数运行中.长:lenght宽:wightendl;int Get()return wight*lenght;void Set(int l,int w)lenght=l;wight=w;private:int wight,lenght;void main()Area One4=Area(10,10),Area(

10、20,20),Area(30,30),Area(40,40);/利用构造函数来初始化对象。area 有4个对象 ,对他们每个对象的值进行初始化!coutOne0.Get()endl;/调用get函数来进行初始化的值的相乘。我们可以看到有4个构造和4个析构 那是因为 我们一共创建了4个对象的原因One0.Set(30,24);/可以调用set函数改变他们的参数值coutOne0.Get()endl;coutOne1.Get()endl;coutOne2.Get()endl;coutOne3.Get()endl;6:#include using namespace std;class Areapu

11、blic:Area(int l,int w)lenght=l;wight=w;cout构造函数运行中.长:lenght宽:wightendl;Area()cout析构函数运行中.长:lenght宽:wightendl;int Get()return wight*lenght;void Set(int l,int w)lenght=l;wight=w;private:int wight,lenght;void main()for (int i=0;i10000;i+)Area *One=new Area(3,4*i);/由于椎中内存比栈大。所以 使用栈来消耗内存空间是很不明智的。我们可以使用堆来

12、创建。coutOnei;coutGet()endl;delete One;/如果不删除,你在任务管理器中会发现内存飙升。/这个程序演示了 如果我们无法确定对象的数目或者对象很多的情况下 我们可以把她放到椎中! 7:#include using namespace std;class Areapublic:Area()lenght=0;wight=0;cout不带参数的构造函数.n;Area(int l,int w)lenght=l;wight=w;cout构造函数运行中.长:lenght宽:wightendl;Area()cout析构函数运行中.长:lenght宽:wightendl;int

13、Get()return wight*lenght;void Set(int l,int w)lenght=l;wight=w;private:int wight,lenght;void main()for (int i=0;i10000;i+)Area *One=new Area(3,4*i);/由于椎中内存比栈大。所以 使用栈来消耗内存空间是很不明智的。我们可以使用堆来创建。coutOnei;coutGet()endl;delete One;/如果不删除,你在任务管理器中会发现内存飙升。但是这里也有个缺陷。因为这里的指针只能在FOR循环中作用,如果在FOR外面,那么着10000个对象中前面9

14、999个对象我们都无法访问,如果要访问必须采用以下方法 1-2/*Area *One=new Area10000;1-2 如这里。for (int i=0;i10000;i+)Onei.Set(3,5*i);coutGet()endl;我们可以通过指针运算符直接获取到第一个对象 也就是下表为0的值 当然 也可以用.来获取 使用 coutOne0.Get()即可coutOne1.Get()Get() 的方法 用什么可以使用 one+1 的方式来获取下一个元素 如图 堆中数组对象*/delete One;使用 one 就可以删除 数组名为one 的所有元素对象/这个程序演示了 如果我们无法确定对象

15、的数目或者对象很多的情况下 我们可以把她放到椎中!8:#include using namespace std;void main()enum daymon,tur,wen,thu,fri,sat,sun;/enum 是枚举常量的关键字 表示 day为枚举常量后面是他们的初始化。他们的值夜是从0开始到6结束double temsun+1=82.5,96.2,44.6,45.7,22.1,77.2,75.9;/sun=6 6+1 =7 所以他有7个元素。int day;/定义一个循环变量变量day for (day=0;day=sun;day+)cout星期day+1的化摄氏度:temdayen

16、dl;/定义枚举常量的来替代枯燥的数字变量能够让程序员很形象的理解该变量的作用,便以以后的调试。9:#include using namespace std;void main()int a34=1,2,3,4,5,6,7,8,9,10,11,12;/这个是多维数组的定义和初始化。中间的三个大括号编译器会自动忽略,你加不加都一样,只是为了方便演示而已! ,3X4=12 所以要定义12个元素。也可以看做3行4列。for (int i=0;i3;i+)for (int j=0;j4;j+)coutaij的值为:aijendl;/这样 就可以输出二维数组所在的值。/二维数组的定义演示,这个排行元素的

17、顺序也就是在内存中的排放元素的循序。10:#include using namespace std;void main()char a=p,r,o,g,r,a,m,0;/0 是字符串结束标志。他一般都在字符串最后。用以提示结束。这样,我们可以不用在做for循环就可以使他输出完毕!coutaendl;/这个就是字符串的输出与定义11:#include using namespace std;void main()char ch55= , ,*, , , ,*,*,*, ,*,*,*,*,*, ,*,*,*, , , ,*, , ;/定义二维字符串数组。输出一个图形int i,j;for (i=0

18、;i5;i+)for (j=0;j5;j+)coutchij;/输出第一个元素的1-5的元素coutn;/换行。12:#include using namespace std;void main()char a12=Hello World;/我们知道字符数组的定义和初始化太麻烦,所以要使用 字符串的形式来定义 这样 就简单多了coutaendl;13:#include using namespace std;void main()char a12;cout 来接受 那么如果你输入的中间有空格 那么就不会输出后面的部分 那是因为 他默认吧 空格当作 字符 结束标志。而你输入过长,会引起数组越界

19、那么程序就会崩溃,所以使用 cin.get 来限制 他一个参数 是接受 数组 令一个是用来限制数组的长度 还有一种叫 gets() 他可以不管你是否有空格都强制为连接一起的 但是他没有限制长度功能。cout你输入的字符为:aendl;/这样 在输出的时候 他会把过多的字符 给去除掉。从而不会报错/这就是字符串输入的一些问题14:#include using namespace std;void main()char a20=My Name is ;char b=jack;coutstrcat(a,b)endl;/strcat 的功能是 字符串连接函数 ,他把 b中的字符放入a中了 所以 a这里

20、一定要定义 元素 不然他会报错,因为 编译器会把初始化的内容当作元素 但是 strcat 是把 b里面的元素放入到了 a 中 那么 a就会引起越界问题 所以要定义一个足够大的数。一般在实际应用中 都使用 strcat_s 相信你是用 vc+ 2008的已经看出来了!coutaendl;15:#include using namespace std;void main()char a20=My Name is ;char b=jack;strcpy_s(a,Mick);/这个函数的作用是拷贝,也就是把她的第二个参数拷贝到第一个参数中 然后在返回第一个参数的值,需要注意的是 他也需要足够的空间 还

21、有一点就是 第一个参数必须是数组 第二个参数可以是数组或者字符串。coutaendl;/这种格式的代码才是真正的C+代码 以前的VC6 是不标准的。而且也是不安全的。所以我改动了下16:#include using namespace std;void main()char a20=My Name is ;char b=jack;coutstrcmp(a,b);/字符串比较函数,他把A和B拿来对比 如果两个字符串的ASCAL码一样 那么返回0 如果A大于B 返回-1 A小于B返回1 这样 我们可以用他来比较 用if 语句 if(strcmp(a,b)=0) 这种方式17:#include us

22、ing namespace std;void main()char a=My Name is ;_strupr_s(a);/这个函数的意思是 把小写的字符全部转换为大写coutaendl;18:#include using namespace std;void main()char a=MY NAME IS ;_strlwr_s(a);/这个函数的意思是 把大写的字符转换为小写coutaendl;19:#include using namespace std;void main()char a=MY NAME IS;strlen(a);/这个函数的意思是 统计数组A中的元素的长度 注意的是 这

23、个函数不包含 0 的字符结束标志,我们以前输入的 hello world 定义的是12 但是输入的是11 因为他最后一个是要给他留一个字符结束标志的。coutaendl;system(pause);/这个是 按下任意键结束的意思 如果你不想用 ctrl+f5 的话可以使用这种形式,但是我还是觉得 这个没 ctrl+f5安逸。20:#include using namespace std;void main()const int n=10;int ann;int i,j;for (i=0;in;i+)for (j=0;j=i;j+)if (j=0|j=i)/如果他的列是0 或者他和行相等 那么让他输出1。aij=1;/所以输出1 elseaij=ai-1j-1+ai-1j;/这里是关键。我们从图中可以看到 三角形的下面 的一个数就是 他左上角和上面的那个数字相加的和。这里的 i-1

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1