一 OC语法

1.关键字

  基本上所有关键字都是以@开头,比如:

@interface , @implementation, @end, @public, @protected, @private

2.字符串以@开头

  比如 @"hello"是OC中的字符串,而"hello"是C中的字符串。

3.其他语法

1) 基本数据类型:  char , int , float, dobule, BOOL(YES/NO)

2) nil : 相当于C语言中的NULL,也就是0

3) 基本语句 :循环语句( do while, while , for )

条件语句 ( if , if else, switch )

4) 注释 :  // 和 /*  */

5) 屏幕输出:

NSLog(@"Hello");

NSLog(@"age is %d" , 20);

4.OC 程序的开发过程

与C语言类似:

二 第一个OC程序

1 新建一个OC程序 main.m

 #import <Foundation/Foundation.h>

 int main(int argc, const char * argv[]) {
NSLog(@"Hello World !"); return ;
}

  第1行代码 #import 的用途:

1.跟#include一样,拷贝文件的内容。

2.可以自动防止文件的内容被重置拷贝。

3.包含Foundation 框架的主头文件就可以使用整个框架。

2 输入编译指令,编译main.m 文件

打开终端,输入以下命令,然后按回车:

cc -c main.m -framework Foundation

输入指令后,如果没有显示异常,说明编译成功了,会在终端所在目录编译生成main.o,成为"目标文件",文件后缀为".o",目标文件名与源文件名一致。这样main.m文件编译成功为就生成了main.o文件。

3 链接目标代码

  源文件编译成功后,会生成一个.o目标文件,还不能运行。需要组合所有的目标文件,还需要将OC语言的函数库包含进来,才能生成可执行文件。

注意:将所有相关联的.o目标文件,以及OC语言的函数库组合在一起生成可执行文件的过程,称之为"链接"。

  在终端中输入以下命令,如果需要同时链接多个目标文件,这样写:cc one.o two.o three.o -framework Foundation

cc main.o -framework Foundation

  链接成功后会生成一个可执行文件,默认的文件名为"a.out"。

4 运行程序

  在终端中输入以下命令,按回车就可以运行程序了。a.out就是可执行文件的名称。

./a.out

三 第二个OC程序

OC中的BOOL和C语言中的 boolean 是一样的,在O语言中,非0即为真。在OC语言中,YES(真)为,NO(假)为。

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

    BOOL b1 = YES;
BOOL b2 = NO;
BOOL b3 = ;
BOOL b4 = ; NSLog(@"b1=%d",b1);
NSLog(@"b2=%d",b2);
NSLog(@"b3=%d",b3);
NSLog(@"b4=%d",b4); return ;
}

运行代码,得到以下结果:

-- ::41.127 T1[:] b1=
-- ::41.128 T1[:] b2=
-- ::41.128 T1[:] b3=
-- ::41.128 T1[:] b4=
Program ended with exit code:

四 练习

1. 练习1 for循环打印 1-200内不能被3整除的数

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
@autoreleasepool { //for循环打印 1-200内不能被3整除的数
printf("这些数不能被3整除: \n");
for(int i=; i<=; i++){
if( i% != ){
printf(" %d " , i);
}
}
}
return ;
}

获得结果如下:

2.练习2 用for循环打印,乘法口诀表

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
@autoreleasepool {
//用for 循环打印 乘法口诀表
for(int i=; i<=; i++){
for (int j= ; j <=i ; j++){
printf(" %d * %d = %d", i , j , i*j);
}
printf("\n");
} }
return ;
}

获得结果如下:

五 补充知识

1 Foundation框架的位置:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Libray/Frameworks/Foundation.framework/Headers

编译部分参考:
http://www.cnblogs.com/mjios/archive/2013/05/06/3062576.html

