黑马程序员——OC与C语言的差异学习

黑马程序员——Objective-C语言知识整理——Objective-C语言基础知识总结 Objective-C语言基础知识以及与C语言的差异 阅读详情

------- android培训、java培训、iOS培训、.Net培训、期待与您交流! ----------

差异性(一)

1、源文件对比

C语言中常见的文件:.c源文件  .o目标文件   .out可执行文件   .h头文件

OC中常见的文件有两种:

.m源文件:类的实现文件,参与编译的文件,用来实现类中声明的方法)

.h头文件:包含方法、属性的声明

2、基本语法对比

1)数据类型对比



对比多出来的部分:
BOOL:字面常量值是YES或者NO
NSObject *:OC中的对象类型
id:动态对象类型,万能指针
SEL:选择器数据类型
block:代码块数据类型

2)变量的定义对比


注意:(1)C语言的关键字都可以在OC源程序中使用
           (2)OC新增的关键字在使用时,注意部分关键字以"@"开头

3)流程控制语句对比

C语言中:(1)if else (2)switch (3)while (4)do while (5)for
OC中新增:增强型for循环,可以快速遍历数组、字典等集合
NSArray *arr=@[@"one",@"two",@"three"];
 
for(NSString *str in arr){
 
     NSLog(@"%@",str);
       
}

4)函数(方法)定义和声明对比

C语言中函数的声明和实现
(1)函数声明:
int sum(int a,int b);

(2)函数定义:
int sum(int a,int b){

     return a+b;

}
OC语言中函数习惯称之为“方法”
(1)方法声明:
-(int)sum:(int) a and:(int) b;

(2)方法定义:
-(int)sum:(int) a and:(int )b{
     
     return a+b; 

}

差异性(二)

1、OC新增的数据类型介绍

逻辑类:
(1)Boolean

Boolean 类型指的是用于存储真值和假值的变量,一般用于程序流程控制 。

Boolean 类型数据允许取值 true 或 false ,也可以是0或非0的整数替代 true 和 false  

Boolean flag = true;
if(flag){
 
     NSLog(@"真 %d",flag);
}else{
 
     NSLog(@"假 %d",flag);
}
(2)BOOL
存放逻辑值的另一种方法,取值为YES或者NO
BOOL flag2 = YES;
if(flag2){
 
       NSLog(@"真 %d",flag);
}else{
 
       NSLog(@"假 %d",flag);
}

2、OC中的新增异常捕捉方法

@try...@catch...@finally
格式:
@try {
     //如果有异常
        1/0
       < #statements#>
      ......
}
     @catch (NSException *exception) { 
     //捕捉最具体的异常类型
        < #handler#>
}
     @catch (NSException *ne) { 
     //捕获一个比较重要的异常类型。	 
}
     @catch (id ue) { //再次掷出捕获的异常。
}
     @finally { //不管有没有异常finally内的代码都会执行。
       < #statements#>
     NSLog(@"@",exception);//增加这句可以打印错误原因
}
这是OC中的异常捕捉机制,代码有可能抛出的异常是封闭在一个@ try块。 @catch()块包含为@ try块抛出的异常处理逻辑。一个@ finally块包含代码必须执行是否引发异常与否。可以通过使用@throw指令抛出一个异常,这基本上是一个对Objective – C对象的指针。然后使用NSException对象的指针打印出相关的错误原因。


黑马程序员 C语言提高课程配套课件 黑马程序员 C语言提高课程配套课件 黑马程序员 C语言提高课程配套课件 立即下载

相关推荐

自动化学报Ctex+texstudio配置方法

自动化学报Latex的模板win10使用方法(CTEX+texstudio)

zxy15924462502的博客 7371

黑马程序员C语言提高2017

八天进度安排 第一天: 概述(学习要求,学习标准) 数据类型和变量 内存四区(栈、堆、全局、代码区) 第二天: 指针强化 字符串基本操作 字符串一级指针内存模型图 字符串做函数参数 第三天 二级指针的输入输出模型 二级指针输入的三种内存模型 多级指针的使用 第四天: 一维数组、二维数组 数组类型、数组指针类型、数组指针类型变量 多维数组 第五天: 结构体的使用 第六天: 文件读写操作 配置文件的读写案例(自定义接口) 文件的加密和解密案例(使用别人写好的接口) 第七天: 单项链表的

duwei的专栏 507

SAP 屏幕增强:客户商主数据屏幕增强(KNA1、KNB1、KNVV)

本文介绍了SAP系统中针对客户主数据(KNA1、KNB1、KNVV)进行屏幕增强的具体实现方法。主要内容包括:1)在SPRO配置中创建新条目;2)通过SE80创建函数组和程序(LZKNA1TOP等);3)设置子屏幕9001并添加自定义结构字段;4)利用BADI(CUSTOMER_ADD_DATA等)实现数据交互逻辑。文章分别详细说明了针对客户主数据的一般数据(KNA1)、公司代码数据(KNB1)和销售数据(KNVV)三类不同数据的增强配置步骤,包括函数模块创建、屏幕设置和BADI方法调用等关键技术点。

