第 1 节: 需求分析、项目实现——重复验证
项目实现:
#include <iostream>
#include <Windows.h>
#include <string>
using namespace std;
int main(void) {
string name;
string pwd;
while (1) {
system("cls");
std::cout << "请输入账号:";
std::cin >> name; std::cout << "请输入密码:";
std::cin >> pwd;
if (name == "54hk" && pwd == "123456") {
break;
}
else {
system("pause");
cout << "用户名或密码错误!" << endl;
}
}
system("cls");
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;
}
这个项目实现登陆账号和密码重复验证。
第 2节 “愚公移山”之 while 循环
使用场合: 当需要反复执行某些“过程”时, 循环次数不确定时 ,就可以使用 while 循环。
while ( 条件 ) {语句 1语句 2.......}
#include <iostream>
#include <Windows.h>
#include <string>
using namespace std;
int main(void) {
int i = 1;
int s = 0; while (i <= 100) {
s += i;
i++;
}
cout << "s=" << s << endl;
system("pause");
return 0;
}
流程图
第 3 节 "后羿射日"之 for 循环
使用场合 : 在循环次数已经确定的情况下 ,使用 for 循环更方便!
for ( 表达式 1 ; 表达式 2 ;表达式 3 ) {循环体}
表达式 1 : 为循环做准备表达式 2 : 循环条件表达式 3 : 改变循环计数
表达式 1 、表达式 2 、表达式 3, 这 3 个表达式的任意一个或多个,都可以省略!但是其中的“;”不可以省略!
for (; ; ) {循环体}相当于:while (1) {循环体}
在 C89 标准中,表达式 1 不能定义变量在 C99 标准和 C++ 中,表达式 1 可以定义变量表达式 1 中定义的变量,仅在 for 循环中有效。
for (表达式 1; 表达式 2;表达式 3){循环语句}
for (int i=0; i<10; i++) { ... },前闭后开
for (int i=1; i<=10; i++) { ... },前闭后闭// 较少使用
使用 for 循环实现“后裔射日”
#include <iostream>
#include <Windows.h>
#include <string>
using namespace std;
//后羿射日
int main(void) {
for (int i = 1; i <= 9; i++) {
cout << "射第" << i << "个太阳" << endl;
}
system("pause");
return 0;
}
1 )当已经确定了循环次数时,建议使用 for2 )其他情况,可以使用 for ,也可以使用 while, 建议使用 while
#include <iostream>
#include <Windows.h>
#include <string>
using namespace std;
int main(void) {
int s = 0;
//1 + 2 + 3 + ... 100
for (int i = 1; i <= 100; i++) {
s += i;
}
cout << s << endl;
system("pause");
return 0;
}
第 4 节 项目精讲-"不服就干-直接干"之 do-while 循环
使用场合 : 先执行一次循环体,然后再判断条件,以判定是否继续下一轮循环!
do {循环体} while (条件)
使用 do-while 计算 1+2+3+...100
#include <iostream>
#include <Windows.h>
#include <string>
using namespace std;
int main(void) {
int s = 0;
int i = 1;
do {
s += i;
i++;
} while (i <= 100);
cout << s << endl;
system("pause");
return 0;
}
do {// 循环体} while(0);
第 5节 项目需求、项目实现
#include <iostream>
#include <Windows.h>
#include <string>
using namespace std;
int main(void) {
string name;
string pwd;
while (1) {
std::cout << "请输入账号:";
std::cin >> name;
std::cout << "请输入密码:";
std::cin >> pwd;
if (name == "54hk" && pwd == "123456") {
break;
}
else {
cout << "用户名或密码错误!" << endl;
}
}
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;
}
第 6节 循环中的特殊控制:continue 与 break
结束本层循环。
结束本次循环,进入一次循环
![](https://i-blog.csdnimg.cn/blog_migrate/e89188505b6abae7baf85a49374b295e.png)
while 语句中的 continue
demo:
#include <iostream>
#include <Windows.h>
#include <string>
using namespace std;
int main(void) {
string ret;
for (int i = 0; i < 3; i++) {
cout << "开始第" << i + 1 << "次相亲..." << endl;
cout << "你喜欢打王者吗?" << endl;
cin >> ret;
if (ret != "yes") {
continue;
}
cout << "加个微信吧..." << endl;
}
system("pause");
return 0;
}
第 7节 代码世界中的传送阵:goto 语句
demo:
#include <iostream>
#include <Windows.h>
#include <string>
using namespace std;
int main(void) {
string ret;
for (int i = 0; i < 3; i++) {
cout << "开始第" << i + 1 << "次相亲..." << endl;
cout << "你喜欢打王者吗?" << endl;
cin >> ret;
if (ret != "yes") {
continue;
}
cout << "加个微信吧..." << endl;
cout << "我中意你, 你中意我吗?" << endl;
cin >> ret;
if (ret == "yes") {
goto happy;
}
}
system("pause");
return 0;
happy:
cout << "开启浪漫之旅..." << endl; system("pause");
return 0;
}
第 8 节 “甜蜜的谎言”之循环嵌套
#include <iostream>
#include <Windows.h>
#include <string>
using namespace std;
// 一天想我几次?
// 24 小时,每秒一次
int main(void) {
int count = 0;
for (int i = 0; i < 24; i++) {
for (int j = 0; j < 60; j++) {
for (int k = 0; k < 60; k++) {
count++; cout << i << ":" << j << ":" << k << " 想你第" << count << "次" << endl;
Sleep(1000);
}
}
}
cout << "一天想你" << count << "次" << endl;
system("pause");
return 0;
}
第 9节 常见错误总结
1. 循环体之前加分号2. 循环结束后,循环计数变量的值
第 10节 英语不是障碍:计算机英语加油站
while
|
当
...
时候,用于
while
循环
|
for
|
用于
for
循环
|
break
|
破裂
跳出所在的那重循环
|
continue
|
继续
->
调到
|
success
|
成功
|
fail
|
失败
|
error
|
错误
|
commit
|
提交
|
push
|
推
|
create
|
创建
|
clone
|
克隆,复制
|