700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 【从入门到精通 项目1】项目经理带你-零基础学习C/C++

【从入门到精通 项目1】项目经理带你-零基础学习C/C++

时间:2023-02-24 00:04:08

相关推荐

【从入门到精通 项目1】项目经理带你-零基础学习C/C++

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

第1节:项目介绍

第2节:项目需求

黑客打开这个攻击系统后,首先看到的就是一个“功能菜单”。

以便让黑客选择所需要的功能。

假设需求如下:

1.网站404攻击

2.网站篡改攻击

3.网站攻击记录

4.DNS攻击

5.服务器重启攻击

第3节:项目实现

创建一个空项目CP1

添加文件admin.c

main.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;}

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

使用调试模式执行:

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

执行方式2

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

执行方式3

使用发布模式:

执行方式4

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

发布模式和调试模式的区别

调试模式中会生成很多调试信息,便于排查错误,但是对执行效率有影响。

确认程序正确后,使用发布模式生成可执行文件。

第4节:项目精讲

1.1编程的本质

电影:骇客帝国

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

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

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

编程的本质

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

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

体验编程的本质

/students?_cc=SickTurnSouth

免费注册账号:

注册后, 点击”升级为学生账号”

填写班级代码, 再点击”升级为学生账号”

不要点击”升级为老师账号”, 老师账号没有可玩性.

班级代码:

私信我获得

体验编程本质:

控制! 控制! 本质就是控制!

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

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

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

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

需要关机重启,战事太急,没时间关机 😦

重要的事情再说一遍:

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

编程思维修炼中的“编程闯关”,就是让玩家自己写代码,来控制游戏中的Hero打怪、捡宝、闯关。

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

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

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

原始的规则:

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

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

int main(void)

int

main(void)

都是合法的。

intmain(void)

是非法的。

2.必须使用英文输入法输入(仅双引号括起来的“字符串”中可使用中文)

3.每条代码的后面使用 ;表示这个指令代码结束。

4.#include等预处理指令,必须一条指令占一行

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

以下代码也能编译运行.

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

高逼格的代码: (推荐)

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

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

再次强调:

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

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

1.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之前出现了相关的函数,就会有问题,例如

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

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

每件事,就是一个函数。

每个人的人生都不相同,

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

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

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

main函数的要求:

1.返回类型

2.参数

3.返回值

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.5使用其他函数

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

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

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

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

有哪些“其它函数”?

1)C标准库

2)C++标准库

3)第三方开源框架

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

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

1.6不变的誓言-“字符串常量”

直到今天,“水帘洞”三个字一直没有变。

“水帘洞”就是“字符串常量”

什么是字符串?

什么时候需要使用字符串?

微信聊天、QQ聊天,使用的都是字符串

字符串常量:内容永远不会发生变化的字符串。

字符串常量:用半角(英文输入法)双引号“”括起来。

“你爱我吗”

“I love you.”

std::cout << “我的战斗力是” << 10000;

“我的战斗力是”是字符串常量

10000是整数常量

std::cout << “9527”<<“的年龄是” << 38;

“9527”是字符串常量

38是整数常量

常量和变量的区别?

常量:在程序整个运行期间,值不会发生任何变化。

变量:在程序整个运行期间,值随时可以发生变化。

疑问:

字符串的存储方式?

除了字符串常量,还有哪些其他类型的常量?

变量又如何使用?

【在后续课程中详细讲解】

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

沉默不是金,爱需要表达。暗恋永远不会有结果。

“打印”是计算机最原始的表达方式。

C++风格的打印:

实例:

std::cout << “你好! Rock.” ;

std::cout << “你好! Rock.” << std::endl;

std::cout << std::endl;

std::cout <<”工资: “ << 30000;

std::cout <<”工资: 30000“;

std::cout << 3.1415;

使用要求:

需要包含头文件 #include

注意不是#include <iostream.h>

std是一个命名空间(下一节详细讲解)

cout是std命名空间内的一个“对象”。

endl也是std命名空间内的一个对象,用来表示“回车符”(换到下一行的最前面)

对象:先简单的理解为一个具体的实体。

(在后续视频中,会详细介绍C++面向对象的概念)

std::cout << 相当于调用了一个特殊的函数(但不是函数),用来打印数据。

std::cout << “你好!” << “Rock!”;

等效于:

std::cout << “你好!”;

std::cout << “Rock!”;

std::cout, 可以连续输出任意多个数据,中间用 << 隔开。

C风格的打印:

实例:

printf(“你好!Rock”);

