C++笔记
C++笔记(尚未整理完毕)
小建议
如果你拥有C语言程序设计基础,理解以下内容会更加容易。
如果你在阅读过程中遇到了不理解的概念请自行上网搜索或查阅相关专业书籍,还是不懂的话可以记下来然后先行跳过。因为计算机知识体系庞大,光有编程语言的基础是远远不够的,所以需要循序渐进地学习,但不用紧张,因为目前我们还不需要很深的知识,需要的是思考、动手和耐心。
如果你是非英语母语者且英语词汇量比较匮乏的话,建议你在后面编程的过程中,尽可能去留意这些英文缩写,使用合法的英文和数字等组合命名 函数(Function)
和 变量(Variable)
。平时可以上谷歌去熟悉全英文环境,可以去啃一些英文 markdown
文档(如果时间允许的话),让自己逐渐熟悉全英文环境,这对于后期的学习很有帮助。
本篇文章就是使用markdown语法编写的,文件后缀名是 .md
。
C++笔记
C++笔记(尚未整理完毕)
小建议
如果你拥有C语言程序设计基础,理解以下内容会更加容易。
如果你在阅读过程中遇到了不理解的概念请自行上网搜索或查阅相关专业书籍,还是不懂的话可以记下来然后先行跳过。因为计算机知识体系庞大,光有编程语言的基础是远远不够的,所以需要循序渐进地学习,但不用紧张,因为目前我们还不需要很深的知识,需要的是思考、动手和耐心。
如果你是非英语母语者且英语词汇量比较匮乏的话,建议你在后面编程的过程中,尽可能去留意这些英文缩写,使用合法的英文和数字等组合命名 函数(Function)
和 变量(Variable)
。平时可以上谷歌去熟悉全英文环境,可以去啃一些英文 markdown
文档(如果时间允许的话),让自己逐渐熟悉全英文环境,这对于后期的学习很有帮助。
本篇文章就是使用markdown语法编写的,文件后缀名是 .md
。
简介
计算机编程语言包括 机器语言
、汇编语言
和 高级语言
。机器语言使用二进制 0
和 1
,通过向计算机 终端(Terminal)
输入二进制数来使计算机执行各种指令,但这种语言对于人来说不易读、不易维护且耗时长,于是便逐渐发展出了汇编语言,在此基础上又进一步发展出了高级语言。
高级语言通过 编译器
转换成汇编语言,汇编语言通过 汇编器
转换成机器语言并最终使计算机运行 程序(Program)
。这种上一个程序的输出是下一个的输入的程序组合也称为 工具链
。
与 面向过程
的C语言不同,C++是由C语言发展而来的一门 面向对象
的高级语言,类似于C#, Java, Go, Rust 等等。
另外,除了以上提到的 编译型语言
,随着时代发展,又出现了 解释器
。解释器使程序直接读取程序并将其转化为中间形态后直接执行。这种 解释型程序(脚本)
与 编译程序
只需编译一次之后计算机就能直接执行编译好的机器指令不同,像是Python、PHP、Ruby、Perl等等语言每次执行都需要经历这个过程,因而程序运行比较慢,这种语言叫做 解释性语言(脚本语言)
。
虽然这类语言因为这种特性受到诸多限制而被一些程序员所诟病,但我们也应该清楚工具是为人服务的,不存在着一种完美的工具,我们应该做的是根据自己的实际需求和项目具体情况来选择工具以便高效地完成我们的工作。
准备工作 | 针对Windows系统
设备:
-
@@ -205,14 +205,21 @@
- -1
2
3
4
5
6
7#include <iostream>
using namespace std
int main()
{
cout << "Hello World" << "!" << endl;
return 0;
}-(endline缩写)``` 和 ```\n``` 一样也有换行的作用,但除此之外还会刷新缓冲区 1
2
3
完整代码#include
-
using namespace std
int main()
{
cout << “Hello World!” << endl;
system(“pause”);
}-1
2
3
4
5
6
7
8
9
10
11
12
最后 ```ctrl+F5``` 执行程序(暂时不需要用到调试)
#### 补充
1.输入输出流 ```iostream``` :<br>
也称为 ```I/O流``` ,是C++ 中用于输入和输出数据流的 ```基础类库(BCL)``` ,```io```代表 input 和 output ,是 ```istream类``` 和 ```ostream类``` 两个类名的头字母缩写。```stream``` 代表数据之间的传输操作。<br>iostream 也是由抽象基类 ```ios``` 派生出的 ```istream``` 和 ```ostream``` 通过 ```多重继承``` 而派生出的 ```类``` 。<br>
除此之外,还有用于 ```文件(file)``` 输入和输出的 ```fstream``` 以及用于 ```字符串(string)``` 输入和输出的 ```strstream``` 。
2.预编译处理器指令 ```#include``` :<br>
预处理器将指示计算机的编译器在实际编译前所需完成的准备工作,这个过程也称为 ```预处理``` 。所有的预处理器指令以 ```#``` 开头,其中最常见的是 ```#include``` ,用于把 ```头文件``` 包含到源文件中。<br>头文件里一般是方法声明,一开始的C语言写的 ```.c``` 文件太长,所以后来就将源文件分开,一部分方法声明放在另一个文件里再写在源文件开头,所以称作头文件,而编译好的既包含外部源文件也包含头文件的二进制文件叫做 ```(静态)库文件``` ,在项目中显示包含的头文件也叫 ```外部依赖``` ,类似于Java里的 ```包(package)``` 。
此外,如果是自定义的头文件则不是用尖括号 ```<>``` 括起来表示,而应该用 ```""``` 。#include
-
#include”xxx.h”-1
以后我们可能还会用到 ```#define``` ,这个预处理指令用于创建符号常量,该符号常量通常称作 ```宏``` ,这个指令也叫做 ```宏定义``` 。简单来说就是给常量取个名字,就像我们称呼圆周率3.1415926535……为π一样,π就是圆周率的名字,建立了这样的对应关系,使得我们可以用字符去替换常量,而且编译器也能读取并转换成相应的常量。
#define PI 3.14
-+1
2
3
4
5
6
7
8
9
10
11要注意宏定义只是简单的字符串代换,是在预处理完成的。
3.命名空间
4. ```cin``` 和 ```cout``` :<br>
属于上面提及的两个类的对象,分别意为输入和输出,读作 ```c-in``` ,```c-out``` 。As you see, the words mean input and output here. C++ std namespace is a codes library which include "cin" and "cout", "using namespace std" so that you could use them directly or you must add "std::" on the head of "cin" and "cout".
<br>
like:
```bash
cout << "the string print on the screen." << endl;
cin >> variable;endl (endline缩写) 和 \n 一样也有换行的作用,但除此之外还会刷新缓冲区
+ +完整代码
++ +1
2
3
4
5
6
7#include <iostream>
using namespace std
int main()
{
cout << "Hello World!" << endl;
system("pause");
}最后
+ctrl+F5
执行程序(暂时不需要用到调试)补充
1.输入输出流
+iostream
:
也称为I/O流
,是C++ 中用于输入和输出数据流的基础类库(BCL)
,io
代表 input 和 output ,是istream类
和ostream类
两个类名的头字母缩写。stream
代表数据之间的传输操作。
iostream 也是由抽象基类ios
派生出的istream
和ostream
通过多重继承
而派生出的类
。
除此之外,还有用于文件(file)
输入和输出的fstream
以及用于字符串(string)
输入和输出的strstream
。2.预编译处理器指令
+#include
:
预处理器将指示计算机的编译器在实际编译前所需完成的准备工作,这个过程也称为预处理
。所有的预处理器指令以#
开头,其中最常见的是#include
,用于把头文件
包含到源文件中。
头文件里一般是方法声明,一开始的C语言写的.c
文件太长,所以后来就将源文件分开,一部分方法声明放在另一个文件里再写在源文件开头,所以称作头文件,而编译好的既包含外部源文件也包含头文件的二进制文件叫做(静态)库文件
,在项目中显示包含的头文件也叫外部依赖
,类似于Java里的包(package)
。
此外,如果是自定义的头文件则不是用尖括号<>
括起来表示,而应该用""
。+1
2#include<iostream>
#include"xxx.h"以后我们可能还会用到
+#define
,这个预处理指令用于创建符号常量,该符号常量通常称作宏
,这个指令也叫做宏定义
。简单来说就是给常量取个名字,就像我们称呼圆周率3.1415926535……为π一样,π就是圆周率的名字,建立了这样的对应关系,使得我们可以用字符去替换常量,而且编译器也能读取并转换成相应的常量。+1
#define PI 3.14
要注意宏定义只是简单的字符串代换,是在预处理完成的。
+3.命名空间
+4.
+cin
和cout
:
属于上面提及的两个类的对象,分别意为输入和输出,读作c-in
,c-out
。As you see, the words mean input and output here. C++ std namespace is a codes library which include “cin” and “cout”, “using namespace std” so that you could use them directly or you must add “std::” on the head of “cin” and “cout”.
like:1
2cout << "the string print on the screen." << endl;
cin >> variable;(这里的大于小于号事实上是箭头,代表数据流流向,不能随意改变)
5.int main(void){return 0;} :
Our programs need an entry point where your function is, so you need a function to receive what you input then output on the screen. main function is necessary.6.system(“pause”) :
@@ -940,4 +947,4 @@
Use it so that our programs realize that it’s not end and your command window will not close itself automatically.本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 我亦博客!