C入门系列:第一章 基本类型

C入门系列:第一章 基本类型

C入门系列:第二章 字符串

C入门系列:第三章 函数

C入门系列:第四章 数组和指针

C入门系列:第五章 数据存储类别和内存管理

C入门系列:第六章 文件输入/输出

C入门系列:第七章 结构和其他数据形式

C入门系列:第八章 C预处理器和C库

1 int类型

1.1 八进制和十六进制的表示

0x或0X前缀表示十六进制值;0前缀表示八进制

printf("%d", xxx); 	// 十进制打印

printf("%o", xxx); 	// 八进制打印
printf("%#o", xxx); // 八进制打印,显示前缀
printf("%lo", xxx); // 八进制的long类型
printf("%ho", xxx); // 八进制的short类型

printf("%x", xxx); 	// 十六进制打印
printf("%#x", xxx); // 十六进制打印,显示前缀
printf("%lx", xxx); // 十六进制的long类型
printf("%hx", xxx); // 十六进制的short类型

printf("%u", xxx);  // unsigned int类型
printf("%ld", xxx); // long类型

printf("%hd" xxx);  // short类型

printf("%ul" xxx);  // unsigned long类型
printf("%lld", xxx); // long long类型
printf("%llu" xxx); // unsigned long long类型

1.2 其他整数类型

类型描述
short
long
long long
unsigned只用于非负值
unsigned short
unsigned long
unsigned long long
signed在类型前添加关键字signed表示有符号类型,与short、long等有符号类型相同

1.3 变量声明

long long类型可以变量声明10l或10L表示;unsigned long long类型可以变量声明10ull或10ULL表示,在变量前添加类型前缀表示。

2 char类型

printf("%c", xxx);
printf("%d", xxx); // 打印字符对应的ASCII码值

2.1 其他类型

类型描述
unsigned char
_Bool类型C99添加了_Bool类型表示布尔值,即逻辑值true和false,1表示true,0表示false

3 可移植类型

C99新增了两个头文件 stdint.hinttypes.h ,以确保C语言的类型在各系统中的功能相同。

stdint.h 头文件定义的一些类型:

类型描述
int32_t表示32位的有符号整数类型,在不同系统代表不同类型,如32位int系统是int类型,int为16位、long为32位系统中表示long类型;属于精确宽度整数类型,计算机底层系统可能不支持
int_least8_t表示可容纳8位有符号整数值的类型中宽度最小的类型的一个别名。如果某系统的最小整数类型是16位,可能不会定义int8_t类型,该系统仍可使用int_least8_t类型,但可能把该类型实现为16位的整数类型;属于最小宽度类型,用于在不支持精确宽度整数类型使用
int_fast8_t被定义为系统中对8位有符号值而言运算最快的整数类型的别名;属于最快最小宽度类型
intmax_t有符号最大整数类型,可存储任何有效的有符号整数值;有可能比long long或unsigned long类型更大
unitmax_t表示最大的无符号整数类型;有可能比long long或unsigned long类型更大
#include<stdio.h>
#include<inttypes.h>
int main(void) {
	int32_t me32 = 45933945;
	
	printf("me32 = %d\n", me32);
	// PRId32被定义在inttypes.h中替换"d",等价于
	// printf("me32 = %d\n", me32);
	printf("me32 = %" PRId32 "\n", me32);
}

4 float、double和long double

在这里插入图片描述

e后面的数字代表10的指数

pinrtf("%f", xxx); // float和double类型
printf("%e", xxx); // 指数计数法
printf("%Lf", xxx); // long double类型

5 复数和虚数

3种复数类型:

类型描述
float_Complex包含两个float类型,分别表示复数的实部和虚部
double_Complex
long double_Complex

3种虚数类型:

类型
float_Imaginary
double_Imaginary
long double_Imaginary

如果包含 complex.h 头文件,可用complex代替_Complex,imaginary代替_Imaginary,还可以用I代替-1的平方根。

6 类型大小

#include<stdio.h>
int main(void) {
	printf("%zd", sizeof(int)); 		// 4 bytes
	printf("%zd", sizeOf(char)); 		// 1 bytes
	printf("%zd", sizeof(long));		// 8 bytes
	printf("%zd", sizeof(long long));	// 8 bytes
	printf("%zd", sizeof(double))		// 8 bytes
	printf("%zd", sizeof(long double));	// 16 bytes
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值