printf(“你好!Rock\n”);

printf(“\n”);

printf(“工资:30000”);

printf(“工资:%d”, 30000);

printf(“工资:%d 年假:%d”, 30000, 12);

printf(“%f”, 3.1415);

printf(“圆周率:%f”, 3.1415);

说明:

1.占位符的使用

2.%d 整数

%f 浮点数(带小数部分的数据)

使用要求:

需要包含头文件 #include <stdio.h>

特别注意:

std::cout和printf还有很多用法,现在只需要掌握以上最常用的用法,其他的用法现在不需要关注。

其他用法在后续课程中,需要时再讲解。

打印语句的使用场合:

‘打印’常常指:把信息输出到“标准输出设备”(标准输出设备,就是显示器中的“终端”)。

1.控制台应用程序的输出

2.程序调试Bug的重要手段

讨论:

std是一个命名空间,那么什么是命名空间?

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

韩信到底有没有谋反?

读《史记》:

研究一下历史:

韩信,战国时期韩国王室后裔。随刘邦征战天下。

公元前205年,韩信攻韩国,胜,刘邦命韩信为韩王

项羽被灭后,刘邦正式册封韩信为韩王。

公元前196年,韩信被告发谋反,韩信投降匈奴。

韩信,淮阴人。被称兵家四圣之”兵仙”。

秦末投项羽,后投刘邦。 背水一战击败赵国,同时派人降服燕国。

汉五年,韩信会师垓下,围歼楚军,项羽自刎。

被封楚王,后被人诬告贬为淮阴侯。

吕后与萧何合谋,将韩信骗入长乐宫,被斩。

小结:

两个韩信,同时追随刘邦,都被封为王,都被告密谋反,都被杀(同一年被杀)。

区分:

韩王韩信、淮阴侯韩信。

C++避免名字冲突:使用命名空间

使用命名空间。

用法1:

#include <iostream>#include <string>namespace China {float population = 14.1; //单位: 亿std::string capital = "北京"; }namespace Japan {float population = 1.27; //单位: 亿std::string capital = "东京"; }using namespace Japan;int main(void) {std::cout << "首都:" << capital << std::endl;std::cout << "人口:" << population << std::endl;std::cout << "首都:" << China::capital << std::endl;std::cout << "人口:" << China::population << std::endl;system("pause");return 0;}

用法2:

#include <iostream>#include <string>namespace China {float population = 14.1; //单位: 亿std::string capital = "北京"; }namespace Japan {float population = 1.27; //单位: 亿std::string capital = "东京"; }//注意:没有namespace//直接指定命名空间中的标识符,而不是整个域名using China::capital;using Japan::population; int main(void) {std::cout << "首都:" << capital << std::endl;std::cout << "人口:" << population << std::endl;system("pause");return 0;}

用法3:

#include <iostream>#include <string>namespace China {float population = 14.1; //单位: 亿std::string capital = "北京"; }namespace Japan {float population = 1.27; //单位: 亿std::string capital = "东京"; }using namespace China;using Japan::population;int main(void) {std::cout << "首都:" << capital << std::endl;std::cout << "人口:" << population << std::endl; //出错!system("pause");return 0;}

错误提示:

population”: 不明确的符号

错误原因:

解决方案:

指定完整的域名(Japan::population )来表示。

