第二章 基本数据类型和变量
本章目标
- 掌握 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声明常量时,可以提高程序的安全性和可读性。