C语言基本数据类型
1. 整型
int(4字节,32bit)
#include <stdio.h>
int main() {
// 声明并初始化int变量
int count = 100; // 计数器
int temperature = -10; // 温度(可以是负数)
// 输出int变量的值和大小
printf("count = %d, 大小: %lu 字节\n", count, sizeof(int));
printf("temperature = %d, 大小: %lu 字节\n", temperature, sizeof(int));
return 0;
}
输出结果:
count = 100, 大小: 4 字节
temperature = -10, 大小: 4 字节
short(2字节,16bit)
#include <stdio.h>
int main() {
// 声明并初始化short变量
short small_num = 32767; // 最大短整型值
short negative_num = -100; // 负短整型值
// 输出short变量的值和大小
printf("small_num = %hd, 大小: %lu 字节\n", small_num, sizeof(short));
printf("negative_num = %hd, 大小: %lu 字节\n", negative_num, sizeof(short));
return 0;
}
输出结果:
small_num = 32767, 大小: 2 字节
negative_num = -100, 大小: 2 字节
long(8字节,64bit)
#include <stdio.h>
int main() {
// 声明并初始化long变量
long big_num = 2147483647L; // 大数值
long timestamp = 1609459200L; // 时间戳
// 输出long变量的值和大小
printf("big_num = %ld, 大小: %lu 字节\n", big_num, sizeof(long));
printf("timestamp = %ld, 大小: %lu 字节\n", timestamp, sizeof(long));
return 0;
}
输出结果:
big_num = 2147483647, 大小: 8 字节
timestamp = 1609459200, 大小: 8 字节
2. 字符型
char(1字节,8bit)
#include <stdio.h>
int main() {
// 声明并初始化char变量
char grade = 'A'; // 成绩等级
char symbol = '+'; // 符号
// 输出char变量的值和大小
printf("grade = %c, 大小: %lu 字节\n", grade, sizeof(char));
printf("symbol = %c, 大小: %lu 字节\n", symbol, sizeof(char));
return 0;
}
输出结果:
grade = A, 大小: 1 字节
symbol = +, 大小: 1 字节
3. 浮点型
float(4字节,32bit)
#include <stdio.h>
int main() {
// 声明并初始化float变量
float pi = 3.14159f; // 圆周率
float temperature = 36.5f; // 体温
// 输出float变量的值和大小
printf("pi = %.5f, 大小: %lu 字节\n", pi, sizeof(float));
printf("temperature = %.1f, 大小: %lu 字节\n", temperature, sizeof(float));
return 0;
}
输出结果:
pi = 3.14159, 大小: 4 字节
temperature = 36.5, 大小: 4 字节
double(8字节,64bit)
#include <stdio.h>
int main() {
// 声明并初始化double变量
double precise_pi = 3.141592653589793; // 更精确的圆周率
double avogadro = 6.02214076e23; // 阿伏伽德罗常数
// 输出double变量的值和大小
printf("precise_pi = %.15f, 大小: %lu 字节\n", precise_pi, sizeof(double));
printf("avogadro = %.2e, 大小: %lu 字节\n", avogadro, sizeof(double));
return 0;
}
输出结果:
precise_pi = 3.141592653589793, 大小: 8 字节
avogadro = 6.02e+23, 大小: 8 字节
4. 无值类型
void
#include <stdio.h>
// 声明一个无返回值的函数
void printHello(void) {
printf("Hello, World!\n");
}
int main() {
// 调用void函数
printHello();
return 0;
}
输出结果:
Hello, World!
5. 修饰符
unsigned(4字节,32bit)
#include <stdio.h>
int main() {
// 声明并初始化unsigned变量
unsigned int positive_num = 4294967295U; // 最大无符号int值
unsigned char byte = 255U; // 最大无符号char值
// 输出unsigned变量的值和大小
printf("positive_num = %u, 大小: %lu 字节\n", positive_num, sizeof(unsigned int));
printf("byte = %u, 大小: %lu 字节\n", byte, sizeof(unsigned char));
return 0;
}
输出结果:
positive_num = 4294967295, 大小: 4 字节
byte = 255, 大小: 1 字节
signed(4字节,32bit)
#include <stdio.h>
int main() {
// 声明并初始化signed变量
signed int negative_num = -100; // 有符号整型
signed char letter = 'A'; // 有符号字符
// 输出signed变量的值和大小
printf("negative_num = %d, 大小: %lu 字节\n", negative_num, sizeof(signed int));
printf("letter = %c (%d), 大小: %lu 字节\n", letter, letter, sizeof(signed char));
return 0;
}
输出结果:
negative_num = -100, 大小: 4 字节
letter = A (65), 大小: 1 字节