......int main(void) {std::cout << "首都:" << capital << std::endl;std::cout << "人口:" << Japan::population << std::endl; //出错!system("pause");return 0;}

说明:

本节中的 string 是c++的字符串类型,先简单了解即可,后面会详细讲解。

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

渣男是怎样炼成的?

经典流程(仅供参考)

使用vs, 只需单击一下,就把源代码转换成“软件”。

背后实际经历了一下4个处理阶段:

1.10常见错误总结

错误1:VS的中文乱码问题

VS最知名的错误(被程序员吐槽最多的BUG)。

VS支持多种中文编码,但是使用不当时,常常导致中文乱码,而且难以解决。

中文乱码的原因:

1.中文在不同编码格式下, 存储的方式不一样.

2.如果程序是A编码方式编译运行的,但是控制台却是以B编码方式来显示, 就会出现乱码.

3.vs的控制台默认编码是GB2312,编号号是836

注意:GBK编码是兼容GB2312的,一般描述GBK常常就是指BG2312

如果源代码文件的编码如果是其他编码格式, 就会导致中文乱码.

正常场景:

在vs中新建文件时,该文件默认都是GB2312编码.

因为控制台默认也是GB2312编码,所以一般情况下,都不会出现中文乱码.

错误场景:

1.直接在项目中导入了其他已经创建好的源代码文件,

如果该文件不是BG2312编码, 而且含有中文的话, 就必定会出现中文乱码.

2.从其他文件中复制代码到vs的文件中, 也可能导致编码错乱.

3.网络编程中, 和服务器交互通信, 两端的编码很可能不同.

我们的”黑客攻击系统”的服务端木马, 就是UTF-8编码格式的.

解决方案一: 修改文件的编码

修改源代码文件的”编码格式”, 使其和控制台的编码格式保持一致.

控制台的编码格式默认是936

代码文件的编码格式,可以通过vs很方便的修改:

先用vs打开对应的文件, 然后如下操作:

如果控制台的编码和程序的编码一致,还是有中文乱码,就需要修改控制台的属性,

右击控制台标题栏,选择“属性”,勾选“使用旧版控制台”

然后再重新运行。

解决方案二: 强制指定文件执行

不修改文件的编码, 而是直接指定程序执行时使用的编码, 使其和运行程序的控制台的编码一致.

#pragma execution_character_set(“gbk”)

解决方案三: 修改控制台的编码格式

修改vs控制台的编码, 使其和源代码的编码保持一致.

修改注册表, 可以修改控制台的编码格式.注意:

不建议使用该方式.

因为, 把控制台的默认编码改为其他编码后, 在该控制台输入中文, 很可能导致输入的中文无法识别.

在vs中存在该问题.

解决方案四: 对数据进行编码转换

适用于: 服务器端和客户端, 或多个客户端之间的编码不一致时.

1)收到对方的其他编码数据时, 先使用特定的接口来进行编码转换.

2)发送本地数据给对方之前, 先使用特定的接口来进行编码转换.

1.11血的教训:程序的注释

热点事件回顾:

美国的一家名为 WTS Paradigm 的企业资源规划软件(ERP)开发商的办公楼内,该公司的一名程序员持枪杀了4名同事,因他们总是不写注释,不遵循驼峰命名,最主要还天天git push -f 。当时43岁的安东尼·汤(Anthony Tong)在办公室,拿出一把事先藏起来的半自动手枪向周围4名同事开火。其他工作人员见状纷纷逃离办公楼,跑到附近的公司避难。当警察来到现场时,他竟然还想袭击警察!看来这位程序员真是被愤怒冲昏了头脑,因他的不配合,最后警察不得已向他开枪,在送往医院的途中安东尼流血过多死亡。在第二天的警方发布会上,警察说嫌疑人之前没有任何的犯罪行为,事情发生的非常突然,目前没有任何的迹象表明凶手的动机何在。

Rock老师被人坑的y 故事:

某车载卫星通信系统中:

......int fsgl; ......

这行代码我用了2个星期,才看懂。

Rock老师坑别人的故事:

Rock开发了一个基于eCos操作系统的文件系统。

当时没有写注释,不是因为懒,而是觉得自己的代码既高效又可读。

但是两个月以后…

使用注释的要点

注释的目的:

为了让程序更方便阅读(“可读”),以便于维护。

需要注释的内容:

1.重要变量名的作用(用来表示什么)

2.比较复杂的算法思想

3.程序中的关键步骤

注释的方式

有两种注释方式

1.单行注释 //

在行尾,或代码的上一行

在代码的下一行也可以,但很少有人这么做。

2.多行注释 /* */

不支持嵌套。

3.不要为了注释而注释!

过多的注释,反而有害!会把真正需要注意的东西淹没。

int i; //定义了一个变量i

注释的风格

函数的注释,有特别的“姿势”,可以让代码显得更规范。

1.在行尾注释 使用//注释

2.在代码的上一行使用//注释

3.多方内容的注释,使用 /* */

4.函数的注释

具体方法,在函数部分再详细讲解。

良好的注释风格,是一个程序员的基本修养。

错误2:360报告病毒

项目执行时,360安全卫士报告病毒,程序被拦截,提示如下:

解决方法:

方法1. 关闭360

方式2. 在360中添加白名单。

定位到文件:C:\Windows\\Framework\v4.0.30319\MSBuild.exe

错误3:代码正确,但是无法通过编译

代码看不出错误,而且报错信息莫名其妙,则很可能是因为代码使用全角字符方式输入的。

特别是各种符号,比如双引号,圆括号,分号等。

解决方案:

1.把原来的部分代码删除,切换到半角输入方式,再重新输入。

2.使用搜狗输入法的“中文时使用英文标点”功能,可以避免因为中英文切换导致的全角符号错误!

