蓝桥杯_C++学习系列一_语法基础

语法基础一

1、第一个程序(HelloWorld)

点击查看代码
#include <bits/stdc++.h> //使用万能头文件
using namespace std;   //命名空间声明,避免代码中名称重复

int main()  //main函数是C++中内置的启动函数,也就是程序入口
{
    cout << "Hello, World!" << endl;   //利用 cout 将字符串输出,字符串用双引号扩起
    printf("Hello, World!");   //利用 printf 将字符串输出
    return 0;   //函数遇到 return 会立刻结束。返回0表示main函数正常结束
}
#include 是 GNU 编译器(GCC)提供的一个 “汇总头文件”,会自动包含 C++ 标准库中几乎所有常用的头文件(比如等)

2、基本数据类型
整数:int(如 int age = 18),对应标识符:%d
浮点数:double(如 double score = 95.5,比 float 精度高),对应标识符:%lf
字符:char(如 char gender = 'M',单引号包裹单个字符),对应标识符:%c
布尔型:bool(如 bool is_pass = true,取值为 true 或 false)
字符串:char[],对应标识符:%s
长整型:long long,对应标识符:%lld
....

3、输入输出:

  • scanf/printf (必须包含 头文件)
点击查看代码
#include <cstdio>
int main() {
    int age;
    double height;
    char gender;
    char name[50];
    // 格式串与变量类型、顺序严格对应
    scanf("%d %lf %c %s", &age, &height, &gender, name);
    // 输入示例:20 1.75 M Tom
    printf("Name: %s, Age: %d, Gender: %c, Height: %.2f\n", name, age, gender, height);
    // 输出:Name: Tom, Age: 20, Gender: M, Height: 1.75
    return 0;
}
注:%s输入遇到空格或回车就会停下,改为"scanf("%[^\n]",s);"。'^'为排除,'\n'回车转义字符。[]中是一个正则表达式,表示只要不是回车就可以读进去。
  • cin&cout依赖头文件
    输出:cout << 内容(如 cout << "Name:" << name,name为变量名)
    输入:cin >> 变量(如 cin >> age,直接读取用户输入赋值给变量),自动判断变量类型
    注:cin输入输入字符串遇到空格或回车就会停下,解决用string,搭配getline:
int main()
{
    string s;
    getline(cin, s);
    cout << s;
    return 0;
}

cout想要输出几位小数:`cout << fixed << setprecision(3) << a << ',' << b << '\n';

4、取消同步流
cin和cout因自动判断变量类型等内部机制,读写效率低于scanf和printf;数据量较大时可能导致程序超时。
通过取消同步流加速cin和cout,加速后效率与scanf/printf相差无几。

点击查看代码
#include <iostream>
using namespace std;
int main()
{
    //取消同步流
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    //其他操作不变
    int x;
    cin >> x;
    cout << x << '\n';
    return 0;
}

5、常量
作用:用于记录程序中不可更改的数据
两种方式:

  • 宏定义:# define 常量名 常量值
    位于头文件后,主函数前。
  • const修饰的变量: const 数据类型 变量 = 常量值
    注: 修饰该变量为常量,不可修改。
posted on 2025-11-24 21:55  kio与  阅读(12)  评论(0)    收藏  举报