二叉树的博客

C++循环结构补充

输入信息控制循环

输入信息控制循环通常控制的是无限循环(循环次数不确定的循环)。

通常使用while(或do while)语句构建无限循环。

统计输入的字符个数

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
#include<iostream>
using namespace std;
int main()
{
    char ch;
    int count=0;
    cout<<"输入字符串,以#结束:";
    while(true)
    {
        cin>>ch;
        if(ch=='#') break;
        cout++;
    }
    cout<<"共输入"<<count<<"个字母。"<<endl<<endl;
    return 0;
}

循环嵌套

输出乘法九九表: 二维表,先从上到下输出行,再从左到右输出列。 需要构建两个循环,外循环控制行,内循环控制列。

C++程序控制结构

选择控制语句 if else

这里不像Python,每个分支语句后不需要加:,直接加 (Tab)后写分支语句,条件判断需要小加括号括起来,Python中是空格加条件,这点也不同。

C++简单程序

赋值表达式

常规类似python,同样有赋值运算的简写形式,如

1
2
3
b += 2          //b = b + 2
x *= y + 3      //x = x*(y+3)
x += x -= x*x   //x = x + (x = x - x*x)

逗号表达式

在C++中,逗号也是一个运算符,使用形式为

<表达式1>,<表达式2>,……,<表达式n>

C++入门

如果有Python的基础,学习c++会感觉很别扭2333 如果是用VS写c++程序,注意打开文件夹包含.vscode文件夹,否则会运行找不到路径。 (Python就没那么麻烦,不用整json配置)

创建新线程(通用)

创建并使用多线程

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
print('主线程执行代码')

# 从 threading 库中导入Thread类
from threading import Thread
from time import sleep

# 定义一个函数,作为新线程执行的入口函数
def threadFunc(arg1,arg2):
    print('子线程 开始')
    print(f'线程函数参数是:{arg1}, {arg2}')
    sleep(5)
    print('子线程 结束')


# 创建 Thread 类的实例对象, 并且指定新线程的入口函数,此时并没有执行
thread = Thread(target=threadFunc,
                args=('参数1', '参数2')
                )

#target=threadFunc对应执行的函数threadFunc
#args=('参数1', '参数2')这样新进程添加参数
# 执行start 方法,就会创建新线程,
# 并且新线程会去执行入口函数里面的代码。
# 这时候这个进程有两个线程了。↓
thread.start()

# 主线程的代码执行 子线程对象的join方法,
# 就会等待子线程结束,才继续执行下面的代码
thread.join()
print('主线程结束')

运行该程序,解释器执行到下面代码时