SAP ABAP开发技能记录分享 1616

OC与C语言的一些区别

    - Foundation.h   (1)我们称之为主头文件, 主头文件中又拷贝了该工具箱中所有工具的头文件, 我们只需要导入主头文件就可以使用该工具箱中所有的工具, 避免了每次使用都要导入一个对应的头文件   (2)工具箱的地址: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer...

Ring 1618

学生党投稿Applied Soft Computing:从导师账号登录到通讯作者设置的全流程解惑

本文详细解析了学生投稿Applied Soft Computing期刊的全流程,重点介绍了导师账号登录、通讯作者设置、作者排序调整以及开放获取费用等关键环节的避坑技巧。针对LaTeX稿件处理和财务选项选择提供了实用建议,帮助学生顺利完成SCI期刊投稿。

weixin_30352191的博客 211

Docker 与容器技术的未来:从 OCI 标准到 eBPF 的演进

OCI 的核心目标是创建一个开放的、厂商中立的容器技术标准。这意味着,只要一个容器镜像符合 OCI 镜像格式规范,它就可以在任何符合 OCI 运行时规范的容器运行时上运行。eBPF 是一种革命性的技术,它允许在 Linux 内核中安全地运行沙盒程序,而无需修改内核源代码或加载内核模块。这些程序可以注册到内核中的各种事件点(如网络包到达、系统调用、函数调用/返回),并在事件发生时执行自定义逻辑。核心思想是:在不将数据复制到用户空间的情况下,程序可以直接在内核中处理数据,极大地提高了效率和性能。

专栏 1383

黑马程序员-C语言与OC的差异

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- IOS开发中常用的有OC和swift,其中OC是可以兼容C语言的,所以通过比较C与OC的差异,可以帮助我们更好的去学习OC语言。 区别: 1.文件后缀的差异 C语言中文件的后缀有.c(源文件) .o(目标文件) .out(可执行文件) .h(头文件)。 OC中的后缀有.c(C语言源文件

CRUD程序员的博客 797

【通俗易懂】Windows系统安装TensorRT

NVIDIA TensorRT是一个由NVIDIA公司开发的用于深度学习推理的高性能SDK。它专门设计用于在NVIDIA GPU上进行高效的神经网络推理,能够大幅度提升深度学习模型的推理速度和效率。TensorRT的主要特点包括:模型优化:TensorRT通过层融合、精度校准、动态形状等技术优化模型,减少推理时的计算量和内存占用。多精度推理:支持多种精度推理,包括FP32、FP16、INT8等,以平衡性能和精度。

王尼莫的博客 1587

黑马程序员---OC基础---OC与C的差异

------- android培训、java培训、IOS培训期待与您交流! ---------- 1、源文件的对比 C语言中:我们能够遇到的文件后缀有: .c:C语言的源文件。 .o:C语言编译后的目标文件。 .out:可执行文件。 .h:头文件。 OC语言中:我们能遇到的文件后缀有:(常见的是.m和.h) .h:头文件。 .c:C语言的源文件。 .cpp/.cc:C++语

shmily3945的博客 986

2025.05.30【转录组】|Ribo-seq数据流程详解(一 质量控制)

本文详细介绍了Ribo-seq数据的质控分析流程,重点讲解了使用fastp进行原始数据质控的关键步骤和参数设置。作者通过Snakemake自动化流程示例,展示了如何去除接头序列、过滤低质量reads、生成质控报告等操作。文章强调高质量的Ribo-seq数据对转录后调控和翻译动态研究的重要性,并提供了兼顾数据质量和下游分析需求的参数配置建议。该流程有助于研究人员规范高效地完成Ribo-seq数据质控,为后续分析提供可靠数据基础。

784

学Simulink--基于电力电子变换器的建模与仿真实例:LLC谐振变换器在高频AC-DC转换中的建模

本文详细介绍了使用Simulink+Simscape Electrical对LLC谐振变换器进行建模与仿真的完整流程。LLC谐振变换器因其高效率、低噪声的特点,广泛应用于高频AC-DC转换场景。文章从背景原理出发,逐步讲解系统结构设计、建模步骤(包括AC源、整流器、LLC变换器、负载等模块搭建)、控制策略实现(固定频率/变频/PID控制)和仿真设置。通过分析仿真结果的关键指标,提出参数整定和算法优化建议。该建模方法为电力电子设计人员提供了实用的仿真工具,有助于优化LLC变换器性能,缩短开发周期。

xiaoheshang_123的博客 298

黑马程序员——C/OC—OC对比C语言的差异化

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——— OC对比C语言的差异化 1、源文件对比 OC中常见的文件有两种:.h和.m的文件 2、基本语法对比 1)数据类型对比学习 2)变量的定义对比 3)流程控制语句对比 1)if else 2)switch 3)while

liuming_xing_cool的博客 741

多模态对齐方案

