什么是编程语言C语言,什么是oc语言,oc语言是c语言吗?

作为一个ObjecTIve-C的coder,我总能听到一部分人在这门语言上抱怨有很多问题。他们总在想快速学习这门语言来写一个App出来,但他们也总是联想到ObjecTIve-C看上去实在太难了或者在想这些语法符号都是神马玩意?不错,他们问得非常好,所以本人也解释一下为什么很多程序员相比较学习Ruby或者Java很容易,但在决定开发iOS或者OS X应用时会那么犹豫。

什么是oc语言

语法:

首先我们谈谈神马叫做编程语言,编程语言是一种让人们能读懂并且能够展现程序的执行行为的语言,包括语法(正确的表达式以及状态机的使用规则)以及语义(如何去组织这些表达式以及状态机以一种有意义的方式去完成我们的目标)

大部分编程语言都是基于C语法风格的,也就是我们常说的点语法,依靠小数点符号来调用方法或者获取类的成员(当然了,在C语言中类被替代为结构体)。它们通常都是自己实现类的定义(注意在这里Java与C#和C++有稍微一点不一样),但无论如何这些语言的具体细节都是一样的。当我们接触一个新的编程语言时,我们当然很乐意看到新语言的语法是我们似曾相识的。毕竟大部分程序员都了解C语言的语法。

然而ObjecTIve-C压根就不是C语法风格的编程语言。它与我们熟悉的语言语法区别太大以至于大部分程序员根本看不懂这些ObjecTIve-C代码是神马东西。

甚至其他一些像Python或者Ruby这样的“奇怪”的语言都能让人看个大概出来,毕竟Python与Ruby至少还是点语法风格的,使用点语法来调用方法以及获取类的成员。相反它们缺乏分支结构并不会长时间影响程序员的理解,毕竟这两种语言也有自己的方式来完成同样的目标。

oc语言是c语言吗?

C语言是基础语言,可以用于写底层代码,要想学好需要长时间的累计经验;OC简单来说就是C语言的封装版,比C用起来更方便,而且更规范。OC是专门开发苹果IOS程序的,但是在实际开发中会用到C语言的变成。现在IOS开发的程序员好多都在学习Swift,类似于js变成,效率比oc高。

C语言是面向过程的编程语言,而OC则是面向对象的编程语言。面向对象:打个比方,就是你做一次菜,让老婆做个菜,吃饭,这就是面向对象,效率高面向过程,就是每一个细节:比如你要先把或开到合适的位置。然后还要洗菜 ,等油热了,才能开始炒菜,然后调料,。。。,起锅,到碗里,吃饭。。。。 面向对象编程的代码更容易维护。它把具体的操作细节封装在类里,用的时候创建个对象,一顿调用方法,搞定!(当然类的实现方法还是需要自己写,面向对象只是一种编程思想。)OC继承、或者说是拓展于C语言,OC里可以直接写C语言的代码,这是OC的向下兼容。

50ea48746a73953473f634986b20e083.png

OC于C语言的头文件引入方式的不同:OC #import,C语言 #include在Xcode老版本创建OC项目时候选择的是 “Foundation” 项目新版本之后创建OC项目时候选择的是 “Objective-C” OC项目的头文件: #importFoundation里面包含了很多OC的库文件引用为什么要使用improt?include和import都是引入头文件import引入头文件可以防止重复include他是用预处理指令防止重复包含,如果没有写预处理指令,则无法防止重复包含问题。OC的源文件扩展名是:.mC语言的源文件扩展名是:.c头文件都是.h文件OC的数据类型:

0ddd6c15a64cbff692131e1a2d539eb8.png

3f88ab6835f25c0fbcf3a7be5b462d08.png

C语言与OC关键字对比:OC的关键字很多都带着“@”符号!

d1940caaf01a1fd9ad1e4f7d7c9236af.png

OC比C语言拓展了一个for循环用法:OC中没有新增加流程控制,OC提供一种增强型for循环:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值