第二课:变量与数据类型¶
1. 变量¶
变量是内存中存储数据的容器。在 C 语言中,使用变量前必须先声明其类型。
变量声明¶
变量赋值与初始化¶
int age = 18; // 声明并初始化
float price = 19.99; // 浮点数
char letter = 'A'; // 字符用单引号
int a, b, c = 0; // 同时声明多个变量
2. 基本数据类型¶
| 类型 | 大小(32位) | 取值范围 | 格式化占位符 |
|---|---|---|---|
int |
4 字节 | -2^31 ~ 2^31-1 | %d |
unsigned int |
4 字节 | 0 ~ 2^32-1 | %u |
short |
2 字节 | -32768 ~ 32767 | %hd |
long |
4/8 字节 | 依平台而定 | %ld |
float |
4 字节 | ~±3.4e38 | %f |
double |
8 字节 | ~±1.7e308 | %lf |
char |
1 字节 | -128 ~ 127 | %c |
示例¶
#include <stdio.h>
int main() {
int age = 18;
float height = 1.75;
char grade = 'A';
double pi = 3.1415926535;
printf("年龄:%d\n", age);
printf("身高:%.2f 米\n", height);
printf("等级:%c\n", grade);
printf("圆周率:%.10lf\n", pi);
return 0;
}
3. 常量¶
使用 const 关键字或 #define 定义常量:
const double PI = 3.14159; // const 方式
#define MAX_SIZE 100 // define 方式(预处理)
int radius = 5;
double area = PI * radius * radius;
const vs #define
const有类型检查,更安全#define在预处理阶段直接替换文本,没有类型检查
4. 类型转换¶
隐式转换¶
编译器自动进行,将小类型转换为大类型:
显式转换(强制类型转换)¶
5. 练习¶
动手实践
- 声明一个
int和一个double变量,输出它们的和与积 - 定义一个常量表示你的出生年份,计算并输出你的年龄
- 分别用
%d和%c输出字符'A',观察有什么区别?