本文中我们介绍了 13 中常见的大型多模态模型(Large Multimodal Models, LMM),包括 BLIP-2,LLaVA、MiniGPT、Qwen-VL 以及 Ferret 等。最全 LMM 模型结构(13种)综述。单层linear投影、两层mlp。

liguandong 2082

黑马程序员——OC视频学习过程6

-----------android培训、java培训、java学习型技术博客、期待与您交流!------------  视频16: 1、为什么要引入import import引入的头文件,可以防止重复包含。 include它是使用预处理指令防止重复包含,如果没有写预处理指令,则无法防止重复包含问题。   import和@class的区别 是什么意思? 头文件,这个稳健

woxingwosu77的博客 496

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

黑马程序员——oc和c的差异

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 1.文件的差异 2.数据类型的差异 (1)c语言中常见的数据类型如下: (2)oc中常见的数据类型如下: 几种数据类型的介绍: Boolean类型 作用:用来存放逻辑值 (1、真(非0)    2、假(0))              用来做判断,一般

zlc_163的博客 333

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

黑马程序员——iOS核心基础(15-16天)-黑马程序员-专题视频课程

C语言基础15-16天。其中包括通讯录项目实战。

heima_cxy的博客 317

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

黑马程序员--oc和c的差异

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 1.源文件对比 1)c语言中的文件后缀为  .c .o .out .h 2)oc语言中常用的为   .h 头文件,头文件包换方法,属性声明。                                       .m oc源文件,类的实现文件,参与编译的文件,用来实现类中声明的

xiaozhaiyuhao的博客 366

黑马程序员——OC语言基础——与C的差异性

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 今天开始复习OC部分的基础知识,大概的总结了几个比较常用的与C的差异。

Elors的博客 902

黑马程序员 oc与c的区别,联系

-----------黑马程序员 IOS培训、Android培训、Java培训、期待与您交流---------------- 1.文件的扩展名的区别 1>c语言源文件的扩展名是.c,而oc的扩展名是.m 2>c语言经过编译之后得到的目标模块扩展名是.obj,而oc编译之后是.o 3>c语言目标程序与其他目标程序和库函数经过连接得到可执行文件的...

weixin_30352645的博客 131

黑马程序员——OC语言基础---类和对象

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------ 一、NSLog函数使用方法 1、NSLog的介绍  NSLog是cocoa的框架中提供的一个方法  1、NSLog用法:  NSLog(@"this is a test"); //打印一个字符串 NSString *str = @"hello itcast!"; NSLog(@"

lhp_heima的博客 578

黑马程序员-OC语言Block

1.作用: Block用来保存一段代码,方便程序随时调用,标志为^。 定义Block变量:  void (^名称)(形参 ) = ^{ } eg: int (^myblock)(int,int) = ^(int a,int b){ return a+b; }; 利用block调用block内部代码:myblock(); (

wlwl363的专栏 479

黑马程序员---OC基础---OC简介、OC与C的差异、类和对象与方法

黑马程序员---OC基础---OC简介、OC与C的差异、类和对象与方法

Josh Pell的博客 977

黑马程序员--Object-C与C的大致比较

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- Object-C是扩充C的面向对象编程语言,下面总结下OC的一些知识点。 使用工具:Xcode5.1.1 OC是C语言的扩充,完全兼容C语言,甚至可以兼容C++(编写C++时应该改扩展名为.mm) 编写程序及运行的步骤与C语言相同: 1、编写程序(编写的文件扩展

昨日畅想的专栏 1365

黑马OC听课笔记(第一天)

视频链接:iOS开发基础班+就业班(100天完整版)之基础班2:Objective-C学习(10天) 本OC教程学习路线图 Objective-C概述 OC介绍及发展背景 Objective-C简称Obj-C或者OC,关于OC的更多内容可以参见百度百科的介绍:Objective-C OC对比C语言的差异化 <1>在C的基础上增加了面向对象的语法; <2>将C中复杂繁琐的内容进行了很好地封装,更便于开发人员编码; <3>OC完全兼容C语言,但在C中不能编写O

科科然的博客 645

黑马程序员--学习OC中类和对象

NSLog函数NSLog是Cocoa的框架中提供的一个方法 NSLogd定义在NSOBjCRuntime.h中NSLog和Printf的区别 1.NSLog 会自动换行,printf不会自动换行 2.NSLog 会自动输出时间等项目信息,printf不会输出调试信息 3.NSLog 函数的参数是一个NSString对象,printf是一个字符串常量指针NSLog输出字符串:

wy911011的博客 425

黑马程序员——OC学习——基础语法一

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 1. import和include的作用和区别: 作用:import和include都是引入头文件,并且防止重复包含 区别:include是使用与处理指令防止重复包含,如果没有或不小心删除了预处理指令,则无法防止重复包含 2. Foundation/Foundation.h是什么

Susie_CC的博客 544
上一篇: 黑马程序员——C语言笔记之结构体以及枚举
下一篇: 黑马程序员——OC笔记之类和对象
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值