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