本内容仅属于个人自学记录,欢迎交流和指正,请勿转载或发表不当言论。
主要学习网址:https://www.runoob.com/
2.1 Cplus/C++ 循环
1. 循环类型:
while循环:
//先判定给定条件是否为真,真时执行循环体 while(condition) { ... } //先执行一次循环体,再判断给定条件是否为真 do { ... } while (condition)
for 循环
可用于多次执行一个语句序列。
for(exp1; exp2; exp3) { ...code } //example:执行10次循环语句。 for (i = 0; i > 10; i++) { x++; }
可用于实现无限循环。
for( ; ; ;) //当条件表达式不存在时,它被假设为真。 { ...code //无限循环体,可以通过 ctrl+C 终止一个无限循环。 }
2. 循环控制语句:
循环控制语句更改执行的正常序列,当执行离开一个范围时,所有在该范围中创建的自动对象都会被销毁。
控制语句 | 描述 |
---|---|
break 语句 |
终止 loop 或 switch 语句,程序流将继续执行紧接着 loop 或 switch 的下一条语句。 遇到break时循环会立即终止,只跳出一层循环语句。 |
continue 语句 |
引起循环跳过主体的剩余部分,立即重新开始测试条件,即跳过当前一次循环的剩余代码,强迫开始下一次循环。 对于 for 循环,可能会导致执行条件测试和循环增量部分。 对于 while 和 do...while 循环,会导致程序控制回到条件测试上。 |
goto 语句 |
将控制转移到被标记的语句。但是不建议在程序中使用 goto 语句。
被标记语句的标识符,可以是除C++关键字意外的纯文本,标记语句可以是任何语句,放置在标识符和冒号后。 goto lable; ... ... label: statement;
|
3. 练习:利用循环体输出菱形方法。
1 #include <iostream> 2 #include <cmath> 3 using namespace std; 4 5 int main() 6 { 7 cout << "请输入半菱形高度" << endl; 8 int n = 0; 9 cin >> n; 10 11 for (int i = 0; i < 2 * n; i++) 12 { 13 for (int j = 0; j < 2 * n; j++) 14 { 15 if ( abs(i-n) + abs(j-n) == n-1 ) //输出时星号的规律 16 { 17 cout << "*"; 18 } 19 else 20 { 21 cout << " "; 22 } 23 } 24 cout << endl; 25 } 26 27 return 0; 28 29 }
输出示例:
请输入半菱形高度 5 * * * * * * * * * * * * * * * *
最后输出的菱形的分布方法(第一列与行均为空白,从 n/2 开始分布,因此满足计算公式):
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
0 | ||||||||||
1 | * | |||||||||
2 | * | * | ||||||||
3 | * | * | ||||||||
4 | * | * | ||||||||
5 | * | * | ||||||||
6 | * | * | ||||||||
7 | * | * | ||||||||
8 | * | * | ||||||||
9 | * |
2.2 Cplus/C++ 判断
1. 判断语句:
语句 | 描述 |
---|---|
if 语句 | 一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。 |
if...else 语句 | 一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。 |
嵌套 if 语句 | 您可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。 |
switch 语句 |
一个 switch 语句允许测试一个变量等于多个值时的情况。 switch(expression){ case constant-expression : statement(s); break; // 可选的 case constant-expression : statement(s); break; // 可选的 // 您可以有任意数量的 case 语句 default : // 可选的 statement(s); }
其中: expression必须是一个整型或枚举类型,或一个class类型,其中class有一个单一的转换函数将其转换为整型或枚举类型。 constant-expression 必须与expression变量具有相同的数据类型,且必须是一个常量或字面量。 default case 中的 break 语句不是必须的。 |
嵌套 switch 语句 |
您可以在一个 switch 语句内使用另一个 switch 语句。 C++中 switch 语句允许至少256各嵌套层次。 switch(ch1) { case ‘A‘: cout << "这个 A 是外部 switch 的一部分"; switch(ch2) { case ‘A‘: cout << "这个 A 是内部 switch 的一部分"; break; case ‘B‘: // 内部 B case 代码 } break; case ‘B‘: // 外部 B case 代码 }
|
2. 运算符(?):
条件运算符 ? 可以代替 if...else 语句,一般形式如下:
Exp1 ? Exp2 :Exp3;
若 Exp1 为真,则计算 Exp2,结果即为整个 ? 表达式的值,如果 Exp1 为假,则计算 Exp3 的值。
【实例:找出最大值:
#include<iostream> #include <iomanip> using namespace std; int main() { int a, b, c, d, m, n,z; cout << "请输入四个数字"; cin >> a >> b >> c >> d; //分组比较 m = a > b ? a : b; n = c > d ? c : d; z = m > n ? m : n; cout<<"最大值为:"<<z<<endl; return 0; }
原文:https://www.cnblogs.com/schelling/p/13072436.html