零基础学习C++系列课程(二) 持续更新中

目录

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

第 1 节:项目介绍

第 2 节:项目需求

第 3 节:项目实现

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

 3.2执行方式 2

 3.3执行方式 3

 3.4执行方式 4

第 4 节:项目精讲

4.1编程的本质

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

4.3头文件的使用

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

4.5使用其他函数

4.6 不变的誓言-“字符串常量” ​编辑

4.7 让计算机说话:cout 和 printf 的使用

4.8 韩信谋反解密-命名空间的使用

4.9 软件是怎样炼成的: C++程序的编译过程

4.10 血的教训:程序的注释 

4.11 常见错误总结

4.12 计算机英语加油站

第 5 节: 项目拓展

5.1 拓展 1:开发图形登录菜单

5.2 拓展 2: 宅男福利-在控制台上跳极乐净土(音频版)

第 6 节: 项目修炼

6.1 编程思维修炼

6.2 职场修炼

6.3 逼格提升

第 7 节: 项目练习


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

1 节:项目介绍

为看书困难的小伙伴推荐视频教程:百度网盘 提取码:r59a

黑客/骇客/红客

  • 黑客: 精于计算机技术的计算机专家或程序员(有伤害能力,但是不做任何伤害)
  • 骇客: 恶意或非法地破解、破坏程序、系统及网络安全的人, 又称“黑帽黑客”。
  • 红客,为捍卫中国主权而战的黑客(或骇客)
实际上,界限非常模糊,常常统称为黑客.
臭名昭著(声名显赫)的[希拉里邮件门]黑客-金姆·多特康姆

汪正扬,中国最小黑客,13岁向360提交多个系统漏洞

 中美黑客大战

中美撞击事件(王伟在中国南海领空牺牲)引发”中美黑客大战”
中国红客与美国黑客激烈交战.
中国600多个网站被攻陷,美国92个网站陷落.
2001年5月4日,中国红客攻陷美国白宫网站,白宫网站被迫关闭2小时.

说明:为提升中国南海的国防实力,研发了广州军区南海无线微波系统. 实现了南海主要岛屿在恶劣气候下的稳定通信,该项目的主体架构将在本课程的后续项目中带大家学习.

黑客攻击系统拓扑图

 开发要求

配置要求:

1. 系统要求: windows7/8/10 系统, Mac 系统

2. 开发工具 : visual c++ 2015 Express, 或其他 IDE
推荐配置:
1. 系统要求 : windows7/8/10 系统
2. 开发工具 : visual c++ 2015 Express 或其他 VS 版本
项目说明
1. 直接从项目需求入手 , 搞清需求后 , 直接开发项目 , 在项目实现中学习 C++
2. 通过 6 个子项目迭代代码 , 实现黑客攻击功能 .

2 节:项目需求

黑客打开这个攻击系统后,首先看到的就是一个“功能菜单”。
以便让黑客选择所需要的功能。
假设需求如下:
1. 网站 404 攻击
2. 网站篡改攻击
3. 网站攻击记录
4. DNS 攻击
5. 服务器重启攻击

3 节:项目实现

创建一个空项目 CP1
添加文件 admin.c
#include <iostream> 
#include <Windows.h> 

/*
 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; 
 }

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

 使用调试模式执行:

1、选择 Debug 模式(默认);2、单击开始按钮

 3.2执行方式 2

 直接双击运行调试模式下的可执行文件:

 3.3执行方式 3

使用发布模式:

 3.4执行方式 4

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

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

4 节:项目精讲

4.1编程的本质

电影:骇客帝国

完全由程序控制的虚拟世界

 电影《源代码》:多个平行世界

 已投入使用的家庭服务机器人:

编程的本质
     “程序员”预先编写一系列命令, 控制 程序执行特定的任务。
     “程序员”就是“上帝
体验编程本质:控制! 控制! 本质就是控制!
        

失去控制?除非程序有 Bug...
计算机时钟 BUG 导致美军海湾战争中,唯一过百的伤亡(死 28 人,伤 100 余人)
BUG 事件:1991 年 2 月,美军的爱国者反导弹系统失效,未能拦截伊拉克的飞毛腿导弹,宰
赫兰基地被炸毁,场炸死 28 个美国士兵,炸伤 100 多人,造成美军海湾战争中唯一一次伤
亡超过百人的重大损失。
BUG 分析:爱国者反导弹系统,每工作 1 小时,系统时钟延时 3ms 左右,当时已经连续工作
了 100 小时,延时达到三分之一秒!飞毛腿导弹足以击中目标了!
需要关机重启,战事太急,没时间关机 :-(
重要的事情再说一遍:
编程,就是使用程序员的思维,来控制计算机做事情。
编程思维修炼中的“编程闯关”,就是让玩家自己写代码,来控制游戏中的 Hero 打怪、捡
宝、闯关。

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

 不做孔乙己,要做说干就干的平头哥

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

以上风格的代码, 常见于报价低但是由要求给源码的外包软件中.(目的:让人看不懂) 

 高逼格的代码: (推荐)

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

4.3头文件的使用

为什么要使用头文件
事件回顾 : < 吐槽大会 > 第一季
嘉宾 王建国 吐槽另一名嘉宾 常远 ”.

 

  

小咖见小咖, 互不认识. 不聊显得没礼貌, 强聊又太尴尬...

粉丝见蒙面偶像... 

 拜年走亲戚,分不清七大姑、八大姨...

原因 : 各种因素导致的互不认识!
程序如戏
程序中有很多元素 (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 放到文件的最前面。
如果放到后面,当 include 之前出现了相关的函数,就会有问题,例如

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

人生,就是一个程序。在不同的阶段,做不同的事。
每件事,就是一个函数。
每个人的人生都不相同
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乐成书院

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值