C语言-数据类型

C语言数据类型分类

在这里插入图片描述

整型 :

有符号整型的数据类型通常包括 int、short、long、long long 四种,因为是有符号
类型,所以前面要加上 signed ,但是通常省略,也就是说在代码中直接打出 int 类型
就代表是有符号类型的。
无符号数用 unsigned 表示 ,只表示数据量,而没有方向(没有正负,且无符号
数最高位不是符号位,就是数的一部分,无符号数不可能是负数。

1字节表示区间 		
0111 1111 : 127
1000 0000 : -128
(-2^7~~2^7-1)   

byte(1)	(-2^7~~2^7-1)  
short(2)  (-2^15,x^15-1)   -32768~~32767
int(4)    (-2^31,2^31-1)  能存下的数为 :21开头的10位数据
long(4)  能存下的数为 :21开头的10位数据
long long(8)  (-2^31,2^31-1) 

(signed)int count = -1;  int -> 111111……
无符号数据类型 :不存在符号位,只有数值位IE,不存在负数
1000 0000 -> 2^7 -> 128
unsigned int count = 0;

字符型:

字符型变量用于存储一个单一字符,在 C 语言中用 char 表示,其中每个字符变
量都会占用 1 个字节。在给字符型变量赋值时,需要用一对英文半角格式的单引号(’ ')把字符括起来。字符变量实际上并不是把该字符本身放到变量的内存单元中去,而
是将该字符对应的 ASCII 编码放到变量的存储单元中。char的本质就是一个1字节大小
的整型。

char(1)
char c = 'a'  -->  c = 97

'a' == 97	'A' == 65	'0' == 48

部分字符对应的ASCII码

'A'65
'a'97(大小写相差 32'0'48 
'\n':10 
'\0': 0

转义字符

转义字符可以将部分一般的字符转成其他意义
还可以将字符的定界符,字符串的定界符,转义字符转义成单引号字符,双引号字符,反斜杠字符

\'  一个单撇号
\''  
\\  
\a	警告
\n  换行
\t	制表符
\o、\oo、\ooo
\xh
eg: abc\ac\df\12345  10个字符  a b c \a c \d f \123 4 5
eg: \238a\n  4个字符  \23 8 a \n

’ 字符的定界符
" 字符串的定界符
\ 转义字符

’ '字符
" "字符
\ \字符

类型转换:

隐式转换:

int num = 10;
char c = num;

显式转换:

int num = 10;
char c = (char)num;

字节过小,数据无法存储,会截断

#include <stdio.h>
int main() {
	char c = 130;
	//char c = (char)num;
	printf("%d", c);
	return 0;
}
//  输出结果 -126
//  000000...00 1000 0010
//  1000 0010

大数据类型转换为小数据类型 必须显式转换


#include <stdio.h>
int main() {
	double c = 130;
	//char c = (char)num;
	int b = (int)c;  //不加int  会有警告
	printf("%d", b);
	return 0;
}

printf()函数 不区分f lf区分
注意:scanf()函数 区分f lf 要一一对应

格式化字符

整型:
%d  十进制
%x  整型的十六进制
%p  以十六进制表示地址
%o  八进制表示
浮点:
%f  float类型变量
%lf  double类型变量
字符型:
%c  char
%d  char对应的ASCII值

浮点型

单精度浮点型

单精度浮点型的大小是 4 字节

float v1 = 4.345; 
unsigned float v1 = 4.345; //无符号的 float 数据
//格式匹配符是:%f , 默认保留 6 位小数。

双精度浮点型

//双精度浮点型的大小为 8 字节
double v2 = 5.678; 
unsigned double v2 = 5.678; //无符号的 double 数据
printf(“n = %08.3f\n”, n);//输出的含义为:显示8位数(包含小数点), 不足8位用0填充。并且保留3位小
//数。对第4位做四舍五入。

sizeof 关键字

#include<stdio.h>
// sizeof 关键字 计算变量或数据类型所占的字节个数
int main()
{
	printf("char size: %d \n", sizeof(char) );
	printf("short size: %d \n", sizeof(short) );
	printf("int size: %d \n", sizeof(int) );
	printf("long int size: %d \n", sizeof(long int) );
	printf("long long size: %d \n", sizeof(long long) );
	printf("float size: %d \n", sizeof(float) );
	printf("double size: %d \n", sizeof(double) );
	printf("long double size:%d \n", sizeof(long double) );
	printf("bool size: %d \n", sizeof(bool) );
	return 0;
}

标识符命名规则

由下划线“”,英文字母(A-Z,a-z)和数字(0-9)构成,标识符的首字符必须是
英文字母或者是下划线 ’
’ ,首字符不能是数字。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值