zoukankan      html  css  js  c++  java
  • IOS基础之 (一) OC基础语法

    一 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

    1 #import <Foundation/Foundation.h>
    2 
    3 int main(int argc, const char * argv[]) {
    4     NSLog(@"Hello World !");
    5     
    6     return 0;
    7 }

       第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(真)为1NO(假)为0

    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[]) {
      
        BOOL b1 = YES;
        BOOL b2 = NO;
        BOOL b3 = 1;
        BOOL b4 = 0;
        
        NSLog(@"b1=%d",b1);
        NSLog(@"b2=%d",b2);
        NSLog(@"b3=%d",b3);
        NSLog(@"b4=%d",b4);
    
        return 0;
    }

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

    2016-02-11 20:54:41.127 T1[1091:66725] b1=1
    2016-02-11 20:54:41.128 T1[1091:66725] b2=0
    2016-02-11 20:54:41.128 T1[1091:66725] b3=1
    2016-02-11 20:54:41.128 T1[1091:66725] b4=0
    Program ended with exit code: 0

    四 练习

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

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

    获得结果如下:

     

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

    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
      //用for 循环打印 乘法口诀表
            for(int i=1; i<=9; i++){
                for (int j=1 ; j <=i ; j++){
                      printf(" %d * %d = %d", i , j , i*j);
                }
                printf("
    ");
            }
            
        }
        return 0;
    }

    获得结果如下:

    五 补充知识

    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
  • 相关阅读:
    [转]对内核函数IoCompleteRequest的分析
    [转]IoCompleteRequest函数源码
    install xcode_3.2.5_and_iOS_sdk_4.2 _final with mac lion10.7.3
    java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut
    滑动导航栏+滚动页面
    Struts2自动添加 table tr 等问题
    eclipse调优
    Oracle 11g导出来的dmp导入到 10g的数据库(IMP00010:不是有效的导出文件,头部验证失败)
    oracle bakup
    ANDROIDT TEST
  • 原文地址:https://www.cnblogs.com/wangshuo1/p/iOS-1.html
Copyright © 2011-2022 走看看