// 保留位数
/*
// %f默认会保留6位小数
// 指定保留多少位小数: %.nf, 其中n就是需要保留多少位小数, f用于输出实型
float floatValue = 3.14;
printf("%.2f", floatValue);
*/
// .%f各种坑
/*
// 为什么指定保留10位之后还不对呢? 因为float类型有效位数是7位(不包括小数点)
// 如何计算有效位? 从第一个数开始计算
// 如果输出的数据超出了有效位数, 那么就会出现一些垃圾数据
float floatValue = 3.1415926525;
printf("%.10f\n", floatValue); // 默认情况保留6位
// 如何想完整的输出那么必须将数据保存位double类型, 因为double类型的有效位是15位
double doubleValue = 3.1415926525;
printf("%.10lf\n", doubleValue);
*/
// int 占用4个字节 double 占用8个字节
// 只是相同类型的数据才能进行运算, 隐式类型转换 将小类型转换为大类型, 然后再进行运算
// 在赋值的时候系统又给我们进行了一次隐式类型转换
// 发现, 如果在隐式类型转换的时候, 将大类型转换为小类型会丢失精度
int result = 10.9;
printf("result = %d\n", result);
// 强制类型转换格式: (类型)被强制类型转换的数据
int result2 = (int)10.9;
printf("result2 = %i", result2);
// 自动类型提升
// 自动类型的提升, 将参与运算的数据都转换为同一类型后再运算
// 会自动将小的数据类型提升为大的数据类型
int result3 = 1 + 9.9; // 1.0 + 9.9 = 10.9
*/
/*
// 在算术运算中, 参与运算的是什么类型, 计算出来就是什么类型
// double result = 1.0 / 2; // 1.0 / 2.0 --> 0.5
// double result = (double)1 / 2;// 1.0 / 2.0 --> 0.5
double result = (double)(1 / 2); // (double)(0) --> 0.0
printf("result = %lf\n", result);
*/
// 2.算术运算符的结合性, 左结合, 从左至右的计算
// 3.算术运算符的优先级 * / % 大于 + -
// 如果优先级和结合同时存在, 那么先优先级再结核性
// sizeof可以用来计算一个变量或一个常量、一种数据类型所占的内存字节数
// 注意: sizeof是一个运算符, 不是一个函数
// 利用sizeof计算的格式: sizeof(变量/常量/数据类型);
// 1.计算常量占用的内存字节数
/*
// int number = sizeof(10);// 10是一个整型常量, 整型 == int == 4
// 如果利用sizeof计算常量, 那么可以省略()
int number = sizeof 10;
printf("number = %i\n", number);
*/
// 2.计算变量
/*
double doubleValue = 10.9;// doubleValue是实型 , 实型 == double == 8
// int number = sizeof(doubleValue);
// 如果利用sizeof计算变量, 那么可以省略()
int number = sizeof doubleValue;
printf("number = %i\n", number);
*/
// 3.计算数据类型
/*
int number = sizeof(char);
// 注意: 如果利用sizeof计算数据类型, ()不能省略
// int number = sizeof char;
// main是函数的名称, 是系统规定的名称, 系统启动程序就会调用名称叫做main的函数
// main函数只能由系统调用 ,不能手动调用
// 其实系统在启动程序的时候, 会给我们的程序传递一些参数
// argc : 就是系统传递进来的参数个数, 默认是1
// argv : 就是系统传递进来的参数实际的值, 默认是程序的名称
int main(int argc, const char * argv[]) {
printf("argc = %i\n", argc);
printf("argv = %s\n", argv[0]);
printf("argv = %s\n", argv[1]);
// return 结束函数
// 0 : 返回给操作系统, 如果返回0, 代表程序整除结束, 如果返回其它值代表程序非正常结束
return 0;
}
printf("number = %i\n", number);
*/