【C++ 一】C++ 入门、数据类型、运算符

news2024/12/25 1:47:04

C++ 入门、数据类型、运算符


文章目录

  • C++ 入门、数据类型、运算符
  • 前言
    • 1 C++ 初识
      • 1.1 第一个C++程序
        • 1.1.1 创建项目
        • 1.1.2 创建文件
        • 1.1.3 编写代码
        • 1.1.4 运行程序
      • 1.2 注释
      • 1.3 变量
      • 1.4 常量
      • 1.5 关键字
      • 1.6 标识符命名规则
    • 2 数据类型
      • 2.1 整型
      • 2.2 sizeof 关键字
      • 2.3 实型(浮点型)
      • 2.4 字符型
      • 2.5 转义字符
      • 2.6 字符串型
      • 2.7 布尔类型 bool
      • 2.8 数据的输入
    • 3 运算符
      • 3.1 算术运算符
      • 3.2 赋值运算符
      • 3.3 比较运算符
      • 3.4 逻辑运算符
  • 总结


前言

本文包含C++程序、注释、变量、常量、关键字、标识符命名规则、整数、sizeof关键字、实型(浮点型)、字符型、转义字符、字符串型、布尔类型bool、数据输入、算术运算符、赋值运算符、比较运算符、逻辑运算符。


1 C++ 初识

1.1 第一个C++程序

编写一个C++程序总共分为4个步骤:

  • 创建项目

  • 创建文件

  • 编写代码

  • 运行程序

1.1.1 创建项目

​Visual Studio 是我们用来编写C++程序的主要工具,我们先将它打开
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.1.2 创建文件

右键源文件,选择添加->新建项
在这里插入图片描述
给C++文件起个名称,然后点击添加即可
在这里插入图片描述

1.1.3 编写代码

#include <iostream>  // 包含标准输入输出流文件
using namespace std;  // 使用标准命名空间

int main() {

	cout << "Hello world" << endl;  // 输出 Hello world

	system("pause");  // 相当于在本地 Windows 调试器中的:请按任意键继续...;暂停,方便看清楚输出结果

	return 0;  // 程序正常退出
}

1.1.4 运行程序

点击 “本地 Windows 调试器”

在这里插入图片描述

1.2 注释

快捷键 Ctrl+/

**作用:**在代码中加一些说明和解释,方便自己或其他程序员程序员阅读代码

两种格式

  • 单行注释// 描述信息

    • 通常放在一行代码的上方,或者一条语句的末尾 对该行代码说明
  • 多行注释/* 描述信息 */

    • 通常放在一段代码的上方 对该段代码做整体说明
#include <iostream>  // 包含标准输入输出流文件
using namespace std;  // 使用标准命名空间

int main() {

	/* 1. 多行注释 */
	cout << "Hello world" << endl;  // 2. 单行注释

	system("pause");  // 相当于在本地 Windows 调试器中的:请按任意键继续...;暂停,方便看清楚输出结果

	return 0;  // 程序正常退出
}

1.3 变量

**作用:**给一段指定的内存空间起名,方便操作这段内存

语法:数据类型 变量名 = 初始值;

#include <iostream>  // 包含标准输入输出流文件
using namespace std;  // 使用标准命名空间

int main() {

	// 变量的定义
	// 语法:数据类型  变量名 = 初始值;
	int a = 10;

	cout << "a = " << a << endl;  // a = 10

	system("pause");  // 相当于在本地 Windows 调试器中的:请按任意键继续...;暂停,方便看清楚输出结果

	return 0;  // 程序正常退出
}

在这里插入图片描述

1.4 常量

**作用:**用于记录程序中不可更改的数据

C++定义常量两种方式:

  • #define 宏常量: #define 常量名 常量值

    • 通常在文件上方定义 表示一个常量
  • const修饰的变量 const 数据类型 常量名 = 常量值

    • 通常在变量定义前加关键字const 修饰该变量为常量,不可修改
#include <iostream>  // 包含标准输入输出流文件
using namespace std;  // 使用标准命名空间

