黑马程序员_iOS开发C语言基础基本语法易错点

时间:2022-08-14 00:27:57

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