跳转至

第二课:变量与数据类型

1. 变量

变量是内存中存储数据的容器。在 C 语言中,使用变量前必须先声明其类型。

变量声明

int age;          // 声明一个整型变量
float price;      // 声明一个浮点型变量
char letter;      // 声明一个字符型变量

变量赋值与初始化

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. 类型转换

隐式转换

编译器自动进行,将小类型转换为大类型:

int a = 10;
double b = a;      // int → double,b = 10.0

显式转换(强制类型转换)

double x = 3.14;
int y = (int)x;    // y = 3,小数部分被截断

5. 练习

动手实践

  1. 声明一个 int 和一个 double 变量,输出它们的和与积
  2. 定义一个常量表示你的出生年份,计算并输出你的年龄
  3. 分别用 %d%c 输出字符 'A',观察有什么区别?

← 上一课:Hello World | 下一课:运算符与表达式 →