黑马程序员技术交流社区

标题: OC学习笔记(一)-我的第一个OC程序 [打印本页]

作者: ay_zhong    时间: 2014-5-8 10:51
标题: OC学习笔记(一)-我的第一个OC程序
我的第一个OC程序

一、  先上代码,程序
运行如图



        
         二、代码解释

    #import <Foundation/Foundation.h>
     这句话会告诉O-C编译器(LLVM Clang)找到并处理头文件Foundation.h,这是一个系统的头文件,因为后续要使用其中定义的类或函数,所以必须导入。#import表示将该文件导入到当前程序中,可以类比Java中的import导包语句。

    接下来是主函数声明:
    int main (int argc, constchar * argv[])
     主函数表示程序从这里开始执行,这在C/Java中都是一致的,只是函数的参数略有不同罢了,其返回值为int型。

    下面进入主函数体部分,第一句是
      @autoreleasepool
     {
     }
      字面含义是自动释放池,也就是说其中的语句会放到自动释放池的语境中执行。自动释放池机制可以在创建新对象时,系统可以有效管理所使用的内容。

     在自动释放池中只有一条语句:
     NSLog(@"Hello World!");
     这是一个函数调用,NSLog函数接受了参数@"Hello World!",这里的@表示字符串类型为NSString,如果不加@,那么就是普通C类型的字符串。NSLog是一个系统函数,它会输出其参数或者参数列表中的内容。

     main
函数中最后一句是return 0,这是主函数声明时需要的返回值,在这里0表示程序正常结束。



作者: ay_zhong    时间: 2014-5-8 10:54
Objective-C for Windows 集成实验环境使用方法不再写了,请参见 Objective-C for Windows 集成实验环境初体验http://bbs.itheima.com/thread-115933-1-1.html
作者: ay_zhong    时间: 2014-5-8 11:04


修改源代码再做一组测试





这里看到的结果是使用\n表示换行,那么得到的输出自然也是带换行的了。



作者: ay_zhong    时间: 2014-5-8 11:19
     以我们的在学习C语言的经验,认识了第一个程序,紧接着就是变量的表示了,那么在OC中,变量的表示方法和C语言都是一致的,看如下的程序:求任意两个整数的和


其中scanf()和C语言的功能是一样的,格式控制也可以和C语言的一样,你可以试一试,OC的,将
scanf("%d%d",&iFirNum,&iSecNum);
修改成
scanf("%i%i",&iFirNum,&iSecNum);
这里就使用了NSLog函数的参数列表输出功能,%d表示此位置输出的是整型,那么后面的参数会按照位置顺序来填充到相应的位置中去。就得到了我们想要的结果。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2