原本以为自己对基础结构了解的很是深入,没有必要整理。
但是做错题了之后就不这么想了……
image-20201113143024482
image-20201113142942982
- void coutIF() {
- int x = 100;
- if (x < 10) {
- cout << "1";
- } else if (x > 101) {
- cout << "2";
- } else {
- cout << "3";
- }
- }
结果为3。
image-20201113143414467
switch语句的执行过程是:
首先计算switch 语句中表达式的值
然后在case语句中寻找值相等的常量表达式,并以此为入口标号,由此开始顺序执行。如果所有case的常量表达式都不符合,则从“default :”为入口标号。
遇到break语句为出口标号
注意:
switch语句后面的表达式可以是整型,字符型,枚举型。
每个常量表达式的值不能相同,但次序不影响执行结果。
每个case分支可以有多条语句而不必用{}。
如果没有出口标号,则会从人口标号开始一直执行到switch 结构的结束点。
当若干分支需要执行相同操作时,可以使多个case分支共用一组语句。
- void coutSWITCH() {
- int x, a, b, c, d;
- a = b = c = d = 0;
- cin >> x;
- switch (x) {
- case 1:
- a++;
- break;
- default:
- d = 1;
- case 2:
- b++;
- break;
- case 3:
- c++;
- break;
- }
- cout << a << b << c << d << endl;
- }
x=1,结果为1000
x=2,结果为0100
x=5,结果为0101
- for(初始语句;表达式1;表达式2){
- 语句
- }
for语句的执行流程是:
首先执行初始语句
再计算表达式1(循环控制条件)的值,并根据表达式1的值判断是否执行循环体。如果表达式1的值为true,则执行一次循环体;如果表达式1的值为false,则退出循环。
每执行一次循环体后,计算表达式2的值,然后再计算表达式1,并根据表达式1的值决定是否继续执行循环体。
image-20201114122052315
- do{
- 语句
- }while (表达式)
执行顺序是:先执行循环体语句,后判断循环条件表达式的值,表达式为true时,继续执行循环体,表达式为false则结束循环。
image-20201114121813913
- while (表达式){
- 语句
- }
执行顺序是:先判断表达式(循环控制条件)的值,若表达式的值为true,再执行循环体(语句)。
image-20201114121634529
- #include <iostream>
- #include <cstring>
-
- #define endl "\n"
- using namespace std;
- static int n3 = 0;
-
- void function(char s[]) {
- s[n3++] += 2;
- }
-
- int main() {
- char str[10] = "abcd";
- cout << str << endl;
- int n1 = 1, n2 = strlen(str);
- cout << n2 << endl;
- while (n1++ < n2)
- function(str);
- cout << n1 << endl;
- cout << n3 << endl;
- cout << str << endl;
- return 0;
- }
image-20201114125312417
参考书籍《C++语言程序设计(第4版)》(郑莉,董渊)
感谢现在努力的自己。
感谢现在的好奇,为了能成为更好的自己。