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

本文介绍了iOS开发中C语言的基础知识,包括浮点数float和double的区别,以及内存寻址的规则。示例代码展示了如何声明和使用double类型,以及内存地址的分配原则,强调了未初始化变量的安全使用问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

   return 0;

}

输出结果为:

a的地址是:0x7fff4fcaac78

b的地址是:0x7fff4fcaac74

c的地址是:0x7fff4fcaac70

c的值:1338682512

7、Xcode使用搜狗输入法时,总是有下划线,不要选定搜狗输入法的英文助手,用Tab键补全,用esc键不补全,如果直接用空格或回车会在字母后产生空格。还有Mac系统dock设置,要想让打开的应用显示,在偏好设置中不要选中将程序最小化应用程序图标,在dock垂直线处右键设置偏好,dock有点像Windows中的桌面快捷键图标。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值