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)构成,标识符的首字符必须是
英文字母或者是下划线 ’’ ,首字符不能是数字。