![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++学习
Mo_SFish
这个作者很懒,什么都没留下…
展开
-
面向对象程序设计学习笔记
C++面向对象编程C补充头文件"stdafx.h"预编译头文件,是把一个工程中的MFC标准头文件进行预编译,在工程编译时不再需要编译这部分头文件而是使用它的编译效果。一些大型程序使用这个效率比较好。#include"stdafx.h"一定要放在最开头。...原创 2022-03-03 23:19:14 · 414 阅读 · 0 评论 -
竞速中快速清空输入流
c++用于清空输入缓存的函数有三个:cin.clear(),cin.sync(),cin.ignore()。cin.clear()是用来更改cin的状态标示符的,cin在接收到错误的输入的时候,会设置状态位good。如果good位不为1,则cin不接受输入,直接跳过。如果下次输入前状态位没有改变那么即使清除了缓冲区数据流也无法输入。所以清除缓冲区之前必须要cin.clear()。cin.ignore(a,ch):从输入缓冲去中提取字符,提取的字符被忽略,不被使用。每抛弃一个字符,它都要计数和比较字符,如原创 2021-12-17 10:26:01 · 578 阅读 · 0 评论 -
2021-12-09
C++学习笔记(23)1.动态链表的每个结点存放元素的自身信息和与之关联的元素的地址。单向链表只需存放直接后继节点的地址,双向链表既有直接前驱也有直接后继节点的地址。结构成员可以是指向自身结构类型的指针,但不能是自身结构类型的变量。2.建立链表:struct Node{int data;Node * next;}; //①定义链表结构体;Node * head=NULL; //②定义头指针;void CreateList(Node * & head) //原创 2021-12-10 01:10:28 · 2100 阅读 · 0 评论 -
2021-12-8
C++学习笔记(22)1.程序中可以用一个无符号整数表示集合,每一位的取值表示对应的元素是否在集合中(1表示在,0表示不在)。利用位运算可以实现集合相关运算。2.对于\b解释为退格,代表backspace,退格键,其实这个退格键和键盘上的backspace不一样,并不会删除文本,而是移动光标的位置作用。...原创 2021-12-08 23:58:51 · 162 阅读 · 0 评论 -
2021-12-7
C++学习笔记(21)1.集合是具有某种相同属性数据元素的整体;结构是由不同属性数据元素组成的整体。2.位运算通常是无符号整型数据。3.掩码:当一个整数(二进制)中只有一位为1时,称为掩码,通常借助掩码对数据按位进行测试。4.变量a用变量b进行两次异或运算,原来的值不变。由此得:最快最方便最省资源进行交换两个数据的方法是进行三次异或运算:a=a^b;b=a^b;a=a^b;详细原理解释:https://blog.csdn.net/weixin_30548917/article/d原创 2021-12-08 00:18:29 · 152 阅读 · 0 评论 -
2021-12-05
C++学习笔记(20)1.vector类:https://blog.csdn.net/weixin_41743247/article/details/90635931?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163866728516780261978610%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=163866728516原创 2021-12-05 11:22:24 · 901 阅读 · 0 评论 -
2021-10-22
C++学习笔记(7)1.switch语句语句形式:switch(表达式){ case 常量表达式1 : 语句1 ;case 常量表达式2 : 语句2 ;……case 常量表达式n : 语句n ;default : 语句n+1;}形式注意:①表达式为整型,字符型或枚举型,不能为浮点型;②常量表达式具有具体值,与表达式类型相同;③default子句为可选项,可有可无。运行流程:①case和default只起语句标号的作用;②进入switch语句后,首先计算表达式的值,然后用这个值原创 2021-11-28 19:45:52 · 82 阅读 · 0 评论 -
2021-11-24
C++学习笔记(15)1.预处理指令不是C++语句,但它们可以改善程序的组织和管理,以“#”号开始,每条指令独占一行,可以出现在程序的任何地方。2.文件包含:在编译之前把指定文件的文本抄写在该指令所在位置,用于支持多文件形式组织的C++程序。#include<文件名> //用于C++提供的系统标准头文件;#include"文件名" //一般用于程序员自己定义的头文件;3.宏定义:用来指定正文替代程序中出现的标识符。#define 标识符 文本不带参数用来定义原创 2021-11-24 23:51:01 · 410 阅读 · 0 评论 -
2021-11-23
C++学习笔记(15)1.内联函数函数调用时需要建立堆栈空间来保存调用时的现场状态和返回地址并进行参数传递,产生程序转移,需要时间和空间的开销。内联函数机制则定义一些功能比较简单,代码比较短的函数,编译时系统把内联函数的函数体嵌入每个函数调用处,节省了程序运行时的调用开销。一般在函数原型中指定 inline,不能在函数定义时二次指定。inline 类型 函数名(形参表);调用方法和普通函数一样。注意:①若inline不在函数名第一次出现时指定,则系统视为普通函数;②一般内联函数只适用于1~原创 2021-11-24 00:24:56 · 510 阅读 · 0 评论 -
11月22日
C++学习笔记(14)1.每个函数都是独立定义的模块;函数之间可以互相调用。2.每个应用程序只有一个main函数,由系统启动。系统只会启动这个函数,其他函数需要用main函数带动。3.嵌套调用:函数之间互相调用;递归调用:函数自身调用; //经典例题:汉诺塔;(又分直接递归和间接递归)4.系统设置有一个 先进后出 的 堆栈 进行调用信息的管理。5.构成递归函数两个基本要素①描述问题规模逐步缩小的递归算法;②描述递归情况的终止条件;6.每条指令和函数都有一个首地址,函数的首地址称为函数的原创 2021-11-23 08:55:31 · 386 阅读 · 0 评论 -
2021-11-17
C++学习笔记原创 2021-11-20 12:38:55 · 534 阅读 · 0 评论 -
2021-11-09
C++学习笔记(12)1.指针参数:函数定义中的形参被说明为指针类型。形参指针对应的实参是地址表达式。指针传递(地址调用):调用函数时,实参把对象的地址赋给形参名标识的指针变量,被调用函数在函数体内通过形参指针间址访问实参地址的对象。...原创 2021-11-17 00:16:10 · 368 阅读 · 0 评论 -
2021-11-08
C++学习笔记(11)1.函数定义由两部分组成:函数首部(是函数的接口,包括函数名,参数和返回值类型)和函数操作描述(函数体的语句序列)。使用函数称为调用函数。2.自定义函数的一般形式为:类型 函数名 (形参表){语句序列}第一行(也可以分多行写)是函数首部(函数头):函数名是用户自定义的标识符;类型是返回值的类型,简称为返回类型;形参表是用逗号分隔的形式参数说明列表,省略形参不可省括号。形参表的一般类型为:类型 参数1,类型 参数2,类型 参数3参数为函数原创 2021-11-08 23:34:57 · 140 阅读 · 0 评论 -
2021-10-28
C++学习笔记(10)1.编程规范:①头文件需注释引用了什么函数,有什么作用;②特殊缩写的自命名变量需要有注释;③当case语句需要执行完case1后继续执行case2而不break的时候需要有注释;④当变量命名时,局部变量与全局变量的含义(名字)重复,则局部变量可以命名为liv_xxx。(local(局部变量);interger(数据类型);variabal(变量))⑤说明:下面是一些在软件中常用的反义词组。add / remove begin / end create / destroy原创 2021-10-28 22:57:26 · 87 阅读 · 0 评论 -
2021-10-26
C++学习笔记(9)1.如果头文件中需要用到cin,cout,则必须要包含iostream,而在包含了iostream以后,cmath, cstdlib, stdexcept, exception, climits 等头文件都不需要二次包含,iostream已经包含了。头文件cmath包含了:求幂函数x^y: pow(x,y)求绝对值: fabs(x)2.输出的格式:(求sin1的值)cout << “sin(”<< x<<" ) = " <<原创 2021-10-26 23:32:44 · 110 阅读 · 0 评论 -
2021-10-25
C++学习笔记(8)1.do-while语句:直到型循环。重复执行“循环体”语句,直到“表达式”的值为false(0)结束。(不管条件是否成立,至少执行一次循环体)格式:do{循环体} while(表达式);实操例子:二进制转换十进制#includeusing namespace std;void main(){int Dec = 0;char ch;cout << “Binary=”;do原创 2021-10-25 21:46:33 · 80 阅读 · 0 评论 -
2021-10-23
C++学习笔记(7)1.输入操作的原理:程序的输入都建有一个缓冲区,即输入缓冲区。一次输入过程是这样的:当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据。正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入,这就是为什么会出现输入语句失效的原因。一.cin<<该操作符是根据后面变量的类型读取数据。输入结束条件 :遇到Enter、Space、Tab键。对结束符的处理 :丢弃缓冲区中使原创 2021-10-23 23:53:05 · 70 阅读 · 0 评论 -
2021-10-21
C++学习笔记1.关系运算:< <= > >= 的优先级高于 == !=2.逻辑运算:!逻辑非 && 逻辑与 ||逻辑或 (优先级递减)优先级:!→算术运算符→关系运算符→&&→||3.赋值表达式:A Op B 等价于A=A Op B例:b *=2+3 因为+的优先级高于 *=,等价于 b=b *(2+3)4.逗号表达式:表达式1,表达式2,…,表达式n两层含义:一,各表达式按顺序执行;二,表达一个值,这个值是最后一个原创 2021-10-21 23:11:03 · 83 阅读 · 0 评论 -
2021-10-20
C++学习笔记(5)原创 2021-10-21 16:54:35 · 84 阅读 · 0 评论 -
2021-10-19
C++学习笔记(3)1.数据输入与输出由头文件iostream说明。键盘输入: cin>>变量1>>变量2>>…>>变量n;屏幕输出: cout<<表达式1<<表达式2<<…<<表达式n;cin,cout是预定义输入/输出流对象,>>和<<是流提取/插入运算符。常用的输出格式控制符:endl 输出一个换行符,并清空流;ends 输出一个串结束符,并清空流;dec / he原创 2021-10-19 23:53:01 · 373 阅读 · 0 评论 -
2021-10-18
C++学习笔记(3)1.指针常量:指针变量的值只能在定义的时候初始化,定义后不能修改,即不能改变指针的指向,但不影响所指对象的访问特性。类型 * const 指针 //const写在“指针”之前,表示约束指针变量的本身。例:int var1=100,var2=200;int*const const_1 =& var1; //定义指针常量时初始化const_P1 = & var2; //错误,不能修改指针常量*const_1 = var2; //正确,可以修改指针常原创 2021-10-18 21:58:31 · 102 阅读 · 0 评论 -
2021-10-12
C++学习笔记(2)1.\t 水平制表,将屏幕光标移到下一制表位置程序中写成 ‘\t’ 隔在两个字符串之间,输出结果将呈现空格,形成两个表。2.要表示一个指针变量不指向任何内存单位时(不存放对象地址),可以赋NULL值,是C++的一个预定义常量,它的值是不确定且无意义的。3.指针变量的相关类型可以为空类型void。(例: void * vp)void型指针变量可以存放任意对象的地址,因为其无关联类型,编译器无法解释所指对象,因此在程序中必须对其进行强制类型转换。(转换例:cout<<原创 2021-10-12 23:53:21 · 99 阅读 · 0 评论 -
2021-10-09
C++学习笔记1.P3 第一行为“预编译指令”,说明程序要用的外部文件。第二行为使用命名空间的声明,(std 是系统提供的标准命名空间)。函数的一般形式为:类型 函数名 (参数表){语句序列}注释:①以//开始的文本要放在行尾②以/**/相括的文本可以放置在任意位置2.P8数据类型:①整型int:十进制不能以0开始 (.123即0.123)bool: 两个值true 和 falseenum:用户自定义②浮点型(实型)示数形式有两种:小数示数法(普通)原创 2021-10-09 23:27:32 · 61 阅读 · 0 评论