1.0OC语言的简介

一、OC简介
C语言的基础上,增加了一层最小的面向对象语法
完全兼容C语言
可以在OC代码中混入C语言代码,甚至是C++代码
可以使用OC开发Mac OS X平台和iOS平台的应用程序

二、OC语法预览
1.关键字
基本上所有关键字都是以@开头
下面列举一些常见的关键字,看一眼就行了,不用去翻资料查找它们的含义

@interface、@implementation、@end @public、@protected、@private、@selector @try、@catch、@throw、@finally  @protocol、@optional、@required、@[email protected]、@synthesize、@dynamicself、super、id、_cmd、__block、__strong、__weak、

2.字符串以@开头
比如@"Hello"是OC中的字符串,而"Hello"则是C语言中的字符串

其他语法

四、第1个OC程序
1.代码编写
跟C语言一样,OC程序的入口依然是main函数,只不过写到一个.m文件中。比如这里写到一个main.m文件中(文件名可以是中文)
#include <stdio.h>
int main()
{
    printf("第1个OC程序\n");
    return 0;
}

2.终端指令
编译cc –c main.m
链接cc main.o
运行./a.out

五、第2个OC程序
1.代码编写
来点跟C语言不一样的,使用NSLog函数输出内容
#import <Foundation/Foundation.h>
int main()
{
    NSLog(@"第2个OC程序");
    return 0;
}

2.终端指令
编译cc –c main.m
链接cc main.o –framework Foundation
运行./a.out

3.NSLog与printf的区别
NSLog接收OC字符串作为参数,printf接收C语言字符串作为参数
NSLog输出后会自动换行,printf输出后不会自动换行
使用NSLog需要#import <Foundation/Foundation.h>
使用printf需要#include <stdio.h>

4.#import的作用
跟#include一样,用来拷贝某个文件的内容
可以自动防止文件内容被拷贝多次,也就以为着头文件中不用加入下面的预处理指令了
#ifndef     _STDIO_H_
#define    _STDIO_H_
#endif

5.Foundation框架的作用
开发OC、iOS、Mac程序必备的框架
此框架中包含了很多常用的API(应用编程接口)
框架中包含了很多头文件,若想使用整个框架的内容,包含它的主头文件即可
#import <Foundation/Foundation.h>

6.BOOL的使用
BOOL类型的本质
typedef signed char BOOL;
BOOL类型的变量有2种取值:YES、NO
#define YES (BOOL)1
#define NO  (BOOL)0
BOOL的输出(当做整数来用)
NSLog(@"%d %d", YES, NO);

六、第3个OC程序
1.多个.m文件的开发
跟C语言中多个.c文件的开发是一样的
1.0.编写3个文件
main.m
#import "one.h"
int main()
{
    test();
    return 0;
}
one.h
void test();
one.m
#import <Foundation/Foundation.h>
void test()
{
    NSLog(@"调用了test函数");
}

1.1.终端指令
编译:cc –c main.m test.m
链接:cc main.o test.o –framework Foundation
运行:./a.out

2. .m文件和.c文件混用开发
2.0编写3个文件
main.m
#import "one.h"
int main()
{
    test();
    return 0;
}
one.h
void test();
one.c
#include <stdio.h>
void test()
{
    printf("调用了test函数\n");
}

2.1终端指令
编译:cc –c main.m test.m
链接:cc main.o test.o
运行:./a.out
(没有使用Foundation框架的话,就不用-framework Foundation)

时间: 2024-10-09 08:56:42

1.0OC语言的简介的相关文章

2_Shell语言———bash简介

一.初识bash Bash是一种解释型语言,但它也提供了交互式接口,支持变量,因此提供了编程环境,所以可以称bash为程序语言. 解释型语言属于弱类型语言,其特点为: 1.它不强制区分变量类型,即无论存储什么数据,默认均以字符格式(ASCII码)存储. 2.不需要事先声明变量,需要时直接使用,直接赋值: 在弱类型语言中,定义变量通常为: [set] VAR_NAME=Value    //set可以省略 引用变量为: ${VAR_NAME}            //大多数情况下花括号可以省略

Tiny语言编译器简介

