前言:
数据类型是编程的基础,C语言的数据类型可以分为基本类型和构造类型。新手需要分清楚基本类型有哪些,比如整型、浮点型、字符型,以及它们的分类和占用内存大小。
1. C语言的数据类型
数据类型决定了变量可以存储什么样的值,以及占用多少内存空间。C语言的数据类型分为以下几类:
1.1 基本数据类型

通常情况下,int为最常用的类型,一般用做计数,年龄等使用场景,float和double的话一般用做价格,温度这种后面带有小数的精度数值场景,float一般用做精度低的情况,double用做高精度的情况。
char用做单引号包裹的字符,其本质是存储ASCII编码,所以char 也可以当做小的整数使用(0~255)。
1.2 类型修饰符
可以通过修饰符改变数据类型的范围和符号:
short:缩短范围(如short int)。long:扩展范围(如long int)。signed:有符号数(默认,可正可负)。unsigned:无符号数(仅正数,范围更大)。
unsigned int age = 25; // 只能存储非负数
long double bigNumber = 3e10; // 非常大的数short的主要作用在于修饰int类型,long一般用作拓展范围,signed表示可变正负数,默认情况下int,char类型是signed的 或者用unsigned。
2. 变量声明与赋值
2.1 变量声明
变量需要先声明后使用,语法:数据类型 变量名;这里需要注意两个事项,首先变量一定要先声明才可赋值,就好比你要打车去一个地方,上车你总得先告诉出租车司机你要去哪里。还有一点就是变量也可以多次赋值。这里新手容易有一个误区就是,是不是这个变量我只要赋值后,如果我想使用其他数值的话 我就要重新声明,其实只需要重新赋值即可。
int score; // 声明一个整数变量
float price; // 声明一个浮点数变量
char grade = 'A'; // 声明并直接赋值
2.2 赋值与初始化
// 基本数据类型初始化
int num = 10;
float f = 3.14f;
char ch = 'A';
// 数组初始化
int arr[5] = {1, 2, 3, 4, 5};
// 结构体初始化
struct Person {
char name[20];
int age;
};
struct Person p = {"John", 25};需要注意的事项
- 部分初始化:当对数组或结构体进行部分初始化时,未被显式初始化的元素会被自动初始化为 0(对于数值类型)或空字符
'\0'(对于字符类型)。
int arr[5] = {1, 2}; // arr[0]=1, arr[1]=2, arr[2]=0, arr[3]=0, arr[4]=0const int MAX = 100; // 正确
// MAX = 200; // 错误,常量不能被重新赋值- 复合字面量初始化:C99 引入了复合字面量,可以用于初始化变量。
int *ptr = (int []){1, 2, 3};2.3 变量命名规则
只能包含字母、数字、下划线。
// 符合规则的变量名
int valid_variable_1;
float _valid2;
// 不符合规则的变量名
// int invalid@variable; // 包含了 @ 符号
// float invalid variable; // 包含了空格不能以数字开头。
// 符合规则的变量名
int _start;
char letterA;
// 不符合规则的变量名
// int 123number; // 以数字开头区分大小写(
age和Age是不同的变量)。
#include <stdio.h>
int main() {
int myVariable = 10;
int MyVariable = 20;
printf("myVariable: %d\n", myVariable);
printf("MyVariable: %d\n", MyVariable);
return 0;
}避免使用C语言关键字(如
int,for)。
3. 基础语法:输入输出
3.1 输出:printf()
#include <stdio.h>
int main() {
int age = 18;
printf("Hello, Halo!\n"); // 输出字符串
printf("我的年龄是:%d 岁\n", age); // %d 表示整数占位符
return 0;
}3.2 输入:scanf()
#include <stdio.h>
int main() {
int number;
printf("请输入一个数字:");
scanf("%d", &number); // & 符号表示取地址
printf("你输入的是:%d\n", number);
return 0;
}4. 运算符
4.1 算术运算符
int a = 10, b = 3;
int sum = a + b; // 13
int sub = a - b; // 7
int mul = a * b; // 30
int div = a / b; // 3(整数除法会丢弃小数部分)
int mod = a % b; // 1(取余)4.2 关系运算符
int x = 5, y = 10;
printf("%d\n", x > y); // 0(假)
printf("%d\n", x == 5); // 1(真)4.3 逻辑运算符
int a = 1, b = 0;
printf("%d\n", a && b); // 0(与运算)
printf("%d\n", a || b); // 1(或运算)
printf("%d\n", !a); // 0(非运算)最后:
简单介绍下C语言新手需要了解的数据类型基础知识,虽然是慢工但是不是什么细活,下期见。




