该笔记及代码参考:小甲鱼,
B站:B站UP主鱼C_小甲鱼
网址:小甲鱼网站
书籍:《C++编程自学宝典》
文章目录
前言
因为学习需要,最近系统性地看完了小甲鱼在B站上的“C++快速入门”视频,特此记下笔记及部分代码,方便后续查阅。(之前因为复试,有学习过小甲鱼的C的视频,觉得它的知识输出条理非常清晰,所以这次C++又选择了小甲鱼的视频去观看!!支持!!)
一、C++语言及OO思想介绍
- C++:面向对象(Objected Oritened, OO)。每个对象都可以抽象为两个要素:属性和行为。该思想特点:1、封装;2、抽象(对一类公共问题进行统一描述);3、继承(子类对象拥有与基类相同的全部属性和方法);4、多态(在基类中定义的属性和行为倍子类继承之后,可以具有不同的数据类型或表现行为等特性)。
- 面向过程(opp),关注的是对数据进行处理的过程;面向对象(oop)关注的是对数据进行怎样的处理。
二、从一些小程序入手
1.创建预编译头文件
- 该代码将使用C++标准库的流对象进行信息的输入和输出,因此我们将使用<
iostream>头文件。代码中使用字符串类型处理信息输入时,将使用 <
string>头文件。访问C运行库时的time和date函数时,将使用<
ctime>头文件。我们在进行程序开发时候无需对它们进行修改,因此它们是预编译的理想目标。
2.命名空间
- 命名空间提供了一种模块化代码机制,命名空间允许使用唯一的名称标记自定义类型、函数和变量,使用作用域解析运算符。使用关键字namespace来修饰类型、函数和全局变量,并且提供相应的名称。
using namespace std; //指C++标准库所使用的标识符都是在同一个特殊的名字空间(std)中定义的。
3.代码实例
- 问题描述:定义一个数组容纳10个整数,这些整数来自用户输入。计算这些值的累加和、平均值并输出。
- 问题描述:请任意输入一串整数和任意数目的空格,求和并输出。
三、cin/cout的一些使用举例
1.cin()相关的函数
- cin()
当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据。读取数据是从第一个非空白字符开始到下一个空白字符结束。
cin>>a;
cin>>b;
cin>>c;
- cin.ignore()和cin.getline ()
- cin.ignore() 是从输入流(cin)中提取一定数目的字符并把提取的字符忽略(ignore)。
cin.ignore(100,'\n'); //在100处或读取到回车后,函数执行停止,将前面输入流的字符连同回车一同清除。一般,把第一个参数设置足够大。
- cin.getline (),允许读取包含空格的字符串。遇到空格后将继续读取,直到它读取至最大指定的字符数,或直到按下了回车键。
- cin.get()和cin.peek()
- cin.get(),是针对char类型的,用来接收一行包含空格的字符串。
cin.get(); //用来获取输入的第一个字符;
cin.get(字符数组, 字符个数n, 终止字符); //从输入流中读取n-1个字符,赋给指定的字符数组,如果在读取n-1个字符之前遇到终止字符,则提前结束读取。
- cin.peek() 其返回值是一个char型的字符,是指针指向的当前字符。
- cin.gcount()和cin.read()
- cin.gcount(),返回值是计算取得的字符串长度。
- cin.read(),读取指定长度的字符串,它与cin.getline的作用相似,但是cin.read不局限于行,当没读取足够长度的字符串时,还需要输入。
2.cout()相关的函数
- cout.precision(),用于控制输出浮点数的精度;
- cout.width(),用于控制输出的宽度。
3.代码实现:
<小甲鱼>C++实例练习3—cin/cout()相关的函数及使用举例
四、ifstream/ofstream
1.函数说明
ifstream in (char *filename,int open_mode); //第一个变量为文件名称,第二个变量为打开模式。
2.几种常见的打开模式
- ios::in-打开一个可读取文件;
- ios::out-打开一个可写入文件;
- ios::binary-以二进制的形式打开一个文件;
- ios::app-写入的所有数据将被追加到文件的末尾;
- ios::trunk-删除文件原来已经存在的内容;
- ios::nocreate-如果要打开的文件并不存在,那么以此函数调用open函数将无法进行;
- ios::noreplace-如果要打开的文件已存在,试图用open函数打开时将返回一个错误。
ofstream out(“test.tx