C 语言变量、数据类型与常量实战指南
什么是变量?
变量是存储值的标识符,其值可在程序运行期间改变。变量可在程序多处被引用,良好的命名有助于理解用途。
int height = 170; // 身高(厘米) int age = 29; // 年龄(岁)
使用前必须声明。变量名可含字母、数字、下划线,但必须以字母或下划线开头。
变量命名规则
- 仅允许字母(a-z、A-Z)、数字(0-9)、下划线(_)
- 不能以数字开头
- 不含空白字符
- 不能是保留关键字
- C 语言区分大小写:
age与AGE是不同标识符
合法与非法名称示例
合法:
height _HEIGHT _height1 My_name
非法:
1height Hei$ght My name
声明与初始化
先声明后赋值:
int my_variable; my_variable = 48;
或声明同时初始化:
int my_variable = 48;
数据类型概览
C 语言提供三大类数据类型:
- 基本类型(int、char、float、double、void)
- 派生类型(数组、函数、指针、结构体)
- 用户自定义类型(typedef、结构体、枚举、联合体)
基本数据类型
五大基础类型:
- int – 整数
- char – 单字符
- float – 单精度浮点数
- double – 双精度浮点数
- void – 无值(用于函数签名)
标准数据类型大小与取值范围
| 数据类型 | 大小(字节) | 取值范围 |
|---|---|---|
| char / signed char | 1 | -128 到 127 |
| unsigned char | 1 | 0 到 255 |
| int / signed int | 2 | -32768 到 32767 |
| unsigned int | 2 | 0 到 65535 |
| short int / unsigned short int | 2 | 0 到 65535 |
| signed short int | 2 | -32768 到 32767 |
| long int / signed long int | 4 | -2147483648 到 2147483647 |
| unsigned long int | 4 | 0 到 4294967295 |
| float | 4 | ±3.4E-38 到 ±3.4E+38 |
| double | 8 | ±1.7E-308 到 ±1.7E+308 |
| long double | 10 | ±3.4E-4932 到 ±1.1E+4932 |
注意: C 语言无内置布尔类型;可用 int 配合 0(假)/ 1(真),或引入 stdbool.h 使用 bool。
整型数据类型
整数无小数部分。标准 16 位 int 范围 –32768 到 32767。另有短/长变体适配不同范围需求。
典型声明:
int age; short int smallCount; long int largeCount;
浮点型数据类型
float 约 6 位有效数字,double 约 14 位,long double 精度最高。
示例:
float ratio = 0.75f; double balance = 12345.6789; long double pi = 3.141592653589793238462643383279502884L;
字符类型
占 1 字节存储单个字符,用单引号括起。
示例:
char letter = 'K';
void 类型
表示函数无返回值。
示例:
void displayData(void) { /* ... */ }
多变量声明
同类型变量可用逗号分隔在一行声明:
int x, y, z; float salary = 13.48f; char letter = 'K';
打印示例使用格式说明符:
printf("%d\n", z);
printf("%f\n", salary);
printf("%c\n", letter);
常量
程序运行期间值不变的量。C 语言提供多种形式:
整型常量
十进制、八进制(前缀 0)、十六进制(前缀 0x)。
111 // 十进制 012 // 八进制(十进制 10) 0x2BCD // 十六进制(十进制 19293)
字符常量
单引号括起的单字符或其 ASCII 码。
'A' '9'
字符串常量
双引号括起的字符序列。
"Hello" "Programming"
实数(浮点)常量
含小数点或科学计数法的数值。
202.15 300.00 1.23e-4 // 0.000123
用 const 与 #define 定义常量
const 分配存储并强制不可变:
#include <stdio.h>
int main(void) {
const double PI = 3.141592653589793;
printf("%f\n", PI);
return 0;
}
#define 是预处理宏,不占用存储:
#include <stdio.h>
#define PI 3.141592653589793
int main(void) {
printf("%f\n", PI);
return 0;
}
总结
- 变量是可变标识符,存储数据
- 常量是编译期固定的不可变值
- C 核心类型:
int、float、char、void - 每种类型有明确大小与范围,对内存受限场景至关重要
C语言