看的懂的C语言--基本数据类型(Ⅰ)

看的懂的C语言--基本数据类型(Ⅰ),第1张

文章目录
  • 一、六种基本数据类型
    • Ⅰ、字符型(char)
    • Ⅱ、整型(short、int、long)
    • Ⅲ、浮点型(float、double)
  • 二、输出格式
  • 三、计算机中的单位
  • 四、所占空间

一、六种基本数据类型

C语言中的基本数据类型有六种:char(字符类型)、short(短整型)、int(整型)、long(长整型)、float(单精度浮点型)、double(双精度浮点型)。

其中short、int、long都属于整型,float、double属于浮点型。

Ⅰ、字符型(char)

字符型(Character)数据是不具计算能力的文字数据类型,用字母C表示。


它包括中文字符、英文字符、数字字符和其他ASCⅡ字符,其长度(即字符个数)范围是0-255个字符,即0x00至0xFF。

“char a;”则定义了变量a是字符类型,“char *a;”则定义了变量a是字符指针类型。

并且注意给字符变量赋值时用单引号,例如char a = ‘#’;

类型的作用:
(1)、可以存放整数,但因为最高位用来存符号位,导致存储位少一位,所以存储范围为 -128 ~ 127。


注意
a、char类型大多默认为有符号类型(signed),所以signed不用写,但如果使用无符号类型(unsigned),那么就需在前面加上 例如:unsigned char a = 5;
b、使用unsigned会使存储范围变大( 0 ~255),因为不用存储符号,就多出一位。

(2)、可以存放字符(字符的本质是整数,通过ASCII查找)
字符指类字形单位或符号,包括字母、数字、运算符号、标点符号和其他符号,以及一些功能性符号。


你在ASCII中找到你想要字符并用数字代替,即 97代表字母’a’、65代表’A’(大小写相差32,其他字母也是如此)。

但没必要把它记下来,只需记住常用的(字母是必须记的)。

下面两种写法等价

char ch = 97char ch = 'a';

Ⅱ、整型(short、int、long)

整型可以用十进制,十六进制或八进制符号指定,前面可以加上可选的符号(- 或者 +)。

包括整型常量和整型变量,整型变量又包括短整型、基本整型、长整型,它们都分为有符号和无符号两种版本,是一种智能的计算方式。


十进制: 十进制整常数没有前缀。

其数码为0~9。

八进制:必须以0开头,即以0作为八进制数的前缀。

数码取值为0~7。

八进制数通常是无符号数。

int x = 017//十进制为15

十六进制: 十六进制整常数的前缀为0X或0x。

其数码取值为09,AF或a~f。

int x = 0x177;//十进制为375
数据类型简写大小(字节)位数范围
signed short intshort216-32768~32767
unsigned short intunsigned short2160~65535
signed intint432-2147483648~2147483647
unsigned intunsigned4320~4294967295
signed long intlong864-9223372036854775808~ 9223372036854775807
unsigned long intunsigned long8640~18446744073709551615
Ⅲ、浮点型(float、double)

浮点型由数码0~ 9和小数点组成。

浮点型有两类float和double,两者的精度不同(有效数字范围不同)。

数据类型有效数字范围
float7位有效数字
double15~16位有效数字

注意:
如果你想定义float型变量,那么你就得在数字后加f,否则编译器会默认为double型,然后将该数字强制转换为float型,当有效数字足够长时会丢失数据(高精度转低精度)。


double型并不需要这样。

float x = 1.23fdouble y = 1.23;
二、输出格式

各类型的输出格式

%c字符
%d整型(有符号的十进制整数)
%hd短整型
%ld长整型
%f浮点数(float)
%lf浮点数(double)
%s字符串
%p指针
三、计算机中的单位

计算机中的单位:bit(比特位)、byte(字节)、kb、mb、gb、tb、pb;
1byte=8bit、1kb=1024byte、1mb=1024kb、1gb=1024mb、后面以此类推。

四、所占空间

各类型在计算机中占用的空间大小

类型大小(字节)
char1
short2
int4
long4/8(32位、64位)
float4
double8
指针4/8(32位、64位)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/662193.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-18
下一篇 2022-04-18

发表评论

登录后才能评论

评论列表(0条)

保存