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中的桌面快捷键图标。
|