OC简介及基本语法(一)

1.什么是OC?

        Objective-C简称Obj-C或者OC,Objective的意思就是面向对象的。OC其实就是在C语言的基础之上,封装了一层面向对象的语法,他并不是一门全新的编程语言。OC是Mac OS X系统和iOS系统的主要开发编程语言。C程序的源文件的后缀名为.c,OC程序的源文件是后缀名为.m,m就是message的意思。因为OC是完全兼容C语言的,所以在.m文件之中是可以写任意的C代码。并且OC中main函数仍然是OC程序的入口,作用和C语言中的是一样的。

(1).#import指令

        用法和#include指令的用法相同。并且#import在包含文件的时候会先判断这个文件是否已经被包含,如果没有被包含就包含,如果已经被包含,就不再包含。C语言中#include一样,用来拷贝某个文件的内容,#import可以自动防止文件内容被拷贝多次,也就意味着头文件中不用加入相应的预处理指令。

(2).Foundation框架

        苹果或开源第三方把一些功能模块封装在一个一个类中,给大家使用。这些类的集合就是框架。相当于一个工具箱。

        在编写第一个OC程序时用到了OC的输出函数NSLog,但调用NSLog需要包含Foundation框架,OC中一般使用#import <Foundation/Foundation.h>来包含Foundation框架,每个框架都有自己的主头文件:即最主要的头文件。主头文件名字一般跟框架名称一样,包含了框架中的所有其他头文件,Foundation框架的主头文件名称就是Foundation.h,只需要包含Foundation框架的主头文件,就可以使用整个框架的东西。

#import <Foundation/Foundation.h>

//OC程序的入口:main函数

int main()

{

  //printf("第一个OC程序\n");//OC完全兼容C语言程序   

  NSLog(@"第一个OC程序"); //NSLog输出内容会自动换行

  return 0;

}

(3).NSLog与printf的区别

NSLog接收OC字符串作为参数,printf接收C语言字符串作为参数

NSLog输出后会自动换行,printf输出后不会自动换行

使用NSLog需要#import <Foundation/Foundation.h>

使用printf需要#include <stdio.h>

NSLog输出完毕信息之后会默认加一个\n,如果我们手动加了一个\n,NSLog的自动换行就会失效。

在输出信息的同时还会输出一些与程序有关的其他信息(系统时间、程序名、进程ID、线程ID)。

NSLog函数的字符串参数前面必须要加一个@符号,这是OC里的字符串格式。

NSLog可以使用%@格式控制符输出对象,而printf不能输出对象。

NSLog函数的第一个参数是NSString类型的指针,所以必须给一个OC字符串。

(4).OC中的字符串

C语言使用字符数组和字符指针的方式来存储字符串,OC中专门设计了一个新的数据类型(NSString)来保存字符串。OC中的字符串常量必须加一个@前缀,写在双引号外面,如:@"Nstring"。OC的字符串常量使用NSString类型的指针变量来保存地址.NSString *str = @"Nstring".

(5).BOOL的使用

BOOL类型的本质 typedef signed char BOOL;

BOOL类型的变量有2种取值:YES、NO

#define YES (BOOL)1

#define NO (BOOL)0

BOOL的输出(当做整数来用)

NSLog(@"%d %d", YES, NO);

(6).OC的编译

    OC程序编译的是.m,.mm文件,.o是目标文件;链接生成.out文件。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大王算法

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值