黑马程序员——OC基础:了解OC和基础语法

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

一、了解OC

1、第一个OC程序

#include <stdio.h>
int main()//main函数
{
    printf("第1个OC程序\n");
    return 0;
}
 

总结:由此可见,OC完全兼容c语言

2、第二个OC程序

#import <Foundation/Foundation.h>// 跟#include一样,用来拷贝某个文件的内容

int main()

    NSLog(@"第2个OC程序");//跟printf一样,输出指令

    return 0;

}

 
总结:1)相同点:NSLog跟printf一样都是输出指令</span>
      2)不同点: NSLog输出后会自动换行,printf输出后不会自动换行;
                  使用NSLog需要#import<Foundation/Foundation.h>,而使用printf需要#include <stdio.h>;
                  NSLog后面的输出内容()内的引号前需要加@,printf不需要添加@。
3、第三个OC程序

//多个.m文件的开发

// main.m文件内代码

#import "one.h"int main()

     test(); return 0;

}

 

// one.h文件内的代码

void test();

 

// one.m文件内的代码

#import <Foundation/Foundation.h>

void test()

 NSLog(@"调用了test函数);

}

 总结:跟c语言的多文件开发相同,在main.m内需要调用one.m的头文件one.h(声明了test())。 

4、第四个OC程序

// .m文件和 .c的混合开发

//main.m内的代码

#import "one.h"

int main()

 test ();

 return 0;

}

// one.h内的代码

void test();

//one.c内的代码

#include <stdio.h>

 void test()

 printf("调用了test函数\n");

}

 

总结:.m文件的多文件开发不仅只能多个.m开发,还可以和.c一起混合开发,体现了OC对c语言的兼容性;

            如果运用到Foundation框架内的内容必须添加#import <Foundation/Foundation.h>,没有运用到则不必添加。


二、基础语法
1、 关键字
基本上所有关键字都是以@开头,只有及少数不是。
2、字符串  
字符串以@开头,比如@"Hello"是OC中的字符串,而"Hello"则是C语言中的字符串
3、多一个BOOL型数据类型

;#import<Foundation/Foundation.h>

int main()

 BOOL b = YES;

 BOOL b1 = NO; 

 BOOL b2 = 1;

 BOOL b3 = 0; 

 NSLog(@"%d",b);

 return 0;

}

 
总结: BOOL类型的本质:
        typedef signed char BOOL
       BOOL类型的变量有2种取值:YES、NO;
        #define YES (BOOL)</span>
        #define NO  (BOOL)</span>
       BOOL的输出(当做整数来用</span>
        NSLog(@"%d%d", YES,NO);</span>
 
 
收获心得:初步认识了OC,既完全兼容,又从简单程序中学习了一些与c语言不相同的基础语法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值