Objective-C基础学习笔记(一)-程序整体语法结构

一、Objective-C概述
     1.  Objective-C起源

          Objective-C诞生于 20 世纪 80 年代,由Brad Cox 发明,意在将流行的、可移植的 C 语言与优雅的 Smalltalk 语言结合在一起。Objective-C 是 C             语言的一个扩展集,它以 C 语言为基础。。 

     2. Objective-C用途

         编写iOS操作系统(如:iPhoneiPod touchiPad 等苹果移动终端设备 )应用程序和MacOS X操作系统应用程序的利器。
     3. Objective-C与C语言的关系

        1)Objective-C的内核是C语言的,它在c语言的基础上增加了一层面象对象的语法;

        2)OC完全兼容C语言,可以在OC代码中混入C语言代码,甚至是C++代码;具体例子见下面-简单的OC程序

二、Objective-C基本语法

       1. 关键字:OC基本上所有的关键都是以@开头,如下:

@interface@implementation@end@public@protected@private@selector 这些都是OC的关键字

 2. 字符串: OC字符串也是以@开头,如下:

     @“This is a OC str ”是OC的字符串,而“This is a OC str ”就是C语言中的字符串了。

 3.基本数据类型:char、int、float、double、BOOL基本和C是一样的,

    3.1 关于OC的BOOL类型

     》BOOL类型的本质是使用8位存储,YES定义为1,NO定义为0,大于1不为YES,跟标准C不同

                   typedef signed char BOOL;

                   #define YES (BOOL)1

                   #define NO  (BOOL) 0

             BOOL类型的输出应该当作整形使用例如:

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

             3.2  OC的nil类型:相当C语言的NULL类型,值为0;

   4. 基本语句:

    》循环:for 、while 、do while 

    》选择 :if 、if-else、 swich-case

  5.屏幕输出;NSLog相当于printf() ;

    NSLog(@"Hello OC %d",YES); 

  6.文件扩展名与注释

   》.h     OC头文件
  》.m     OC源文件


三 .Objective-C程序体验

   1.简单的OC程序;

   功能:向屏幕输出一个字符串:Hello OC

#import <Foundation/Foundation.h>
int main()
{
    NSLog(@"Hello OC ");
    return 0;
}

运行结果:

nikodeimac:o1 niko$ ./a.out 

2015-03-15 13:27:12.814 a.out[521:33569] Hello OC haha

 下面分别对这个OC程序做一个说明: 

1. 程序入口:

    跟C语言一样,OC程序的入口依然是main函数,只不过写到一个.m文件中。

2. 头文件声明:#import 和C语言的#include 功能一样-拷贝某个文件的内容,但是比include强大的地方有

     可以自动防止文件内容被拷贝多次,之前的C中为了防止有文件被引用多次通常会加入以下代码

     也就以为着头文件中不用加入下面的预处理指令了:

 #ifndef      _XXX_H_
 #define      _XXX_H_
 #endif
      3. 屏幕输出函数-- NSLog与printf的区别

 1》NSLog接收OC字符串作为参数即@" "形势的字符串而printf接收C的字符串作为参数即" "这种形势的。

 2》NSLog输出后会自动换行,而printf输出后不会自动换行。

 3》使用NSLog需要包含#import<Foundation/Foundation.h>头文件,使用printf需要包含stdio.h头文件。

4. Foundation框架的作用如下;

1》开发OC、iOS、Mac程序必备的框架此框架中包含了很多常用的API(应用编程接口)

2》 框架中包含了很多头文件,若想使用整个框架的内容,包含它的主头文件即可 如下:

       #import <Foundation/Foundation.h>

四. 多个Objective-C源文件的编译、链接、运行的方法

    下面就以一个简单的程序说明验证:

    首先创建一个C源文件test.m,里面只有一个函数test,打印一句话,

test.m
#import <Foundation/Foundation.h>
void test()
{
   NSLog(@"调用了test.m 中的test函数 ");
}
   
test.h
void test();

在main.m 中调用test.m中的test函数

#import "test.h"
int main()
{
    /* 调用另一个源文件的test 函数 */
    test();
    return 0;
}

 编译链接运行:

nikodeimac:o2 niko$ cc test.m main.m -framework Foundation

nikodeimac:o2 niko$ ./a.out 

2015-03-15 14:51:15.760 a.out[572:48618] 调用了test.m 中的test函数 

从以上例子可以看出这和C语言的多文件开发是一样的。


     

    



          




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值