iOS中的C常识

2016-05-24  本文已影响62人  静守幸福

// 保留位数

/*

// %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);

*/

上一篇下一篇

猜你喜欢

热点阅读