第01天OC語(yǔ)言(01):OC的簡(jiǎn)介(附C語(yǔ)言知識(shí)點(diǎn)回顧)

pragma mark C語(yǔ)言 知識(shí)點(diǎn)回顧

/**
 回顧C(jī)語(yǔ)言學(xué)習(xí)的東西
  Mac系統(tǒng)及常用工具
  1. 數(shù)據(jù)類型      int、double、float、long、char
  2. 常量、變量    int 10; int a = 10;
  3. 運(yùn)算符        +、-、*、/、= 、!= 、== 、>= 、<=
  4. 分支結(jié)構(gòu)      if else
  5. 循環(huán)結(jié)構(gòu)      while、do while、for
  6. 函數(shù)         void test(){}
  7. 進(jìn)制         二進(jìn)制:0b010 八進(jìn)制:011 十進(jìn)制:12 十六進(jìn)制:0x15
  8. 一維/多維數(shù)組 一個(gè)班5個(gè)人 int class[5]  一個(gè)班有5個(gè)人,每個(gè)人的名字有3個(gè)字 int class[5][3]
  9. 指針         int num = 10; int *p = # *p = 15; // 間接修改num
 10.結(jié)構(gòu)體        一個(gè)事物有多個(gè)屬性  人:年齡、身高、姓名
                 struct Person
                 {
                 int age;       // 年齡
                 float height;  // 身高
                 char *name     // 姓名
                 };
 
  11.枚舉         一個(gè)類型有多個(gè)值 性別
                 enum Gender
                 {
                    kGenderMale,    // 男    // 默認(rèn)值 0
                    kGenderFemale   // 女    // 默認(rèn)值 1
                 };
 
  12.預(yù)處理指令    文件編譯成0跟1之前的時(shí)候 做的處理。 好處:節(jié)約APP的大小 會(huì)過濾掉一些沒有用的代碼 (一般跟宏結(jié)合使用)
                 #pragma mark - 調(diào)試和發(fā)布階段 Log start
                 #define DEBUG  1   // 0是調(diào)試階段 1是發(fā)布階段
                 
                 // format 是一個(gè)關(guān)鍵字 ...輸入0個(gè)或者多個(gè)東西
                 // define 是一個(gè)宏僅僅做替換 把YHLog(format,...)  替換了printf(format,## __VA_ARGS__)
                 // 本質(zhì)上 還使用printf來輸出內(nèi)容的,只不過是系統(tǒng)幫我們做了一個(gè)替換
                 // 把DEBUG 改成 1 說明 else這個(gè)語(yǔ)句里面沒有值 所以替換成空白
                 #if DEBUG == 0
                 // 調(diào)試階段
                 #define YHLog(format,...) printf(format,## __VA_ARGS__)
                 #else
                 #define YHLog(format,...)
                 
                 #endif
                 #pragma mark 調(diào)試和發(fā)布階段 Log end
 
                 實(shí)際使用
                 #if DEBUG == 0
                 char *name = "lyh";
                 char *pwd = "123456";
                 #else
                 char *name = NULL;
                 char *pwd = NULL;
                 #endif
13.文件操作
 */


pragma mark OC簡(jiǎn)介

pragma mark 概念

pragma mark OC 學(xué)習(xí)流程

/**
OC 是一門面向?qū)ο蟮恼Z(yǔ)言
C 是一門面向過程的語(yǔ)言
*/

OC學(xué)習(xí)流程

/**
 學(xué)習(xí)流程:
 
 1. 面向?qū)ο蟾拍? 2. @propety 與 @synthesize
 3. 類方法 與 實(shí)例方法
 4. self關(guān)鍵字
 5. 封裝、繼承、多態(tài)
 6. 構(gòu)造方法、工廠方法 
 7. 點(diǎn)語(yǔ)法、@selector
 8. category(分類)
 9. protocol(代理)
 10. copy
 11. block(代碼塊、回調(diào))
 12. autoreleasepool(自動(dòng)釋放池)
 13. Foundation(框架)
 14. 常用結(jié)構(gòu)體
 15. KVC、KVO(鍵值對(duì))
 
 */

pragma mark 代碼

/**
 *   main是函數(shù)的名稱,是系統(tǒng)規(guī)定的名稱,系統(tǒng)啟動(dòng)程序就會(huì)調(diào)用名稱叫做main的函數(shù)
 *
 *  @param argc 就是系統(tǒng)傳遞進(jìn)來的參數(shù)個(gè)數(shù) , 默認(rèn)是1
 *  @param argv 就是系統(tǒng)傳遞進(jìn)來的參數(shù)實(shí)際的值, 默認(rèn)是程序的名稱
 *
 *  @return
 */
#import <Foundation/Foundation.h>

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

    printf("%i\n",argc);
    printf("%s\n",argv[0]);

    return 0;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容