IOS开发笔记1-C语言笔记

一、我们为什么要学习C语言?

 

iOS开发的核心语言是Objective-C,Objective-C是在C语言的基础加了一层面向对象的语法。为了能够更好地掌握Objective-C,我们可以先学习C语言,然后在C语言的基础上升华到Objective-C。当然,你也可以直接学习Objective-C,只是我个人建议先学习C语言,再学习Objective-C,最后学习iOS开发,这样效果会好一点。

 

二、C语言简史

 

1、C语言于1972年发明,首次使用是用于重写UINX操作系统(UNIX以前是用汇编写的)

2、随着UNIX操作系统的成功,C语言也得到了大幅度地推广,至今还是世界上最流行、使用最广泛的高级程序设计语言之一

3、C语言是一门面向过程的语言,非面向对象的语言

编程语言排行榜 TOP 20 榜单:

 IOS开发笔记1-C语言笔记_第1张图片

三、C语言特点


1.丰富的运算符


计算机的基本功能就是计算,因此一门程序设计语言的计算能力是非常重要的。C语言提供了34种运算符,计算类型及其丰富,其中包括了最基本的加减乘除运算。


2.丰富的数据类型


C语言之所以生命力如何强大,很大一部分是因为它拥有丰富的数据类型。C语言的数据类型有:整型(int)、实型(float)、字符型(char)、数组类型(int [])、指针类型(void *)、结构体类型(struct)、共用体类型(union)等。众多数据类型中,最强大的是指针,通过指针我们可以直接访问内存地址。指针使用得当的话,不仅可以节省代码量,还可以优化内存管理、提高性能。因此,指针是一个非常重要的概念,必须重视。如果你说C语言中除了指针,其他都学得挺好的,那你干脆说你没学过C语言。正因为C语言数据类型丰富,运算能力极强,因此很多数据库都是用C语言编写的,比如DB2、Oracle等。


3.允许直接访问物理地址,对硬件进行操作


由于C语言允许直接访问物理地址,可以直接对硬件进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位(bit)、字节和地址进行操作,而这三者是计算机最基本的工作单元。


4.高效率的目标代码


对比汇编语言,C语言可读性好,易于调试、修改和移植,代码质量与汇编语言相当。


5.可移植性好


在一个环境上用C语言编写的程序,不改动或稍加改动,就可移植到另一个完全不同的环境中运行。

上面说的都算是C语言的优点,不过它肯定是有缺点的:

· 由于C语言是面向过程的,因此它的数据封装性差、安全性低,这就是C语言和其他面向对象语言的区别之一。面向对象语言的特性之一就是数据的封装性

· 语法限制不严格,对变量的类型约束不严格,对数组下标越界不作检查等


四、C语言能做什么?

  1. 由于C语言具有强大的数据处理能力,而且允许直接访问物理地址,直接对硬件操作,因此它适于编写系统软件、图形处理、单片机程序、嵌入式系统开发甚至是用于科研
  2. 很多操作系统的底层都是用C语言写的,比如android
  3.  iOS开发中的核心语言是Objective-C(简称OC),OC是在C语言的基础上加了一层面向对象语法

五、C语言的版本问题


从UNIX操作系统的成功后,C语言得到了广泛地应用,从大型主机到小型微机,都有C语言活跃的身影,也衍生了很多个版本的C语言。长期以往,C语言将可能成为一门有多个变种、松散的语言。一门正式的语言,肯定要有个标准才行,不然就乱套了。为了改变这种局面,1983年美国国家标准局(American National Standards Institute,简称ANSI)成立了一个委员会,开始制定C语言标准的工作。1989年C语言标准被批准,这个版本的C语言标准通常被称为ANSIC


六、C语言语法预览


IOS开发笔记1-C语言笔记_第2张图片


七、UNIX常用命令


IOS开发笔记1-C语言笔记_第3张图片


可以显示当前终端程序的工作路径。~ 代表当前用户的家目录。直接输入pwd就能看到当前目录

列出当前工作路径下的所有的文件与文件夹。直接输入ls显示当前目录下的目录和文件

详细列出当前工作路径下的所有的文件与文件。直接输入ls -l 就是列出当前目录下的目录和文件详细列表

改变工作路径,默认情况下终端的工作路径是当前用户的家目录。例如 cd / 就是切换到根目录

在终端创建文件,例如 touch test.c ,就是在当前目录创建test.c文件


八、教你开发一个简单C语言程序


编写第一个C程序

编写C程序源文件

创建1个文件,这个文件的后缀名必须是.c,然后打开这个文件,在这个文件之中编写我们的C代码就可以了。

注意: C语言是严格区分大小写的.,不能搞错。除了双引号之间的内容,其他地方的代码必须使用英文输入法来输入(因为符号必须为半角符号,否则出错!)

比如我们在终端创建一个test.c文件

在文件里写入

编译C程序源文件

使用编译器将C源代码编译为二进制代码。

命令:cc -c C源文件的全名称,也就是

如果正常的情况下会生成1个.o的文件.,这个文件我们叫做目标文件,目标文件之中,是C文件的二进制。

注意:在编译的时候, 会先去检查C源文件中的代码是否符合C的语法规范,如果符合规范 才会生成.o 目标文件。否则不会生成目标文件.,并且会提示错误。

链接生成的目标文件

生成的目标文件.o 不能直接交给CPU去执行,一个可以被CPU识别并执行的程序 必须还要一些额外的代码,也就是启动代码。

链接:为目标文件添加启动代码.,以让这个程序可以被CPU识别并执行。

命名:cc 目标文件名

一切正常的话 就会生成1个a.out程序 ,这个程序就可以被CPU识别并执行了。

执行C程序

在终端中输入以下命令即可执行我们编写的C程序了。


IOS开发笔记1-C语言笔记_第4张图片


IOS开发笔记1-C语言笔记_第5张图片


IOS开发笔记1-C语言笔记_第6张图片


IOS开发笔记1-C语言笔记_第7张图片


IOS开发笔记1-C语言笔记_第8张图片


你可能感兴趣的:(IOS开发笔记整理,ios,笔记,c)