float f = 3.14f; // 单精度浮点型 double d = 3.14159; // 双精度浮点型
💡 数据类型选择原则
整数使用int
小数使用double(精度更高)
字符使用char
需要大范围数值时使用long
常量与变量
常量
常量是值不能改变的量:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
// 整型常量 100 // 十进制 077 // 八进制 0xFF // 十六进制
// 实型常量 3.14 // 小数形式 3.14e2 // 指数形式,表示3.14×10²
// 字符常量 'A' // 单个字符 '\n' // 转义字符
// 字符串常量 "Hello World" // 字符串
// 符号常量 #define PI 3.14159 const int MAX = 100;
变量
变量是值可以改变的量,必须先定义后使用:
1 2 3 4 5 6
int age = 20; // 定义并初始化 float salary; salary = 5000.50; // 赋值
// 批量定义 int a = 1, b = 2, c = 3;
变量命名规则
只能由字母、数字、下划线组成
不能以数字开头
不能使用关键字
区分大小写
见名知意(推荐)
1 2 3 4 5 6 7 8
// 好的变量名 int studentAge; float averageScore;
// 不好的变量名 int x; // 含义不明 int 2number; // 错误:不能以数字开头 int int; // 错误:不能使用关键字
运算符与表达式
算术运算符
运算符
说明
示例
+
加法
a + b
-
减法
a - b
*
乘法
a * b
/
除法
a / b
%
取余(模)
a % b
++
自增
a++或++a
--
自减
a--或--a
1 2 3 4 5 6 7 8 9
int a = 10, b = 3; printf("%d\n", a + b); // 输出:13 printf("%d\n", a / b); // 输出:3(整数除法) printf("%d\n", a % b); // 输出:1
// 自增自减 int x = 5; printf("%d\n", x++); // 输出:5,然后x变为6 printf("%d\n", ++x); // x先变为7,输出:7
关系运算符
运算符
说明
示例
==
等于
a == b
!=
不等于
a != b
>
大于
a > b
<
小于
a < b
>=
大于等于
a >= b
<=
小于等于
a <= b
逻辑运算符
运算符
说明
示例
&&
逻辑与
a && b
`
`
!
逻辑非
!a
赋值运算符
1 2 3 4 5 6
int a = 10; a += 5; // 等价于 a = a + 5,结果为15 a -= 3; // 等价于 a = a - 3,结果为12 a *= 2; // 等价于 a = a * 2,结果为24 a /= 4; // 等价于 a = a / 4,结果为6 a %= 4; // 等价于 a = a % 4,结果为2
💡 运算符优先级
优先级从高到低:括号 > 自增自减 > 乘除模 > 加减 > 关系 > 逻辑 > 赋值
1 2
int result = 2 + 3 * 4; // 结果为14,不是20 int result = (2 + 3) * 4; // 结果为20
数据类型转换
自动类型转换
1 2 3 4 5 6
int a = 10; float b = 3.5; float c = a + b; // a自动转换为float,结果为13.5
// 转换规则:低精度 → 高精度 // char → int → long → float → double
强制类型转换
1 2 3
int a = 10, b = 3; float result = (float)a / b; // 结果为3.33333 int result2 = a / (int)b; // 结果为3
输入输出函数
格式化输出 printf
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#include
int main() { int age = 20; float height = 1.75; char grade = 'A';