1、浮点数float和double的区分,float以“f”标志结尾,double不用,在64为编译器下,float占4个字节,double占8个字节。格式如下:
float flo = 1.2f; double dou = 1.2; 2、使用printf函数输出内容时,如:printf("%f\n",flo);此处的变量flo也可以换成常量,如1.2f。 3、使用scanf函数输入内容时,注意输入格式要与代码格式一致,如下: scanf("%d,%d",a,b); 输入时,要用“,”隔开,例如:2,3; scanf("%d&%d",a,b); 输入时,要用“&”隔开,例如:2&3;即与代码分隔符一致。 scanf("%d %d",a,b);输入时,此时分隔符为空格,那么输入时可用,空格、Tab和回车键做分隔符 4、变量作用域:从定义变量的那行代码开始,就会在内存空间开辟一块存储空间,一直到代码块结束。 5、代码块的作用:提高性能。如下程序:int main()
{
// 为了提高性能,后面的代码不用height,就用代码块
// 用完后就释放内存空间。
{
double height = 1.55;
height = height + 1;
printf("height=%f\n",height);
}
return 0;
}
代码块还可以嵌套,变量名一致时,就近原则如下范例:
{ int score= 100; { int score= 200; { score=50; //就近原则效果,代码块中没有定义score,就往上找,把最近定义的score的值从200改为50;输出50 100 } printf(“score =%d”,score); } printf(“score =%d”,score); }
代码块改为如下:
{ int score= 100; { int score= 200; { int score; score=50; // 此处修改的是该代码块的score,并且在“}”之后释放,对下面的printf没有影响。 } printf(“score =%d”,score); } printf(“score =%d”,score);//输出结果为 200 100 }
代码块改为如下: { int score= 100; { int score= 200; printf(“score =%d”,score); } printf(“score =%d”,score);//输出结果为 200 100 }
6、变量的内存分析,内存寻址由大到小,如下程序所示:
#include<stdio.h>
/*
1. 内存寻址由大到小,优先分配内存地址比较大的字节给变量
2.变量越先定义,内存地址就越大
3.取得变量的地址:&变量名
4.输出地址:%p
5.没有经过初始化的变量,不要直接使用,值未知
*/
int main()
{
//内存寻址由大到小
int a =10;
int b =10;
int c;
// &取地址符
//%p用来输出地址
printf("a的地址是:%p\n",&a );
printf("b的地址是:%p\n",&b );
printf("c的地址是:%p\n",&c );
printf("c的值:%d\n",c );
return0;
}
输出结果为:
a的地址是:0x7fff4fcaac78
b的地址是:0x7fff4fcaac74
c的地址是:0x7fff4fcaac70
c的值:1338682512
7、Xcode使用搜狗输入法时,总是有下划线,不要选定搜狗输入法的英文助手,用Tab键补全,用esc键不补全,如果直接用空格或回车会在字母后产生空格。还有Mac系统dock设置,要想让打开的应用显示,在偏好设置中不要选中将程序最小化应用程序图标,在dock垂直线处右键设置偏好,dock有点像Windows中的桌面快捷键图标。