蓝桥杯 C/C++ 组竞赛备战指南,涵盖开发环境 DevC++ 搭建与配置。详解 C++ 基础语法核心内容,包括 main 函数结构、命名空间、基本数据类型及范围、变量常量定义、算术与关系操作符、cin/cout 与 scanf/printf 输入输出处理、条件判断语句 if 逻辑等。适合初学者夯实编程基础,为后续算法学习做准备。
重要提示:做题时一定要注意数据范围,选择合适的数据类型。经典名言:'十年 OI 一场空,不开 long long 见祖宗'
4.6 typedef - 类型重命名
typedeflonglong ll;// 将 long long 重命名为 lltypedefunsignedint uint;// 将 unsigned int 重命名为 uint
ll a = 10000000000;// 等价于 long long a = 10000000000;
5. 变量和常量
5.1 变量创建
int age;// 创建变量int score = 100;// 创建并初始化
5.2 变量命名规则
只能由字母、数字、下划线组成
必须以字母或下划线开头
不能使用关键字(如 int、if 等)
区分大小写
5.3 全局变量与局部变量
int global = 100;// 全局变量,在大括号外定义intmain(){
int local = 10;// 局部变量,在大括号内定义
cout << local << endl;
cout << global << endl;
return0;
}
重要区别:
全局变量默认初始化为 0
局部变量不初始化则值是随机的(必须初始化后再使用)
竞赛技巧:竞赛中常用全局变量,因为自动初始化为 0,且随处可用,避免传参麻烦。
5.4 常量
字面常量:
100// 整型常量'a'// 字符常量3.14// 浮点型常量
#define 定义常量:
#define PI 3.14159#define MAX 100
const 定义常量(推荐):
constdouble PI = 3.14159;
constint MAX_N = 1000;
const 定义的常量有具体类型,更严谨。
6. 操作符
6.1 算术操作符
操作符
功能
示例
+
加法
a + b
-
减法
a - b
*
乘法
a * b
/
除法(整数除法取整)
a / b
%
取模(取余数)
a % b
注意事项:
除数不能为 0
%操作符只能用于整型
负数取模结果的正负号由第一个操作数决定
6.2 浮点数除法
float x = 6/4;// 结果为 1.0(整数除法)float y = 6.0/4;// 结果为 1.5(浮点数除法)
6.3 赋值操作符
int a = 10;// 初始化
a = 20;// 赋值// 复合赋值符
a += 5;// 等价于 a = a + 5
a -= 3;// 等价于 a = a - 3
a *= 2;// 等价于 a = a * 2
a /= 4;// 等价于 a = a / 4
a %= 3;// 等价于 a = a % 3
6.4 类型转换
隐式类型转换:
int a = 3.14;// a = 3(double 转 int,截断小数)double b = 10;// b = 10.0(int 转 double)
强制类型转换:
double d = 3.14;
int a = (int)d;// a = 3char c = 'A';
cout << (int)c;// 输出 65(字符的 ASCII 码)
6.5 单目操作符 - ++和--
int a = 10;
int b = ++a;// 前置++:先自增,后使用(a=11, b=11)int c = a--;// 后置--:先使用,后自减(c=11, a=10)
7. 输入输出进阶
7.1 getchar 和 putchar
#include<cstdio>intmain(){
int ch = getchar();// 读取一个字符putchar(ch);// 输出这个字符return0;
}
特点:
getchar 不会忽略空白字符
读取失败返回 EOF(-1)
在输入前按 Ctrl+Z 可模拟读取失败
7.2 printf 格式化输出
基本用法:
printf("Hello World\n");
printf("There are %d apples\n", 3);