第二章 基本数据类型和变量
本章目标
- 掌握 C 语言的基本数据类型
- 理解变量的声明与初始化
- 理解常量与变量的区别
- 学会使用关键字
const
基本数据类型
C 语言的基本数据类型分为以下几类:
整型:
int
:整数类型,表示没有小数部分的数字。- 常见修饰符:
short
(短整型)、long
(长整型)、unsigned
(无符号)。 - 示例:
cint a = 10; unsigned int b = 20; // 无符号整型
浮点型:
float
:单精度浮点数。double
:双精度浮点数,精度更高。- 示例:
cfloat pi = 3.14f; double e = 2.718;
字符型:
char
:字符类型,用于存储单个字符。- 示例:
cchar c = 'A';
其他类型:
void
:无类型,用于函数返回值为空或泛型指针。
变量
变量的声明与初始化
- 声明:告诉编译器变量的名称和数据类型。
- 初始化:为变量赋初始值。
代码示例:
c
#include <stdio.h>
int main(void) {
int age = 25; // 整型变量
float height = 175.5; // 浮点型变量
char grade = 'A'; // 字符型变量
printf("年龄: %d\n", age);
printf("身高: %.1f cm\n", height);
printf("等级: %c\n", grade);
return 0;
}
输出结果:
sh
年龄: 25
身高: 175.5 cm
等级: A
格式说明符
在 C 语言中,%d
、%.1f
、%c
是格式化字符串的一部分,常用于 printf
和 scanf
函数中,表示如何格式化输出或读取变量的值。下面是详细解释:
格式说明符的作用
格式说明符用来告诉程序如何处理和显示数据。常见的格式说明符包括:
整数(整型)
%d
:用于以十进制形式输出或读取整数。cint num = 42; printf("The number is %d\n", num); // 输出: The number is 42
浮点数(小数)
%f
:用于输出或读取浮点数。 默认显示小数点后 6 位。cfloat pi = 3.14159; printf("PI: %f\n", pi); // 输出: PI: 3.141590
%.1f
:控制小数点后的位数。%.1f
:表示显示 1 位小数。%.2f
:表示显示 2 位小数,依此类推。cfloat pi = 3.14159; printf("PI: %.1f\n", pi); // 输出: PI: 3.1 printf("PI: %.2f\n", pi); // 输出: PI: 3.14
字符
%c
:用于输出或读取单个字符。cchar letter = 'A'; printf("The letter is %c\n", letter); // 输出: The letter is A
字符串
%s
:用于输出或读取字符串。cchar name[] = "Alice"; printf("Name: %s\n", name); // 输出: Name: Alice
更详细的格式说明符
宽度控制: %5d
:表示输出一个至少占 5 个字符宽度的整数,不足时补空格。
c
printf("Number: %5d\n", 42); // 输出: Number: 42
对齐与填充: %-5d
:左对齐,占 5 个字符宽度。
c
printf("Number: %-5d\n", 42); // 输出: Number: 42
科学计数法: %e
:用于以科学计数法输出浮点数。
c
printf("Value: %e\n", 12345.678); // 输出: Value: 1.234568e+04
综合示例
c
#include <stdio.h>
int main(void) {
int age = 25;
float height = 175.5;
char grade = 'A';
printf("Age: %d years\n", age); // 整数输出
printf("Height: %.1f cm\n", height); // 浮点数输出,保留 1 位小数
printf("Grade: %c\n", grade); // 字符输出
return 0;
}
输出结果:
sh
Age: 25 years
Height: 175.5 cm
Grade: A
为什么要使用格式说明符?
- 精确控制输出格式:可以指定数字的精度、对齐方式等。
- 支持多种数据类型:使得
printf
和scanf
能灵活处理不同的数据类型。 - 提高代码可读性:让输出更直观、整洁。
常量
常量的特点
- 常量的值在程序运行过程中不可更改。
- 使用
const
关键字声明。
代码示例:
c
#include <stdio.h>
int main(void) {
const float PI = 3.14159; // 声明一个常量
int radius = 10; // 圆的半径
float area = PI * radius * radius; // 计算面积
printf("半径为 %d 的圆的面积是 %.2f\n", radius, area);
// PI = 3.14; // 错误,无法修改常量
return 0;
}
输出结果:
sh
半径为 10 的圆的面积是 314.16
本章小结
- 数据类型决定变量存储的内容和大小。
- 变量的值可以随时修改,而常量的值一旦定义就不能改变。
- 使用
const
声明常量时,可以提高程序的安全性和可读性。