1)打开任意编辑器,比如记事本或word等,并把光标定位到该编辑器内。

2)同时按下 ctrl + shift + m + o 四个按键,以弹出搜狗工具箱:

单击工具箱(如上图所示):

在单击“属性设置”,勾选“中文时使用英文标点”

建议: 安装两种中文输入法.

写代码时, 切换到搜狗输入法.(要求按以上要求配置搜狗输入法)

其他情况下, 使用另一个中文输入法(比如QQ拼音输入法)

其他错误:

LINK : fatal error LNK1561: 必须定义入口点

原因:没有main函数,或者main函数的main写错了

*

1.12计算机英语加油站

*

IT编程中, 英语学习的误区.

1)误区1: 不懂英语,不能学编程

2)误区2: 完全不需要英语

实际要求:

认识最基本的英文单词即可. (总计几百个)

注意: 可以使用vs的智能提示 (ctrl + j)

第5节: 项目拓展

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

5.1.1 搭建图形开发环境

图形开发环境

1.使用MFC或WPF

使用方便, 但是需要先熟悉C++, 仅适用于Windows平台.

2.使用跨平台QT

跨平台, 也要先熟悉C++.

3.使用图形库OpenGL

OpenGL非常强大, 很多大型游戏引擎就直接使用OpenGL绘制图像

缺点: 太复杂, 不适合初学者.

4.EasyX

使用简单, 非常适合C/C++初学者构建图形界面.

同时用来学习/提高C/C++语言

为什么选择EasyX

1.作为学习、提高C++的重要工具,在实际工作中再根据需要选择其他工具。

2.开发简单的图形界面应用程序

搭建EasyX图形开发环境

1.先安装Visual C++或VS的其他版本

在前面的课程中已经安装。

2.到QQ群下载EasyX的安装包

3.直接双击运行安装

单击visual c++ 对应的“安装”按钮(或单击其他版本对应的按钮)

4.开发第一个图形界面程序

在原项目所在的解决方案中,创建一个新项目(也可以重新创建一个新的解决方案)

右击解决方案,选择“添加”> “新建项目”:

在VS中,一个解决方案可包含多个项目。

在新项目G1中创建一个新文件mainGraphic.cpp

代码如下:

#include <graphics.h> // 引用 EasyX 图形库#include <Windows.h>int main(void){initgraph(640, 480);// 初始化图形界面, 画布大小为640x480//画一个圆circle(320, 240, 200); //画圆,圆心(320, 240),半径为200system("pause");closegraph(); // 关闭图形界面}

把新项目G1设置为找个解决方案的“启动项目”

运行:

把新项目G1设置为找个解决方案的“启动项目”并运行。

5.1.2 图形开发进阶

可参考easyx图形库的文档手册, 学习各个接口的用法.

效果图:

分析:

背景色:用“画图”的拾色器获取。

代码:`#include <graphics.h> // 引用 EasyX 图形库

#include <Windows.h>

int main(void)

{

initgraph(640, 480); // 初始化图形界面, 画布大小为640x480

setbkcolor(RGB (64, 128, 128)); //设置背景色cleardevice(); //用背景色清空整个屏幕(整个画布)//画一个圆setlinecolor(RGB (255, 0, 0)); //设置划线(画笔)的颜色setlinestyle( PS_SOLID, 10);//设置线条为实线, 设置线宽为10像素 circle(320, 240, 200); //画圆,圆心(320, 240),半径为200//输出文本settextcolor(RGB(255,255,0));//设置字体颜色

//设置字体样式: 字体高度为100像素, 宽度不指定, 字体名称为"微软雅黑"

settextstyle(100, 0, “微软雅黑”);

outtextxy(170, 190, (“无码高清”)); //在指定位置输出文本

//画一条斜线line(180, 380, 460, 100); //从(180,380) 到 (460, 100)画一条直线system("pause");closegraph(); // 关闭图形界面

}`

5.1.3 黑客攻击系统-图形界面实现

效果:

分析:

图片:600 x 340

实现:

1.把图片资源(bg.jpg)复制到该项目的目录下:

2.代码实现:

mainGraphic.cpp