1.简介:编译器是将一种语言翻译成另一种语言的程序.编译器将源程序的代码作为输出,从而产生用目标语言编写的等价程序.例如源代码为C/C++等高级语言,那么目标语言就是目标机器的机器代码,也就是可以直接运行的机器代码(各种二进制).下面就是一个编译过程的简单例子: x=2 (高级语言) MOV x,2 (汇编语言) C7 06 0000 0002 (机器代码) 2.相关程序 a.解释程序(interpreter):它会立即执行程序而不是编译完成后在执行,典型的解释程序有Java,Lisp等 b.汇

C语言工具简介

1 自动化测试: 测试代码重要性不言而喻,通过测试的自动化,生活会变得很轻松.几乎所有的程序员也都在使用自动化测试.C语言的测试框架也很多, 比如AceUnit:http://aceunit.sourceforge.net/projects/aceunit 如果你写的是命令行工具,用的是Unix命令行,可以使用shunit2工具,它允许创建shell脚本来测试脚本和命令. http://code.google.com/p/shunit2 2 GCC的优化 gcc可以自动进行很多优化,默认情况下是

Spring表达式语言SpEL简介

Spring3引入了Spring表达式语言(Spring Expression Language,SpEL). SpEL有很多特性,比较常用的包括: 1.使用bean的id来引用bean, 下面这个例子就是将卧室这个bean通过SpEL注入到house这个bean的bedroom属性中. <bean id="bedroom" class="go.derek.Bedroom"/> <bean id="house" class=&q

yaml标记语言的简介

今天遇到yml这个文件,挺懵的.也是百度了一把. 这篇博文不错:http://www.ibm.com/developerworks/cn/xml/x-1103linrr/ 总结一把:yaml这类标记语言用于做服务配置,因为比xml还简单与见解,可读性也很强.很多语言也有实现.

C语言运算符简介

举个例子:     1+2*3-10 '1', '2', '3', '10'称为操作数,'+', '*', '-'称为运算符. 上面的表达式先进行 * 运算,再进行 + 运算和 - 运算,这是因为运算符的优先级不同,* 的优先级高于 + 和 -,所以先进行 * 运算. 进行 - 运算时,是7减10,而不是10减7,这是由运算符的结合性决定的,- 运算符的结合性是从左到右. 运算符不仅具有不同的优先级,还有不同的结合性.在表达式中,各运算量参与运算的先后顺序不仅要遵守运算符优先级别的规定,还要受运

R语言ggplot2 简介

ggplot2是一个绘制可视化图形的R包,汲取了R语言基础绘图系统(graphics) 和l attice包的优点,摒弃了相关的缺点,创造出来的一套独立的绘图系统: ggplot2 有以下几个特点: 1) 图形映射, 自动化的将数据映射到图形上: 2) 图层叠加, 将不同形状的图表视为图层(layer),  可以方便的进行叠加 3)提供了范围控制(scale), 坐标系转换(coord), 分面(facet)等特性: 先看一个最简单的例子,用ggplot2 绘制一副散点图: 代码示例: libr

C语言视频简介

通过学习<C语言基础视频教程>,可以让你对C语言有一个基础的了解,并且会编写一些基础的程序,本次视频主要讲解的内容有: 1. 数字的进制转换 2. 变量.运算符和表达式 3. 流程控制语句 4. 数组 5. 指针 6. 函数 7. 复杂类的确认 8. 字符串 9. 位运算 10. 结构体和枚举 11. 动态内存分配 12. 预处理 13. 文件操作 希望观看此视频能让你的C语言水平得到提升,谢谢您对千锋互联的支持. 第01讲-数字的进制转换(1) 本视频主要讲解进制的概念和含义,比较常用的一些

使用antlr4及java实现snl语言的解释器

对于antlr4的基础使用,请参考我的前一篇文章<用antlr4来实现<按编译原理的思路设计的一个计算器>中的计算器>. 其实我对于antlr4的理解也仅限于那篇文章的范围,但那些内容对于我们实现一个SNL语言已是足够了. SNL语言的简介可以百度百科(http://baike.baidu.com/subview/2298006/5909410.htm)中看到. 简单说来,这是一个非常简单的结构化编程语言,它包含了一个编程语言应该有的最基本的东西,同时基本上不包含其它的所谓先进的元