C++学习day--02 C++语法规则

1、项目一、黑客攻击系统-功能菜单

现在我们要边开始做项目边开始学习,可能对0基础这种方式不友好,但是效果比循循渐进学习方式好很多。

小拓展:

黑客/骇客/红客
黑客: 精于计算机技术的计算机专家或程序员(有伤害能力,但是不做任何伤害)
骇客: 恶意或非法地破解、破坏程序、系统及网络安全的人, 又称“黑帽黑客”。
红客,为捍卫中国主权而战的黑客(或骇客)
实际上,界限非常模糊,常常统称为黑客.
开发要求
配置要求 :
1. 系统要求 : windows7/8/10 系统 , Mac 系统
2. 开发工具 : visual c++ 2010 Express, 或其他 IDE
推荐配置 :
1. 系统要求 : windows7/8/10 系统
2. 开发工具 : visual c++ 2010 Express 或其他 VS 版本
项目说明
1. 直接从项目需求入手 , 搞清需求后 , 直接开发项目 , 在项目实现中学习 C++
2. 通过 6 个子项目迭代代码 , 实现黑客攻击功能 .
3. 联系 Rock 老师 (QQ: 2156489609), 为每位学员定制一个网站 , 以作为后面的攻击对象 .
2 节:项目需求
黑客打开这个攻击系统后,首先看到的就是一个“功能菜单”。
以便让黑客选择所需要的功能。
假设需求如下:
1. 网站 404 攻击
2. 网站篡改攻击
3. 网站攻击记录
4. DNS 攻击
5. 服务器重启攻击

3 节:项目实现

 创建一个空项目,添加源文件teat.cpp文件:

代码如下:

#include
#include
/*
1. 网站 404 攻击
2. 网站篡改攻击
3. 网站攻击记录
4.DNS 攻击
5. 服务器重启攻击
*/
int main( void ) {
std::cout << "1. 网站 404 攻击 " << std::endl;
std::cout << "2. 网站篡改攻击 " << std::endl;
std::cout << "3. 网站攻击记录 " << std::endl;
std::cout << "4.DNS 攻击 " << std::endl;
std::cout << "5. 服务器重启攻击 " << std::endl;
system( "pause" );
return 0;
}

运行结果:

C++学习day--02 C++语法规则_第1张图片 

 补充一下运行的细节:

执行方式 1(开发时使用)

使用调试模式执行:
C++学习day--02 C++语法规则_第2张图片

 选择 Debug 模式(默认), 再单击按钮

执行方式 2 

直接双击运行调试模式下的可执行文件:
C++学习day--02 C++语法规则_第3张图片

执行方式 3

使用发布模式:
C++学习day--02 C++语法规则_第4张图片

 执行方式 4

直接运行发布模式下编译后的可执行文件:

C++学习day--02 C++语法规则_第5张图片

发布模式和调试模式的区别
调试模式中会生成很多调试信息,便于排查错误,但是对执行效率有影响。
确认程序正确后,使用发布模式生成可执行文件

2、C/C++语法规则

编程的本质:就是控制!(素养提升名言)

原始的规则:
1. 各“语法单位”(组成部分)使用任意个(至少 1 个)分隔符隔开。 分隔符有:空格,或 tab 键,或换行符。
1、int main(void)
2、int
main(void)
1和2两种写法都是合法的。
3、intmain(void)
但 是3是非法的
2. 必须使用英文输入法输入 (仅双引号括起来的“字符串”中可使用中文)
3. 每条代码的后面使用 表示这个指令代码结束。
4. #include 等预处理指令 , 必须一条指令占一行
其他规则不需记忆,在后面的项目实践中掌握。
以下代码也能编译运行 .
C++学习day--02 C++语法规则_第6张图片

 这样的代码很难阅读,因此学习时,建议按照标准的风格来写。如下面这个代码是一个比较规范的风格:

C++学习day--02 C++语法规则_第7张图片

无论如何,只要遵循最基本的原则, 代码就是合法的, 就能编译执行. 懂得最基本的规则之后, 再追求优雅风格的代码(高逼格风格)
再次强调:
不要刻意记忆 C++的语法规则(记也没有意义) 初学时,仅掌握最基本的语法规则即可!

3、头文件的使用

程序如戏 ,程序中有很多元素(std::cout, system), 都是一个个演员 。但是他们之间都互不认识, 但是却要一起合作, 强行编译 , 就会导致错误 ! 得预先介绍他们, 知道他们各自的名号和用法。
解决方案 :
包含相应的头文件 ! ( 头文件中 , 含有相关元素的介绍说明 )
std::cout    头文件: iostream
system      头文件: Windows.h
#include 表示把文件 Windows.h 中的所有内容拷贝(复制)到“这里”

 头文件查找路径(重点,企业面试题)

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

#include
<>表示,从编译器默认的路径中去找文件 stdio.h , 这个默认路径,取决于编译器。不同平台下不同编译器的路径都不相同。 这个默认路径下,已经包含了 c 标准库所需要的所有头文件。
使用用户自定义的头文件使用该方式。
#include “mytest.h”
" "表示从当前目录下寻找文件 mytest.h
如果在当前目录下找不到,再从编译器默认的路径中查找

头文件的位置:

要求放在文件的最前面。 #include  的作用是,把相关的声明拷贝到这个文件内, 所以都习惯把#include 放到文件的最前面。 如果放到后面,当 include 之前出现了相关的函数,就会有问题,例如:
C++学习day--02 C++语法规则_第8张图片

 发生编译错误。

4、程序从哪里开始执行?

人生,就是一个程序。在不同的阶段,做不同的事。 每件事,就是一个函数。每个人的人生都不相同, 以不同的顺序,做不同的事(相当于调用不同的“函数”), 但是都是从“出生”开始。程序也一样, 在C++、C、java程序中,默认从main函数开始执行。大多数语言都是从main函数处开始执行。
main函数的要求:
1. 返回类型
2. 参数
3. 返回值
main函数的作用:
1、main 函数是程序的唯一入口。
2、也就是说,程序运行时,首先从 main 函数开始执行。
3、一个程序, 必须要有一个 main 函数,而且也只能有一个 main 函数
main函数的格式:
格式 1
int main(void) {
}
格式 2
具体用法在后面的函数部分,再详细讲解
int main(int argc , char* argv) {
}

 main 函数的返回:

main 函数应该用 return 返回一个 int 类型数据,也就是说,必须返回一个整数。 一般用法:
程序成功结束,则 main 函数返回 0
程序有异常,则返回一个大于 0 的整数。

 使用其他函数:

真正强大的人,总是善于使用各种资源。 使用已有的函数,来完成自己的工作,而不是一切都由自己来实现。 IT 格言:不要重复制造轮子 ---《人月神话》 , 解读:尽可能使用已经开发好的函数。 有哪些“其它函数”?
1)  C 标准库
2 C++ 标准库
3 )第三方开源框架
4 )公司内已经开发好的函数
5 )程序员自己定义的函数

你可能感兴趣的:(C++学习——奇牛学院,c++,学习,开发语言)