C语言数据类型和判断他占据的位数

c语言中有哪些数据类型:

int等等之前已经讲过了

补充的是-Bool:布尔类型,表示真假;标准c语言是没有这个数据类型的,c++才有,只不过我们要用,可以进行宏定义。

#define bool int

#define false 0

#define true 1

其次讲一下c里面计算一个数据类型所占位数的计算符(不是函数);

sizeof运算符

方法:如果是变量,直接比如sizeof i  就行,只要用空格隔开就好;

如果直接查询数据类型的多少的话,用括号括起来;sizeof(int);

printf(“int的数据字节是%d\n”,sizeof(int));

#include <stdio.h>
#define bool int
#define false 0
#define true 1

int main()
{
    int a=1;
    float b=3.14;
    double c=3.1415939;
    bool d=false;
    printf("woshiyigexiaokeai%d\n",sizeof a);
    printf("pppppp%d\n",sizeof d);
    printf("%d\n",sizeof(int));
    return 0;
}

带符号和无符号数:signed(默认带符号),无符号数unsigned(用%u替代);

unsigned int i=-1;

在printf(“%d”,i);

就输出的不是你想要的-1;

自动类型转换,低精度会自动向高精度转换。

如果好强制转换:用强制类型转换(int)等;但那样会损失精度,比如(int)1.8,结果会是2;

eg:printf(“%d\n”,1+(int)2.0);得到的结果是3,否则是3.0;

再者,一个浮点型的数输出一定要用%f,如果你用%d输出,它会打印出一个错误的数,比如0之类的。

#include <stdio.h>
#include <math.h>

int main()
{

    float j=2.0;
    printf("%d\n",j);

}

最后提醒一点:printf()括号里面不能直接填数字之类的,因为输出的是字符串的形式到屏幕上,所以用的是替代的方式。

printf的参数至少有一个字符串;

 

printf()函数的调用格式为: printf("<格式化字符串>", <参量表>);

(转载自https://blog.csdn.net/w371500241/article/details/53330649

其中格式化字符串包括两部分内容:

 一部分是正常字符, 这些字符将按原样输出;

另一部分是格式化规定字符, 以"%"开始, 后跟一个或几个规定字符, 用来确定输出内容格式。 
参量表是需要输出的一系列参数, 其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用","分开, 且顺序一一对应, 否则将会出现意想不到的错误。 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值