C++学习笔记1

1.1 编程的本质

“程序员”预先编写一系列命令,控制程序执行特定的任务。

“程序员”就是“上帝”。

失去控制?除非程序有Bug...

计算机时钟BUG导致美军海湾战争中,唯一过百的伤亡(死28人,伤100余人)

BUG事件:1991年2月,美军的爱国者反导弹系统失效,未能拦截伊拉克的飞毛腿导弹,宰赫兰基地被炸毁,场炸死28个美国士兵,炸伤100多人,造成美军海湾战争中唯一一次伤亡超过百人的重大损失。

BUG分析:爱国者反导弹系统,每工作1小时,系统时钟延时3ms左右,当时已经连续工作了100小时,延时达到三分之一秒!飞毛腿导弹足以击中目标了!

需要关机重启,战事太急,没时间关机 :-(

编程,就是使用程序员的思维,来控制计算机做事情。

 

1.1 极简的C/C++ 语言语法规则

仅记原始规则,把握编程的本质

原始的规则:

  1. “语法单位”(组成部分)使用任意个(至少1个)分隔符隔开。

分隔符有:空格,或tab键,或换行符。

   int main(void)

   int

   main(void)   都是合法的。

   intmain(void)  是非法的。

  1. 必须使用英文输入法输入(仅双引号括起来的“字符串”中可使用中文)
  2. 每条代码的后面使用 ;表示这个指令代码结束。
  3. #include等预处理指令,必须一条指令占一行

其他规则不需记忆,在后面的项目实践中掌握。

无论如何,只要遵循最基本的原则, 代码就是合法的, 就能编译执行.

懂得最基本的规则之后, 再追求优雅风格的代码(高逼格风格)

 

再次强调:

不要刻意记忆C++的语法规则(记也没有意义)

初学时,仅掌握最基本的语法规则即可!

 

1.1 头文件的使用

为什么要使用头文件

程序如戏

程序中有很多元素(std::cout, system), 都是一个个演员

但是他们之间都互不认识, 但是却要一起合作, 强行编译, 就会导致错误!

得预先介绍他们, 知道他们各自的名号和用法

 

解决方案:

包含相应的头文件! (头文件中, 含有相关元素的介绍说明)

std::cout    头文件: iostream

system     头文件: Windows.h

#include <Windows.h> 表示把文件Windows.h中的所有内容拷贝(复制)到“这里”。

头文件的查找路径

#include  <Windows.h>

<>表示,从编译器默认的路径中去找文件stdio.h

这个默认路径,取决于编译器。不同平台下不同编译器的路径都不相同。

这个默认路径下,已经包含了c标准库所需要的所有头文件。

使用C++标准库的头文件使用该方式。

#include  “mytest.h”   

“”表示从当前目录下寻找文件mytest.h

如果在当前目录下找不到,再从编译器默认的路径中查找。

使用用户自定义的头文件使用该方式。

头文件的位置

要求放在文件的最前面。

#include 的作用是,把相关的声明拷贝到个文件内,
所以都习惯把#include 放到文件的最前面。

1.1 程序从哪里开始执行-main函数

人生,就是一个程序。在不同的阶段,做不同的事。

每件事,就是一个函数。  

每个人的人生都不相同,

以不同的顺序,做不同的事(相当于调用不同的“函数”),

但是都是从“出生”开始.

 

每个软件也各不相同,包含不同的函数,但是都是从main函数开始:

 

main函数的要求:

 返回类型  函数名称(函数的参数){

    函数体

}

main函数的作用

main函数是程序的唯一入口。

也就是说,程序运行时,首先从main函数开始执行。

一个程序,必须要有一个main函数,而且也只能有一个main函数。

main函数的格式

格式1

int  main(void) {

}

格式2

具体用法在后面的函数部分,再详细讲解

int  main(int argc ,  char* argv) {

}

main函数的返回值

main函数应该用return返回一个int类型数据,也就是说,必须返回一个整数。

一般用法:

程序成功结束,则main函数返回0

程序有异常,则返回一个大于0的整数。

1.2 使用其他函数

真正强大的人,总是善于使用各种资源。

使用已有的函数,来完成自己的工作,而不是一切都由自己来实现。

IT格言:不要重复制造轮子 ---《人月神话》

解读:尽可能使用已经开发好的函数。

有哪些“其它函数”?

1)C标准库

2)C++标准库

3)第三方开源框架

4)公司内已经开发好的函数

5)程序员自己定义的函数

原文地址:https://www.cnblogs.com/Hydraxx/p/13159991.html