网站首页 > 技术文章 正文
我最近的好多年一直在使用其他的编程语言在写代码,不管是go, java, javascript, rust, python, php等,从语法上都与C++有相似的地方,也都有所区别。
所以,重温C++编程的第一步,必须要让思维重新回到C++的世界,首先从基本的语法开始"校正"。
C++语句需要以;结束
变量必须指定一个类型,变量的名称只可以由字母、数字和下划线字符组成,必须以字母/下划线开头。一次可以申明多个变量。
int i, j , k;
i = 2;
注释:
// 这是单行注释
/* 单行注释也可以这样 */
/*
* 这是多行注释
*/
未初始化的变量的值是未定义的,而在golang会自动默认零值的方式,减少了写代码的部分心智。C++中仍需要继续注意避免这个问题。
常量可以使用const关键字,或者宏来定义(注意没有;):
const float PI = 3.14;
#define PI 3.14
C++的基本数据类型:
// 基本数据类型
int i1 = 1;
char c = 'a';
bool b = true;
float f = 1.0;
//带修饰符的整数类型
short i2 = 1;
long i3 = 1;
long long i4 = 1;
//带修饰符的浮点类型
double f2 = 1.0;
long double f3 = 1.0;
//带修饰符的字符类型
wchar_t c2 = 'a';
char16_t c3 = 'a';
char32_t c4 = 'a';
C++中的类型修饰符:
const int i1 = 1;
static char c = 'a';
C++中支持的运算符:
int a = 1;
int b = 2;
// 算术运算符
int c1 = a + b;
int c2 = a - b;
int c3 = a * b;
int c4 = a / b;
int c5 = a % b;
a++;
b--;
a += 1;
a -= 2;
a *= 2;
a /= 2;
a %= 2;
a <<= 2;
a >>= 2;
a &= 2;
a |= 2;
a &= 2;
// 关系运算符
bool b1 = a == b;
bool b2 = a != b;
bool b3 = a > b;
bool b4 = a < b;
bool b5 = a >= b;
bool b6 = a <= b;
// 逻辑运算符
bool b7 = a == b && a != b;
bool b8 = a == b || a != b;
bool b9 = !(a == b);
// 位运算符
int x1 = a & b;
int x2 = a | b;
int x3 = a ^ b;
int x4 = ~a;
int x5 = a << 1;
int x6 = b >> 2;
判断和循环语句:
int a = 1;
int b = 2;
// IF 判断语句
if (a > b) {
// ...
} else if (a == b) {
// ...
} else {
// ...
}
// ? : 运算符
bool c = a > b ? true : false;
while (true) {
// ...
break;
}
do {
// ...
break;
} while (true);
for (int i = 0; i < 10; i++) {
// ....
}
for (;;) {
// ...
break;
}
OK, 今天先到此,明天继续回到C++世界后续的部分。
猜你喜欢
- 2025-10-14 25元、264KB内存的微处理器,树莓派出品,带快速休眠模式
- 2025-10-14 系列专栏(十一):类语法_语法词类
- 2025-10-14 C++ 23的std::print,终于可以和printf说再见了
- 2025-10-14 常指针、函数指针、结构体内部指针、通用指针原理解读
- 2025-10-14 大模型为什么非要在GPU上运行?_为什么做模型
- 2025-10-14 C++/C入门之拷贝构造函数--C++之美
- 2025-10-14 C/C++语言const常量与#define宏常量的比较
- 2025-10-14 C++作死代码黑榜:避坑实战手册_c++代码怎么写
- 2025-10-14 C++ ADL(实参依赖查找/Koenig查找)如何打破可见性规则?
- 2025-10-14 C++ 基础与核心概念_c++核心内容
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (77)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)