0x03-数据和C

数据和C

数据:数据类型和关键字

c语言的基本数据类型和关键字

K&C给出了7个于类型相关的关键字。C90标准添加了2个关键字,C99标准又添加了3个关键字

最初K&C给出的关键字C90标准添加的关键字C99标准添加的关键字
intsigned_Bool
longvoid_Complex
short_Imaginary
unsigned
char
float
double

在C语言中:

int关键字:表示基本的整数类型。

long、short、unsigned和signed关键字:用于提供基本整数类型的变式。
例如:unsigned short int 和 long long int

char关键字:用于指定字母和其他字符。(char类型也可以表示较小的整数。)
例如:#、$、%和 *

float、double和long double关键字:表示带小数点的数。

_Bool关键字:表示布尔值。(true和false)

_complex关键字*:表示复数。

 _Imaginary关键字:表示虚数。

通过这些关键字创建的数据类型,按计算机的存储方式可分为两大基本类型:整数类型和浮点数类型。

整数和浮点数

1.整数没有小数部分,浮点数有小数部分
2.浮点数可以表示的范围比整数大。
3.对于一些算数运算(如:两个很大的数相减),浮点数损失的精度更多。

0x1-int类型
0x1.1-声明变量和初始化变量

例如:int关键字的声明和初始化

声明:int dogs;    #声明gods是一个int类型的变量,即为gods变量创建和标记存储空间同时告诉C编译器它是一个int类型的变量。
初始化:int dogs = 3;   #声明并初始化变量,为dogs创建内存空间并赋值为3

同时声明和初始化多个变量:

int dogs, pigs, apples;
int dogs = 3, pigs = 4, apples = 5;
0x1.2-int类型常量

像34、25、56等都是整型常量或整型字面量。
C语言把不含小数点和制数的数作为整数。
22和-44都是整型常量,但是22.0和2.2E1则不是。
C语言把大多数整型常量视为int类型,但是非常大的整数除外。
(此处设计long常量和long long常量,在long int类型再讨论)

0x1.3-打印int值

c语言中可以使用printf()函数打印int类型的值,%d指明了在一行中打印整数的位置。
%d称为转换说明,它指定了printf()应使用什么格式来显示一个值。
格式化字符串中的每个%d都与待打印变量列表中相应的int值匹配。
这个值可以是int类型的变量、int类型的常量或其他任何值为int类型的表达式。
要确保转换说明的数量与待打印的数量相同,编译器不会捕捉这一类型的错误,如果不匹配它就会打印一些乱七八糟的数据出来。

0x1.4-八进制和十六进制

通常,C语言都假定整型常量是十进制数。然而,许多程序员更喜欢用八进制或十六进制,因为8和16是2的幂,而10却不是。显然,八进制和十六进制计数系统在表达与计算机相关的值时很方便。
例如:十进制65535经常出现在16位机中,用十六进制表示刚好时10000.另外十六进制的每一位恰好由四位二进制数表示。

0x或0X前缀表示十六进制,例如:十进制数16表示成十六进制是0x10或0X10.
0(数字0)前缀表示8进制,例如:十进制数16表示成八进制是020.
0x1.5-显示八进制和十六进制

在c程序中使用和显示不同的进制数,需要使用不同的转换说明。如果需要显示前缀可以在转换说明中加入#号。

进制转换说明显示前缀
八进制%o(字母o)%#o
十进制%d%#d
十六进制%x或%X%#x或%#X
0x2-其他整数类型

c语言提供3个附属关键字修饰基本整数类型:short、long和unsigned。

类型简写或其他写法说明备注
short intshort占用空间可能比int类型少,常用于较小数值场合以节省空间与int类似,short是有符号类型
long intlong占用空间可能比int多,适用于较大数值的场合与int类似,long是有符号类型
long long intlong longC99标准加入,占用的存储空间可能比long多,适用于更大数值的场合。该类型至少占64位。与int类似,long long是有符号类型
unsigned intunsigned只用于非负值的场合,这种类型与有符号类型表示的范围不同。无符号类型
unsigned long intunsigned longC90添加标准
unsigned intunsigned shortC90添加标准
unsigned long long intunsigned long longC99添加标准

unsigned int属于无符号类型,这种类型与有符号类型表示的范围不同。例如:16位unsigned int允许的取值范围是0-65535,而不是-32768-32767.用于表示正负号的位现在用于表示另一个二进制位,所以无符号类型可以表示更大的数。

在任何有符号类型前面添加关键字signed,可强调使用有符号类型的意图。例如,short、short int、signed short、signed short int都表示同一种类型。

0x2.1-声明其他整数类型

转载于:https://www.cnblogs.com/hare1925/p/11569645.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值