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)
其中格式化字符串包括两部分内容:
一部分是正常字符, 这些字符将按原样输出;
另一部分是格式化规定字符, 以"%"开始, 后跟一个或几个规定字符, 用来确定输出内容格式。
参量表是需要输出的一系列参数, 其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用","分开, 且顺序一一对应, 否则将会出现意想不到的错误。