[C语言]基本数据类型

整理编辑:编程小哥巴克Buck

C语言
1.基本数据类型、运算符、表达式
2.常用输入输出
3.流程控制
4.数组
5.指针
6.函数
7.构造数据类型
8.指针高级
9.函数高级
10.内存管理

1.基本数据类型

1.1整数类型(0正1负)
所有整数类型都分为:有符号类型(signed)和无符号类型(unsigned)
					short	a;     //默认为有符号类型
					short a; == signed short a;
					
					unsigned short a;	//无符号类型a
					unsigned short a = -10;//错误
					unsigned short a = 20;//正确

short:   类型名	所占内存空间大小	   值域范围
短整形	   2字节		   unsigned short   0 - 2^16-1 (65535)
						   signed short     -2^15 - 2^15-1(32767)			
int:     类型名	所占内存空间大小	   值域范围
	  整形         4字节		   unsigned int     0 - 2^32 -1
						   signed int       -2^31 - 2^31 -1

long:    类型名	所占内存空间大小	   值域范围:
	  长整型	   4字节		   unsigned long    0 - 2^32 -1
						   signed long      -2^31 - 2^31 -1
											
char:    类型名    所占内存空间大小	   值域范围:
	  字符型	   1个字节		   unsigned char:   0 - 255
						   signed char:     -128 - 127

	 char ch = 'A';
	 ASCII码表:编码标准 字符 -> 数字
	
(long long int是8字节)

后面的ull只是表示数据类型,并不是字符ull


字符型:	   
0 - 31 无法在终端上显示
32 - 127 可以在终端上显示
char类型其实仍然为int类型,因为字符对应的ASCII码仍然是数字


char ch = 27;
printf("%c", ch);	会显示乱码
	   
 '0' 字符
 0  整形
	   
	   char ch = '0';      ch:0011 0000		%c:显示字符0
	   char ch = 0;       ch:0000 0000		%c:无任何显示
'\0'    0
'0'    48
'A'    65
'a'    97

练习:
将一个字母的大写形式变为小写形式

类型的扩展与截断:
	扩展:低长度数据类型赋值给高长度类型需扩展
				无符号类型:高位扩0
				有符号类型:高位扩符号位(正数扩0 负数扩1)
	截断:高长度数据类型赋值给低长度数据类型需截断
				有符号、无符号:直接获取对应低位数据
	   
	   char ch = 555;
	   printf("ch = %d\n", ch);
	(编译报错,char型的取值范围为-128~127,255超出范围)

类型转化问题解题思路:数 -> 内存二进制数 -> 打印的结果

1.2浮点数类型
浮点数类型都为有符号类型,没有无符号类型的概念
		
float	单精度浮点数类型(4字节)
double	双精度浮点数类型(8字节)
		
		float a = 3.1415;
		double b = 3;
		
		printf("a = %f\n", a);
		printf("a = %lf\n", b);


1.3缺省类型
void:用来修饰指针、函数参数、函数返回值等 表示类型缺省
void a;	//错
	
1.4泊尔类型
bool a;(1字节)(bool类型即为逻辑类型,只有真和假两个值)
值域:true(1) false(0)
C语言中非0值表示逻辑真值, 0值表示逻辑假值

a = 3 > 5;
a为bool类型的话,a值此时为0;

bool a;
a = 5;
printf("a = %d\n", a);
a值此时为1

1.5类型转换
1.显式转化(强制类型转化)
			float a = 3.1415
			int b = 3;
			int c = 0;
			
			c = (int)a + b;
			
2.隐式转化
			char、short -> int
			int、long -> long
			signed、unsigned -> unsigned
			
			int、float -> double
			float、double -> double
计算机五大基本部件:运算器、控制器、存储器、输入设备、输出设备。


复制代码

转载于:https://juejin.im/post/5c163345e51d45203949f145

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值