// 1、宏常量
#define day 7

int main() {

	cout << "一周里总共有 " << day << " 天" << endl;
	//day = 8;  //报错,宏常量不可以修改

	//2、const修饰变量为常量
	const int month = 12;
	cout << "一年里总共有 " << month << " 个月份" << endl;
	//month = 24; //报错,常量是不可以修改的

	system("pause");  // 相当于在本地 Windows 调试器中的:请按任意键继续...;暂停,方便看清楚输出结果

	return 0;  // 程序正常退出
}

在这里插入图片描述

1.5 关键字

作用: 关键字是C++中预先保留的单词(标识符)

  • 在定义变量或者常量时候,不要用关键字

C++关键字如下:

asmdoifreturntypedef
autodoubleinlineshorttypeid
booldynamic_castintsignedtypename
breakelselongsizeofunion
caseenummutablestaticunsigned
catchexplicitnamespacestatic_castusing
charexportnewstructvirtual
classexternoperatorswitchvoid
constfalseprivatetemplatevolatile
const_castfloatprotectedthiswchar_t
continueforpublicthrowwhile
defaultfriendregistertrue
deletegotoreinterpret_casttry
#include <iostream>  // 包含标准输入输出流文件
using namespace std;  // 使用标准命名空间


int main() {

	// 创建变量:数据类型 变量名称 = 变量初始值;
	// 不要用关键字给变量或者常量起名
	//int int = 10;  // 错误,第二个int是关键字,不可以作为变量的名称

	system("pause");  // 相当于在本地 Windows 调试器中的:请按任意键继续...;暂停,方便看清楚输出结果

	return 0;  // 程序正常退出
}

1.6 标识符命名规则

作用: C++规定给标识符(变量、常量)命名时,有一套自己的规则

(1)、标识符不能是关键字

(2)、标识符只能由字母、数字、下划线组成

(3)、第一个字符必须为字母或下划线

(4)、标识符中字母区分大小写

#include <iostream>  // 包含标准输入输出流文件
using namespace std;  // 使用标准命名空间


int main() {

	// 1、标识符不可以是关键字
	//int int = 10;

	// 2、标识符是由字母、数字、下划线组成
	int abc = 10;
	int _abc = 20;
	int _123abc = 30;

	// 3、标识符第一个字符只能是字母或下划线
	//int 123_abc = 40;

	// 4、标识符区分大小写
	int a = 100;
	int A = 200;
	cout << a << endl;  // 100
	cout << A << endl;  // 200

	// 建议:给变量起名时,最好能做到见名知意
	int num1 = 1;
	int num2 = 2;
	int sum = num1 + num2;
	cout << sum << endl;  // 3

	system("pause");  // 相当于在本地 Windows 调试器中的:请按任意键继续...;暂停,方便看清楚输出结果

	return 0;  // 程序正常退出
}

在这里插入图片描述

2 数据类型

C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存

2.1 整型

作用: 整型变量表示的是 整数类型 的数据

C++中能够表示整型的类型有以下几种方式,区别在于所占内存空间不同

数据类型占用空间取值范围
short(短整型)2字节(-2^15 ~ 2^15-1)
int(整型) 常用4字节(-2^31 ~ 2^31-1)
long(长整形)Windows为4字节,Linux为4字节(32位),8字节(64位)(-2^31 ~ 2^31-1)
long long(长长整形)8字节(-2^63 ~ 2^63-1)
#include <iostream>  // 包含标准输入输出流文件
using namespace std;  // 使用标准命名空间


int main() {

	// 1、短整型(-32768~32767)
	short num1 = 10;

	// 2、整型
	int num2 = 100;

	// 3、长整形
	long num3 = 1000;

	// 4、长长整型
	long long num4 = 10000;

	cout << "num1 = " << num1 << endl;
	cout << "num2 = " << num2 << endl;
	cout << "num3 = " << num3 << endl;
	cout << "num4 = " << num4 << endl;

	system("pause");  // 相当于在本地 Windows 调试器中的:请按任意键继续...;暂停,方便看清楚输出结果

	return 0;  // 程序正常退出
}