㈧`#include <graphics.h> // 引用 EasyX 图形库

#include <Windows.h>

int main(void)

{

initgraph(600, 400); // 初始化图形界面, 画布大小为640x480

loadimage(0, ("bg.jpg"));settextcolor(RGB(255,255,0));//设置字体颜色settextstyle(30, 0, "微软雅黑"); rectangle(300, 40, 550, 80);//(左上角x,左上角y, 右下角x,右下角youttextxy(310, 45, "1-网站404攻击"); //在指定位置输出文本rectangle(300, 100, 550, 140);outtextxy(310, 105, "2-网站篡改攻击"); //在指定位置输出文本rectangle(300, 160, 550, 200);outtextxy(310, 165, "3-网站攻击修复"); //在指定位置输出文本rectangle(300, 220, 550, 260);outtextxy(310, 225, "4-查看攻击记录"); //在指定位置输出文本rectangle(300, 280, 550, 320);outtextxy(310, 285, "5-退出"); //在指定位置输出文本system("pause");closegraph(); // 关闭图形界面

}`

思考:

各功能菜单,可以进一步完善:

鼠标移动到该菜单项时,整个菜单项就变色

但鼠标在这个菜单上点击时,菜单项再次变色,并播放一个短暂的音效。

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

效果:

#include <graphics.h> // 引用 EasyX 图形库#include <Windows.h> #include <mmsystem.h> // mci 库头文件#pragma comment(lib, "winmm.lib") int main(void) {initgraph(800, 513);loadimage(0, "jile.jpg");mciSendString("play 极乐净土.mp3 repeat", 0, 0, 0); //重复播放 system("pause"); closegraph(); }

说明: 后续升级为“动画版”。

第 6 节: 项目修炼

6.1 编程思维修炼

6.1.1 编程闯关 第 2 关:收集宝石

程序的执行效率 普通解法和最优解法的区别。函数参数的使用。

// 只调用了一次 moveUp, 效率更高 hero.moveUp(2);// 调用了两次 moveUp, 比调用一次开销更大。 hero.moveUp();hero.moveUp();

第 3 关 地狱幽灵

直线不一定最短,在失败中前进螺旋式开发方式

使用策略突破第 4 关

在失败中寻找解决方案,使用函数参数优化代码使用策略突破关“概念挑战”。

6.1.2 积木式编程训练

Scratch 介绍

Scratch 是一款由美国麻省理工学院(MIT) 设计开发的开源的图形化编程工具。 直接用图形化、积木式的方法开发应用程序。

目的:

1)忽略语言细节,专注编程的本质:编程思维

2)快速掌握编程技能。

应用:

1)可直接开发各种游戏、应用。

2)结合 Arduino 开发板(一种开源硬件),可开发各种极客项目、机器人项目。

适用于:

初学编程的所有人群。

不适用于:

已经具备丰富编程经验的程序员。

Scratch 版本

Scratch2.0

Scratch3.0 (( 年 1 月正式发布,更新了部分功能,使用方法相同)

Scratch 使用方式

网页方式 国外网站,受网速影响严重。 https://scratch.mit.edu/离线式 需安装 Scratch, 在 QQ 群可直接下载,直接双击安装即可。离线版,要求 Windows10 系统。 双击安装后,弹出如下窗口,单击“No thanks”

Scratch 初体验

舞台大小 :(480 x 360)

Scratch 进阶

分享:

版本 1 https://scratch.mit.edu/projects/286365442/fullscreen/

版本 2(Rock 版)https://scratch.mit.edu/projects/286883048/fullscreen/

注册账号,分享自己的作品,用手机的浏览器即可打开(也可用微信打开)

6.2 职场修炼

工作遇到困难怎么办, 问还是不问?

问题:做任何有难度的项目,必定会遇到困难,甚至瓶颈。

顾虑:

问同事,会不会显得自己的水平不行,有损个人的逼格形象。问领导(项目经理、主管等),会不会影响自己在公司的技术地位憋着不问,可能搞不定,会不会影响项目进度。 案例:南京研究所,某卫星通信项目的芯片移植,进度严重受阻,被迫更换芯片。

职场陷阱:

遇到困难,诉 苦,说“我不会”。

试用期,如果常常说“我不会”,将严重影响考评,甚至会被辞退。

案例:某名校(华南理工)毕业生试用期被辞退。

解决方案:

提出具体的问题,越具体越好。

案例:某嵌入式设备的 WEB 服务器不会做。

就问:在 xxx 设备,xxx 操作系统,提供 xxx 功能的 WEB 服务器,怎么做?同时提出几个备选方案,更好。

6.3 逼格提升

排错的最后武器-代码对比工具

明明文档或代码是一样的,为什么还是出错?

使用场合:

学习时,和参考代码做比较开发时,在多个版本之间做比较。

第 7 节: 项目练习

练习 1:增加两个功能选项

练习 2:程序员的套路: 约会 5 步骤

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。