现在的位置: 首页 > 综合 > 正文

【OC学习-1】用OC的第一个程序来了解OC

2017年03月22日 ⁄ 综合 ⁄ 共 952字 ⁄ 字号 评论关闭
#import <Fountdation/Foundation.h>
int main(int argc, const * char argv[]){
    @autoreleasepool{
        int a,b;
        int result;
        a = rand()%100;
        b = rand()%100;
        NSLog(@"%d + %d = ",a,b);
        NSLog(@"plz input your result:");
        scanf("%d",&result);
        if(a+b==result){
            NSLog(@"correct!");
        }else{
            NSLog(@"False!");
        }
    }
    return 0;
}
//over

(1)#import是导入文件的做法,和Python里面一样,一般写在开头。而C和C++文件里面是#include。#import比#include的好处是可以避免重复引入文件。

(2)Foundation.h里的.h是头文件的后缀,OC文件的后缀是.m,C文件的后缀是.c,C++文件的后缀是.cc等等。为什么提到C语言和C++?因为OC和它们属于一个家族,很多东西可以兼容使用。

(3)@autoreleasepool是内存自动释放函数,你可以理解成是一种内存管理的机制,至于怎么管理内存的,以后再说。

(4)NSLog()就是一个输出函数,与C里面的printf()和Python里面的print类似。为什么这个函数名这么奇怪呢?我们打开Foundation.h文件可以发现,这个头文件里面其实包括了很多函数,我们初学者一般只是把Foundation.h整个导入进来而不是一个个导入里面的函数,这里面的函数你会发现基本都是以NS为前缀来命名,这是NEXTSTEP的缩写,而NEXTSTEP是乔布斯离开苹果后创建的NeXT演化过来的,所以,情怀呗,就这样约定俗成了。而NSLog()的最大特点是输出的字符串前面要加一个@,好吧,不要问为什么,因为这个语言就是这么规定的。

(5)scanf()就是一个输入函数,和Python的raw_input()函数类似。

(6)//over里的//就是注释标记,多行的用/*   */。

(7)里面变量这些都严格区分大小写,这一点在很多语言都这样。

(8)关于变量,可以用的时候再定义,而不是像C一样都把变量在一开始就定义在最上面。

抱歉!评论已关闭.