在这里插入图片描述

2.2 sizeof 关键字

作用: 利用sizeof关键字可以 统计数据类型所占内存大小

语法: sizeof(数据类型 / 变量)

#include <iostream>  // 包含标准输入输出流文件
using namespace std;  // 使用标准命名空间


int main() {

	cout << "short 类型所占内存空间为: " << sizeof(short) << endl;

	cout << "int 类型所占内存空间为: " << sizeof(int) << endl;

	cout << "long 类型所占内存空间为: " << sizeof(long) << endl;

	cout << "long long 类型所占内存空间为: " << sizeof(long long) << endl;

	system("pause");  // 相当于在本地 Windows 调试器中的:请按任意键继续...;暂停,方便看清楚输出结果

	return 0;  // 程序正常退出
}

在这里插入图片描述

2.3 实型(浮点型)

作用: 用于 表示小数

浮点型变量分为两种:

(1)、单精度 float

(2)、双精度 double

两者的区别在于表示的有效数字范围不同 小数位和整数位都为有效数字

数据类型占用空间有效数字范围
float4字节7位有效数字
double8字节15~16位有效数字
#include <iostream>  // 包含标准输入输出流文件
using namespace std;  // 使用标准命名空间


int main() {

	// 1、单精度 float
	float f = 3.14f;  // 默认情况下,编译器会把小数默认当做double类型,使用时,会转换成float类型,所以后面加f

	// 2、双精度 double
	double d = 3.14;

	cout << f << endl;
	cout << d << endl;

	cout << "float  sizeof = " << sizeof(f) << endl;  // 4
	cout << "double sizeof = " << sizeof(d) << endl;  // 8

	// 科学计数法
	float f1 = 3e2;  // 3 * 10 ^ 2 
	cout << "f1 = " << f1 << endl;  // 300

	float f2 = 3e-2;  // 3 * 0.1 ^ 2
	cout << "f2 = " << f2 << endl;  // 0.03

	system("pause");  // 相当于在本地 Windows 调试器中的:请按任意键继续...;暂停,方便看清楚输出结果

	return 0;  // 程序正常退出
}

在这里插入图片描述

2.4 字符型

作用: 字符型变量用于显示单个字符

语法: char ch = 'a';

注意1:在显示字符型变量时,用单引号将字符括起来,不要用双引号

注意2:单引号内只能有一个字符,不可以是字符串

  • C和C++中字符型变量只占用 1个字节

  • 字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元

#include <iostream>  // 包含标准输入输出流文件
using namespace std;  // 使用标准命名空间


int main() {

	char c = 'a';
	cout << c << endl;  // a
	cout << sizeof(char) << endl;  // 1

	//c = "abcde";  // 错误,不可以用双引号
	//c = 'abcde';  // 错误,单引号内只能引用一个字符

	cout << (int)c << endl;  // 查看字符a对应的ASCII码; a-97; A-65
	c = 97;  // 可以直接用ASCII给字符型变量赋值
	cout << c << endl;

	system("pause");  // 相当于在本地 Windows 调试器中的:请按任意键继续...;暂停,方便看清楚输出结果

	return 0;  // 程序正常退出
}

在这里插入图片描述

ASCII码表格:

ASCII控制字符ASCII字符ASCII字符ASCII字符
0NUT32(space)64@96
1SOH33!65A97a
2STX34"66B98b
3ETX35#67C99c
4EOT36$68D100d
5ENQ37%69E101e
6ACK38&70F102f
7BEL39,71G103g
8BS40(72H104h
9HT41)73I105i
10LF42*74J106j
11VT43+75K107k
12FF44,76L108l
13CR45-77M109m
14SO46.78N110n
15SI47/79O111o
16DLE48080P112p
17DCI49181Q113q
18DC250282R114r
19DC351383S115s
20DC452484T116t
21NAK53585U117u
22SYN54686V118v
23TB55787W119w
24CAN56888X120x
25EM57989Y121y
26SUB58:90Z122z
27ESC59;91[123{
28FS60<92/124|
29GS61=93]125}
30RS62>94^126`
31US63?95_127DEL

ASCII 码大致由以下两部分组成:

  • ASCII 非打印控制字符: ASCII 表上的数字 0-31 分配给了控制字符,用于控制像打印机等一些外围设备

  • ASCII 打印字符:数字 32-126 分配给了能在键盘上找到的字符,当查看或打印文档时就会出现

2.5 转义字符

作用: 用于表示一些 不能显示出来的ASCII字符

现阶段我们常用的转义字符有: \n \\ \t

转义字符含义ASCII码值(十进制)
\a警报007
\b退格(BS) ,将当前位置移到前一列008
\f换页(FF),将当前位置移到下页开头012
\n换行(LF) ,将当前位置移到下一行开头010
\r回车(CR) ,将当前位置移到本行开头013
\t水平制表(HT) (跳到下一个TAB位置)009
\v垂直制表(VT)011
\\代表一个反斜线字符""092
代表一个单引号(撇号)字符039
"代表一个双引号字符034
?代表一个问号063
\0数字0000
\ddd8进制转义字符,d范围0~73位8进制
\xhh16进制转义字符,h范围09,af,A~F3位16进制
#include <iostream>  // 包含标准输入输出流文件
using namespace std;  // 使用标准命名空间


int main() {

    cout << "Hello World\n";

	cout << "\\" << endl;

	cout << "\tHello" << endl;  // 制表符占8个位置,加上制表符前面的字符一共8位,不足空格代替;作用可以整齐输出数据
	
	cout << "\n" << endl;

	system("pause");  // 相当于在本地 Windows 调试器中的:请按任意键继续...;暂停,方便看清楚输出结果

	return 0;  // 程序正常退出
}

在这里插入图片描述

2.6 字符串型

作用: 用于表示一串字符

两种风格

(1)、C风格字符串: char 变量名[] = "字符串值";

(2)、C++风格字符串: string 变量名 = "字符串值";

#include <iostream>  // 包含标准输入输出流文件
using namespace std;  // 使用标准命名空间


int main() {

	// 1、C风格字符串:char 变量名[] = "字符串值";
	char str[] = "hello world";  // 注意事项:char 字符串名[]; 等号后面,要用双引号包含起来字符串
	cout << str << endl;

	// 2、C++风格字符串:string  变量名 = "字符串值";
	string str1 = "hello world";
	cout << str1 << endl;

	system("pause");  // 相当于在本地 Windows 调试器中的:请按任意键继续...;暂停,方便看清楚输出结果

	return 0;  // 程序正常退出
}

在这里插入图片描述

2.7 布尔类型 bool

作用: 布尔数据类型代表真或假的值

bool类型只有两个值:

  • true — 真(本质是1)
  • false — 假(本质是0)

bool类型占 1个字节 大小

#include <iostream>  // 包含标准输入输出流文件
using namespace std;  // 使用标准命名空间


int main() {

	bool flag = true;  // true代表真
	cout << flag << endl;  // 1

	flag = false;  // false代表假
	cout << flag << endl;  // 0

	cout << "size of bool = " << sizeof(bool) << endl;  // 1

	system("pause");  // 相当于在本地 Windows 调试器中的:请按任意键继续...;暂停,方便看清楚输出结果

	return 0;  // 程序正常退出
}

在这里插入图片描述

2.8 数据的输入

作用: 用于从键盘获取数据

关键字: cin

语法: cin >> 变量

#include <iostream>  // 包含标准输入输出流文件
using namespace std;  // 使用标准命名空间


int main() {

	// 1、整型输入
	int a = 0;
	cout << "请输入整型变量:" << endl;
	cin >> a;
	cout << a << endl;

	// 2、浮点型输入
	double d = 0;
	cout << "请输入浮点型变量:" << endl;
	cin >> d;
	cout << d << endl;

	// 3、字符型输入
	char ch = 0;
	cout << "请输入字符型变量:" << endl;
	cin >> ch;
	cout << ch << endl;

	// 4、字符串型输入
	string str;
	cout << "请输入字符串型变量:" << endl;
	cin >> str;
	cout << str << endl;

	// 5、布尔类型输入
	bool flag = true;
	cout << "请输入布尔型变量:" << endl;
	cin >> flag;  // 布尔类型,只要是非0的值都代表真
	cout << flag << endl;

	system("pause");  // 相当于在本地 Windows 调试器中的:请按任意键继续...;暂停,方便看清楚输出结果

	return EXIT_SUCCESS;  // 程序正常退出;EXIT_SUCCESS是C语言头文件库中定义的一个符号常量,代表0
}

在这里插入图片描述

3 运算符

作用: 用于执行代码的运算

运算符类型作用
算术运算符用于处理四则运算
赋值运算符用于将表达式的值赋给变量
比较运算符用于表达式的比较,并返回一个真值或假值
逻辑运算符用于根据表达式的值返回真值或假值

3.1 算术运算符

作用: 用于处理四则运算

算术运算符包括以下符号:

运算符术语示例结果
+正号+33
-负号-3-3
+10 + 515
-10 - 55
*10 * 550
/10 / 52
%取模(取余)10 % 31
++前置递增a=2; b=++a;a=3; b=3;
++后置递增a=2; b=a++;a=3; b=2;
前置递减a=2; b=–a;a=1; b=1;
后置递减a=2; b=a–;a=1; b=2;
#include <iostream>  // 包含标准输入输出流文件
using namespace std;  // 使用标准命名空间


int main() {

	int a = 20;
	int a1 = 20;
	int b = 10;
	int b1 = 10;

	// 1、+ 正号
	cout << "+a = " << +a << endl;

	// 2、- 负号
	cout << "-a = " << -a << endl;

	// 3、+ 加
	cout << "a + b = " << a + b << endl;

	// 4、- 减
	cout << "a - b = " << a - b << endl;

	// 5、* 乘
	cout << "a * b = " << a * b << endl;

	// 6、/ 除
	cout << "a / b = " << a / b << endl;  // 两个整数相除结果依然是整数,将小数部分去除;除数不可为0;小数相除结果为小数

	// 7、% 取模
	cout << "a % b = " << a % b << endl;  // 取模运算本质:就是求余数;除数不可为0;小数不可取模

	// 8、++ 前置递增
	cout << "++a * 10 = " << ++a << endl;  // 前置递增先对变量进行+1,再计算表达式

	// 9、++ 后置递增
	cout << "a1++ = " << a1++ << endl;  // 后置递增先计算表达式,后对变量进行+1

	// 10、-- 前置递减
	cout << "--b = " << --b << endl;  // 前置递减先对变量进行-1,在计算表达式

	// 11、-- 后置递减
	cout << "b1-- = " << b1-- << endl;  // 后置递减先计算表达式,后对变量进行-1

	system("pause");  // 相当于在本地 Windows 调试器中的:请按任意键继续...;暂停,方便看清楚输出结果

	return 0;  // 程序正常退出
}

在这里插入图片描述

3.2 赋值运算符

作用: 用于将表达式的值赋给变量

赋值运算符包括以下几个符号:

运算符术语示例结果
=赋值a=2; b=3;a=2; b=3;
+=加等于a=0; a+=2;a=2;
-=减等于a=5; a-=3;a=2;
*=乘等于a=2; a*=2;a=4;
/=除等于a=4; a/=2;a=2;
%=模等于a=3; a%2;a=1;
#include <iostream>  // 包含标准输入输出流文件
using namespace std;  // 使用标准命名空间


int main() {

	int a;

	// 1、= 赋值
	a = 20;
	cout << "a = " << +a << endl;  // 20

	// 2、+= 加等于
	a += 10;  // a = a + 10
	cout << "a += 10 = " << a << endl;  // 30

	// 3、-= 减等于
	a -= 10;  // a = a - 10
	cout << "a -= 10 = " << a << endl;  // 20

	// 4、*= 乘等于
	a *= 10;  // a = a * 10
	cout << "a *= 10 = " << a << endl;  // 200

	// 5、/= 除等于
	a /= 10;  // a = a / 10
	cout << "a /= 10 = " << a << endl;  // 20

	// 6、%= 除
	a %= 10;  // a = a % 10
	cout << "a %= 10 = " << a << endl;  // 0

	system("pause");  // 相当于在本地 Windows 调试器中的:请按任意键继续...;暂停,方便看清楚输出结果

	return 0;  // 程序正常退出
}

在这里插入图片描述

3.3 比较运算符

作用: 用于表达式的比较,并返回一个真值或假值

比较运算符有以下符号:

运算符术语示例结果
==相等于4 == 30
!=不等于4 != 31
<小于4 < 30
>大于4 > 31
<=小于等于4 <= 30
>=大于等于4 >= 11
#include <iostream>  // 包含标准输入输出流文件
using namespace std;  // 使用标准命名空间


int main() {

	int a = 10;
	int b = 20;

	// 1、== 相等于
	cout << (a == b) << endl;  // 0 ; 优先级运算,先运算a==b,在运算endl换行

	// 2、!= 不等于
	cout << (a != b) << endl;  // 1

	// 3、< 小于
	cout << (a > b) << endl;  // 0

	// 4、> 大于
	cout << (a < b) << endl;  // 1

	// 5、<= 小于等于
	cout << (a >= b) << endl;  // 0

	// 6、> 大于等于
	cout << (a <= b) << endl;  // 1

	system("pause");  // 相当于在本地 Windows 调试器中的:请按任意键继续...;暂停,方便看清楚输出结果

	return 0;  // 程序正常退出
}

在这里插入图片描述

3.4 逻辑运算符

作用: 用于根据表达式的值返回真值或假值

逻辑运算符有以下符号:

运算符术语示例结果
!!a如果a为假,则!a为真; 如果a为真,则!a为假
&&a && b如果a和b都为真,则结果为真,否则为假
||a || b如果a和b有一个为真,则结果为真,二者都为假时,结果为假
#include <iostream>  // 包含标准输入输出流文件
using namespace std;  // 使用标准命名空间


int main() {

	int a = 10;  // 1或大于1则为真
	int b = 10;
	int c = 0;  // 0为假
	int d = 0;

	// 1、! 非
	cout << !a << endl; // 0 ;非真为假
	cout << !!a << endl; // 1 ;非假为真

	// 2、&& 与
	cout << (a && b) << endl; // 1 
	cout << (a && c) << endl; // 0
	cout << (c && d) << endl; // 0

	// 3、|| 与
	cout << (a || b) << endl; // 1
	cout << (a || c) << endl; // 1
	cout << (c || d) << endl; // 0

	system("pause");  // 相当于在本地 Windows 调试器中的:请按任意键继续...;暂停,方便看清楚输出结果

	return 0;  // 程序正常退出
}

在这里插入图片描述


总结

(1)、编译器在编译代码时,会忽略注释的内容;

(2)、C++ 在创建变量时,必须给变量一个初始值,否则会报错;

(3)、在给变量或者常量起名称时候,不要用C++得关键字,否则会产生歧义;

(4)、给标识符命名时,争取做到见名知意的效果,方便自己和他人的阅读;

(5)、short < int <= long(64为linux为8个字节) <= long long

(6)、默认情况下,输出一个小数,会显示出6位有效数字,如果要全部显示,需另做配置;

(7)、C风格的字符串要用双引号括起来;

(8)、在除法运算中,除数不能为0;

(9)、只有整型变量可以进行取模运算;

(10)、前置递增先对变量进行++,再计算表达式,后置递增相反;

(11)、C和C++ 语言的比较运算中 “真”用数字“1”来表示, “假”用数字“0”来表示

(12)、逻辑运算符总结: 同真为真,其余为假

(13)、逻辑运算符总结: 同假为假,其余为真

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/440004.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【最详细最完整】windows 安装 Oracle Java环境

windows 安装Oracle Java环境 一、安装教程二、验证Java环境 前言&#xff1a;公司有个app的项目&#xff0c;我是打算使用uniapp来实现&#xff0c;那么调试是需要使用到java环境&#xff0c;所以我本地就得安装java环境&#xff0c;接着我找了好多文章发现没有相对完整的&…

在头部大厂做了13年云计算后,这次他想系统地聊聊FinOps!

随着企业上云战略的深入普及&#xff0c;越来越多的企业开始关注云成本优化。伴随着企业对IT资源的投入不断增加&#xff0c;企业迫切需要解决成本与效率&#xff0c;以及如何将云成本优化落到实处的问题。 FinOps是将财务和业务整合到一起的变革&#xff0c;可以帮助企业更好…

抖音数字人主播app

抖音数字人主播app是指一款利用计算机生成的虚拟数字人&#xff0c;在抖音平台上进行实时音视频传输和互动的应用程序。该软件可以让用户创建自己的虚拟数字人&#xff0c;并在抖音平台上进行实时互动和交流。 抖音数字人主播app通常需要包含以下功能&#xff1a; 3D建…

本地JAR打镜像,并启动

1.准备好jar&#xff0c;和Dokerfile文件。 2.使用命令打镜像 docker build -t wstest . 3. 查看镜像 4. 由于服务是两个端口。使用以下命令 5.优化怎么随着docker的开启而启动 docker run --restartalways -p 8089:8089 -p 8069:8069 wsserver docker run --restartalways -…

C++基础入门——语法详解篇(下)

文章目录 一、缺省参数 1、1 缺省参数的概念 1、2 缺省参数的分类 1、2、1 全部缺省 1、2、2 半缺省参数 二、引用 2、1 引用的概念 2、2 引用特征 2、3 引用的使用场景 2、3、1 引用做参数 2、3、2 常引用 2、3、3 引用做返回值 2、4 引用总结 三、内联函数 3、1 内联函数的引…

谷歌浏览器的跨域设置、配置、新老版本Chrome

文章目录 1、个人开发中的使用习惯2、老版本Chrome浏览器(版本号49之前)3、新版本Chrome浏览器(版本号49之后) 1、个人开发中的使用习惯 下载好谷歌浏览器以后&#xff0c;快捷方式一份放在桌面上&#xff0c;一份放在开始菜单栏&#xff0c;桌面的重命名为dev(可以随意命名)&a…

【09 cookie and session】

cookie and session 一、cookie1. 会话技术2. 什么是cookie3. cookie的属性4. cookie方法5. cookie添加和获取6. 需求案例7. cookie的细节 二、session1. HttpSession介绍2. HttpSession常用方法3. HttpSession获取4. HttpSession使用5. HttpSession使用细节 一、cookie cooki…

【MongoDB】什么是MongoDB?MongoDB有什么特点?MongoDB的适用场景?

什么是MongoDB数据库&#xff1f; MongoDB是一个开源、高性能、支持海里数据存储的文档型数据库。 MongoDB是一个高效的非关系型数据库&#xff08;不支持表关系&#xff1a;只能操作单表&#xff09; MongoDB是一个介于关系数据库和非关系数据库之间的产品&#xff0c;是非关系…

postman安装

目录 下载、安装 Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。 Postman原是Chrome浏览器的插件&#xff0c;可以模拟浏览器向后端服务器发起任何形式(如:get、post)的HTTP请求 使用Postman还可以在发起请求时&#xff0c;携带一些请求参数、请求头等信息…

debezium docker订阅oracle 11g

debezium 依赖于kafka&#xff0c;kafka依赖于zookeeper。 zookeeper实现了kafka消息的一致性&#xff0c;debezium 把订阅的数据推送到kafka dockerFile FROM debezium/connect:1.6 ENV KAFKA_CONNECT_JDBC_DIR$KAFKA_CONNECT_PLUGINS_DIR/kafka-connect-jdbc ENV INSTANT_C…

登陆拼多多获取整站实时商品详情数据,商品列表,商品优惠券,包括数据采集,清洗,分析,封装等过程,作为爬虫的课程。

前言 拼多多平台是一个众所周知的一个电商平台&#xff0c;基本上什么都能找到&#xff0c;而且价格比较优惠。 想业余做电商赚点小钱或买点东西&#xff0c;就需要对比平台上各个卖家的商品信息&#xff0c;所谓货比三家&#xff0c;为商品定一个合理的价位或淘一个合理&…

[Python基础] 学生管理系统(存储读取学生信息)

学生管理系统&#xff1a;应该算是语言语法学习过程中一个比较适合测试语法熟练度的代码案例了。 文章目录 思路main&#xff08;入口函数&#xff09;menu&#xff08;菜单&#xff09;Add&#xff08;新增学生&#xff09;Display()&#xff08;显示学生&#xff09;Find()&a…

::before和::after伪元素的用法案例

CSS3中伪类采用单冒号写法&#xff0c;伪元素采用双冒号写法。 伪类举例——:hover,:link,:active,:target。 伪元素举例——::before,::after,::first-letter,::first-line,::selection。 一、介绍 今天写网页时遇到一个问题&#xff0c;视口的背景中插入一个小图标的话&a…

Python进阶项目--只因博客(bootstrap+flask+mysql)

前言 1.全民制作人们大家好&#xff0c;我是练习时长两年半的个人练习生只因坤坤&#xff0c;喜欢唱&#xff0c;跳&#xff0c;rap&#xff0c;篮球&#xff0c;music......在今后的节目中&#xff0c;我还准备了很多我自己作词、作曲、编舞的原创作品&#xff0c;期待的话&am…

VirtualBox虚拟机后台运行

前言 在Windows下的VirtualBox运行如Linux的虚拟机时&#xff0c;并不需要图形化的界面&#xff0c;我们不必次次通过VirtualBox的官方界面进入&#xff0c;解决鼠标键盘定位等问题。可以通过Putty等软件使用SSH进行连接控制&#xff0c;但是官方界面并没有在后台运行选项。 需…

Nginx快速上手~

注&#xff1a;本文针对官网的快速入门教程进行一个中文的解释&#xff0c;以帮助英文阅读能力较差的学习者快速上手 参考官网连接Beginners Guide (nginx.org) Centos下的安装 sudo yum install yum-utils # 创建文件 vim /etc/yum.repos.d/nginx.repo # 输入以下内容 ####…

项目1实现登录功能方案设计第四版

需求 优化点:MySQL表常用功能模块实现方案 index页面home页面 需求 实现一个登录功能 实现的功能 注册(邮箱注册) 登录(邮箱密码) 重置密码 查看操作记录(登录, 注册, 重置密码, 登出. 都算操作) 登出 在第3版的基础上进行优化:\ 优化点: 接口设计 1. 发送注册验证码: 路径: PO…

五一将迎2亿人次出行,君子签助力旅行社合规高效签旅游电子合同

近日&#xff0c;为规范旅游市场秩序&#xff0c;促进旅行社高质量发展&#xff0c;文旅部发布了《文化和旅游部办公厅关于进一步规范旅游市场秩序的通知》&#xff08;下称《通知》&#xff09;&#xff0c;对旅游业提出了新的要求。 《通知》中规范了旅行社经营行为。旅行社要…

flink任务处理下线流水数据,数据遗漏不全(三)

flink任务处理下线流水数据&#xff0c;数据遗漏不全&#xff08;二&#xff09; 居然还是重量&#xff0c;做一个判断&#xff0c;如果是NaN 就直接获取原始的数据的重量 测试后面会不会出现这个情况&#xff01; 发现chunjun的代码运行不到5h以后&#xff0c;如果网络不稳…

EasyCVR平台基于GB28181协议的语音对讲配置操作

EasyCVR基于云边端协同&#xff0c;具有强大的数据接入、处理及分发能力&#xff0c;平台可支持海量视频的轻量化接入与汇聚管理&#xff0c;可提供视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语音对讲、云台控制、电子地图、平台级联等功能…