IOS基础之 (一) OC基础语法的更多相关文章

  1. [Objective-c 基础 - 2.2] OC弱语法、类方法

    A.OC弱语法 1.在运行的时候才会检查方法的声明和实现 2.没有声明只有实现的方法也能正常运行,只要在调用之前定义即可 3.类的声明必须存在,否则会出现运行时错误   B.类方法 1.是类名调用的方 ...

  2. IOS学习之路--OC的基础知识

    1.项目经验 2.基础问题 3.指南认识 4.解决思路 ios开发三大块: 1.Oc基础 2.CocoaTouch框架 3.Xcode使用 -------------------- CocoaTouc ...

  3. 【OC基础语法考试】

    OC基础语法已经全部学完,但是这些知识只是最基础的,还有很多高级知识,这个可能需要后面慢慢的去学习才能体会到.接下来我会总结前面的OC基础语法,如果大家发现有什么不正确的地方,请指正,小弟是新生,多请 ...

  4. iOS 阶段学习第11天笔记(OC基础知识)

    iOS学习(OC语言)知识点整理 一.OC基础知识 1)#import  用于导入头文件,预处理阶段加载引用,只加载一次. 2)OC 依赖于Foundation框架下的头文件Foundation.h, ...

  5. ios开发之OC基础-类和对象

    本系列的文章主要来自于个人在学习前锋教育-欧阳坚老师的iOS开发教程之OC语言教学视频所做的笔记,边看视频,边记录课程知识点.建议大家先过一遍视频,在看视频的过程中记录知识点关键字,把把握重点,然后再 ...

  6. ios开发之OC基础-oc小程序

    本系列的文章主要来自于个人在学习前锋教育-欧阳坚老师的iOS开发教程之OC语言教学视频所做的笔记,边看视频,边记录课程知识点.建议大家先过一遍视频,在看视频的过程中记录知识点关键字,把把握重点,然后再 ...

  7. ios开发之OC基础-ios开发学习路线图

    本系列的文章主要来自于个人在学习前锋教育-欧阳坚老师的iOS开发教程之OC语言教学视频所做的笔记,边看视频,边记录课程知识点.建议大家先过一遍视频,在看视频的过程中记录知识点关键字,把把握重点,然后再 ...

  8. OC基础 点语法的使用

    OC基础 点语法的使用 1.创建一个Student类继承于NSObject,Student.h文件 #import <Foundation/Foundation.h> @interface ...

  9. iOS开发OC基础:Xcode中常见英文总结,OC常见英文错误

    在开发的过程中难免会遇到很多的错误,可是当看到系统给出的英文时,又不知道是什么意思.所以这篇文章总结了Xcode中常见的一些英文单词及词组,可以帮助初学的人快速了解给出的提示.多练习,就肯定能基本掌握 ...

随机推荐

  1. C语言 指针与字符串

    C语言可以在栈区 or 堆区 or 全局区 存放字符串,字符串不单单是存储在全局区的. //字符串与指针 #include<stdio.h> #include<stdlib.h> ...

  2. IBatis.Net学习笔记五--常用的查询方式

    在项目开发过程中,查询占了很大的一个比重,一个框架的好坏也很多程度上取决于查询的灵活性和效率.在IBatis.Net中提供了方便的数据库查询方式. 在Dao代码部分主要有两种方式:1.查询结果为一个对 ...

  3. 这些HTML、CSS知识点,面试和平时开发都需要 (转)

    http://www.cnblogs.com/w-wanglei/p/5414979.html No1.HTML 1.网页结构 网页结构一般都包含文档声明DOCTYPE,并且在head中的meta应该 ...

  4. 面试准备(四)Java基本数据类型

    Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型再编译时就已经完全确定.由于是statical typed,导致Java语言也是强类型(Strong typed ...

  5. <转载> 你应该更新的Java知识之常用程序库(一)

    原文出处:http://www.blogbus.com/dreamhead-logs/226738702.html 很多人眼中,Java已经是一门垂垂老矣的语言,但并不妨碍Java世界依然在前进.如果 ...

  6. Windows下虚拟机安装Mac OS X ----- VM12安装Mac OS X 10.11

    Windows下虚拟机安装Mac OS X -– VM12安装Mac OS X 10.11 随着Iphone在国内大行其道,越来越多的开发者涌入iOS开发大军 中,但都苦于没有苹果机,本文即将介绍WI ...

  7. 20135220谈愈敏Linux_总结

    Linux_总结 具体博客链接 计算机是如何工作的 操作系统是如何工作的 构造一个简单的Linux系统MenuOS 系统调用(上) 系统调用(下) 进程的描述和创建 可执行程序的装载 进程的切换和系统 ...

  8. Linux基础入门(20135207 王国伊)

    实验一  Linux系统简介 一.实验心得 首个实验是简单介绍了Linux系统的简介,了解Linux系统的历史和发展.使我受益匪浅 实验二  基本概念及操作 一.学习目标 1.实验楼环境介绍 2.常用 ...

  9. 34 Sources for Test Ideas

    We recommend collecting test ideas continuously from a variety of information sources. Consider the ...

  10. 游戏世界之Unity3D的基础认识

    1.写在前面 Unity3D是由Unity Technologies开发的一个让你轻松创建诸如三维视频游戏.建筑可视化.实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏 ...