C++学习笔记<观小甲鱼C++快速入门>

该笔记及代码参考:小甲鱼,
B站:B站UP主鱼C_小甲鱼
网址:小甲鱼网站
书籍:《C++编程自学宝典》


前言

因为学习需要,最近系统性地看完了小甲鱼在B站上的“C++快速入门”视频,特此记下笔记及部分代码,方便后续查阅。(之前因为复试,有学习过小甲鱼的C的视频,觉得它的知识输出条理非常清晰,所以这次C++又选择了小甲鱼的视频去观看!!支持!!)


一、C++语言及OO思想介绍

  1. C++:面向对象(Objected Oritened, OO)。每个对象都可以抽象为两个要素:属性和行为。该思想特点:1、封装;2、抽象(对一类公共问题进行统一描述);3、继承(子类对象拥有与基类相同的全部属性和方法);4、多态(在基类中定义的属性和行为倍子类继承之后,可以具有不同的数据类型或表现行为等特性)。
  2. 面向过程(opp),关注的是对数据进行处理的过程;面向对象(oop)关注的是对数据进行怎样的处理。

二、从一些小程序入手

1.创建预编译头文件

  • 该代码将使用C++标准库的流对象进行信息的输入和输出,因此我们将使用<
    iostream>头文件。代码中使用字符串类型处理信息输入时,将使用 <
    string>头文件。访问C运行库时的time和date函数时,将使用<
    ctime>头文件。我们在进行程序开发时候无需对它们进行修改,因此它们是预编译的理想目标。

2.命名空间

  • 命名空间提供了一种模块化代码机制,命名空间允许使用唯一的名称标记自定义类型、函数和变量,使用作用域解析运算符。使用关键字namespace来修饰类型、函数和全局变量,并且提供相应的名称。
    using namespace std; //指C++标准库所使用的标识符都是在同一个特殊的名字空间(std)中定义的。

3.代码实例

  1. 问题描述:定义一个数组容纳10个整数,这些整数来自用户输入。计算这些值的累加和、平均值并输出。

<小甲鱼>C++实例练习1—数组求和

  1. 问题描述:请任意输入一串整数和任意数目的空格,求和并输出。

<小甲鱼>C++实例练习2—任意输入一串整数和空格并求和

三、cin/cout的一些使用举例

1.cin()相关的函数

  1. cin()
    当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据。读取数据是从第一个非空白字符开始到下一个空白字符结束。
cin>>a;
cin>>b;
cin>>c;
  1. cin.ignore()和cin.getline ()
  • cin.ignore() 是从输入流(cin)中提取一定数目的字符并把提取的字符忽略(ignore)。
cin.ignore(100,'\n');   //在100处或读取到回车后,函数执行停止,将前面输入流的字符连同回车一同清除。一般,把第一个参数设置足够大。
  • cin.getline (),允许读取包含空格的字符串。遇到空格后将继续读取,直到它读取至最大指定的字符数,或直到按下了回车键。
  1. cin.get()和cin.peek()
  • cin.get(),是针对char类型的,用来接收一行包含空格的字符串。
cin.get()//用来获取输入的第一个字符;
cin.get(字符数组, 字符个数n, 终止字符)//从输入流中读取n-1个字符,赋给指定的字符数组,如果在读取n-1个字符之前遇到终止字符,则提前结束读取。
  • cin.peek() 其返回值是一个char型的字符,是指针指向的当前字符。
  1. cin.gcount()和cin.read()
  • cin.gcount(),返回值是计算取得的字符串长度。
  • cin.read(),读取指定长度的字符串,它与cin.getline的作用相似,但是cin.read不局限于行,当没读取足够长度的字符串时,还需要输入。

2.cout()相关的函数

  1. cout.precision(),用于控制输出浮点数的精度;
  2. cout.width(),用于控制输出的宽度。

3.代码实现:

<小甲鱼>C++实例练习3—cin/cout()相关的函数及使用举例

四、ifstream/ofstream

1.函数说明

ifstream in (char *filename,int open_mode); //第一个变量为文件名称,第二个变量为打开模式。

2.几种常见的打开模式

  1. ios::in-打开一个可读取文件;
  2. ios::out-打开一个可写入文件;
  3. ios::binary-以二进制的形式打开一个文件;
  4. ios::app-写入的所有数据将被追加到文件的末尾;
  5. ios::trunk-删除文件原来已经存在的内容;
  6. ios::nocreate-如果要打开的文件并不存在,那么以此函数调用open函数将无法进行;
  7. ios::noreplace-如果要打开的文件已存在,试图用open函数打开时将返回一个错误。
ofstream out(“test.tx
  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值