语法入门与进阶芝士大乱炖

实话说,我本来不打算写这个的,但作为一个强迫症,草草写一点吧。

C++语法入门与进阶知识

一、C++基础语法

1. 基本结构

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

int main() {         // 主函数
    cout << "Hello, World!" << endl; // 输出语句
    return 0;        // 返回值
}

2. 数据类型

  • 基本类型:int, float, double, char, bool
  • 类型修饰符:signed, unsigned, short, long
  • 类型大小:sizeof(类型或变量)

3. 标准模板库(STL)

  • 容器:vector, map, set
  • 算法:sort, find

4. 变量与常量

int a = 10;          // 变量
const float PI = 3.14; // 常量
auto b = 5.6;        // 自动类型推断(C++11)

5. 运算符

  • 算术:+ - * / % ++ --
  • 关系:== != > < >= <=
  • 逻辑:&& || !
  • 位运算:& | ^ ~ << >>
  • 赋值:= += -= *= /= %= <<= >>= &= ^= |=
  • 其他:sizeof ?: , :: . ->

二、控制结构

1. 条件语句

// if-else
if (表达式1) 
    // ...
else if (表达式2) 
    // ...
else
    // ...

// switch
switch (值1) {
    case 值2://如果值1等于值2,那么:
        // f(x)
        break;
    case 值3:
        // ...
        break;
}

2. 循环结构

// while
while (表达式) //如果值为真,那么:
    // ...

// do-while
do 
{
    // 不管了,先做再说
} 
while (表达式);

// for
for (int i = 1; i <= n; i++) //i:1->n,写法很多,比如 i 提前定义,i *= 2等,在此不过多赘述
    // ...

另有for的2.0版本

#include <iostream>
using namespace std;

int i = 1;
string n = "hello world";

int main()
{
    for (auto i : n) //i:0->n.size()-1 遍历字符串 
    {
    	cout<<i;
    	i = 'l';//(试图)改变字符串 
	}
	cout<<endl<<n<<endl;//结果可知上述代码并未改变字符串
    for (auto &i : n) //i:0->n.size()-1 遍历字符串并修改 
    {
    	cout<<i;
    	i = 'l';
	}
	cout<<endl<<n; //结果可知上述代码改变了字符串,重点在取地址符(&) 
    return 0;
}

{103D15AD-6572-425A-AF7E-055350BB08D9}

三、函数

1. 函数定义

返回类型 函数名(参数列表) {
    // 函数体
    return 返回值; // 如果返回类型不是void
}

// 示例
int add(int a, int b) {
    return a + b;
}

2. 函数特性

  • 函数重载:同名函数,参数不同
  • 内联函数:inline关键字
  • 递归函数:函数调用自身

四、编程DeBug

异常处理(煎蛋,不多讲了)

try {
    // 可能抛出异常的代码
    throw err;
} catch (err e) {
    // 异常处理
} catch (...) {
    // 捕获所有异常
}

五、文件操作(煎蛋,不多讲了)

freopen("输入文件","r",stdin);
freopen("输出文件","w",stdout);

鸣谢“ 小乌鸦本鸦”的提醒

{68744349-8082-4AAE-B6F8-C69D13AEEF9C}

下一集

%%%语法组萌新膜拜巨佬

1 个赞

文化课组栗子捉 @我命由我不由天

1 个赞
插一句:#ifdef ONLINE_JUDGE
1 个赞

???
我?巨佬?笑死,CSP-J连初赛都过不去,我请问呢

刚好我也没过(就差1分)

1 个赞

巨佬啊,我洛谷才蓝名,连奖项认证都没有,我才学到语法,绿题都要十几个小时才能AC(

2 个赞

@王皓宇 不太严谨

1 个赞

???where

1 个赞

1???

控制结构-循环结构

1 个赞

你查查?

出错了,您过于谦虚

1 个赞

我洛谷是封禁用户,语法题我都不会 qwq

我差0.5qwq

1 个赞

真的(

1 个赞