【iOS開發基礎】【C語言】01,ios開發01

來源:互聯網
上載者:User

【iOS開發基礎】【C語言】01,ios開發01

   

一、關鍵字

  C語言提供的有特殊含義的符號,共32個。

  一般在Xcode中關鍵字全部顯示紫褐色,關鍵字全部都為小寫。如int、return等。

二、標識符

  標識符是程式員在程式中自訂的一些符號和名稱。關鍵字是C語言預設提供的,標識符是程式員自訂的。如函數的名稱等,用來區分各種事務。

  命名規則:

  •  只能由26個小寫字母,0-9的數字以及底線_組成。
  •  嚴格區分大小寫。
  •  不能以數字開頭。
  •  不可以使用關鍵字作為標識符。

  命名規範:

  (1)盡量起有意義的名稱。

  (2)多個單詞可以使用駝峰標識(第二個單詞開始的首字母大寫)或者使用底線串連。

三、注釋

  (1)注釋用以解釋代碼的含義,提高程式的可讀性,注釋掉的代碼不會參與編譯,在開發工具中注釋一般是豆沙綠色。

  (2)注釋的符號

    單行注釋   //

    多行注釋   /*     */

  (3)注釋的作用:檢查代碼;排錯。

  (4)注釋的嵌套

    ①. 單行注釋可以嵌套單行注釋,多行注釋

    ②. 多行注釋可以嵌套單行注釋

    ③. 多行注釋不可以嵌套多行注釋

  (5)注意:printf("//abc");這裡的//在雙引號內是字串的一部分而非注釋。

四、資料

  圖片文字等都是資料,在電腦中以0和1儲存。

  (一)分類

    資料分為待用資料和動態資料。

    ①. 待用資料:一些永久性的資料,一般儲存在硬碟中,一般以檔案的形式儲存在硬碟上,電腦重啟後依然存在。只要不主動刪除或者硬碟沒壞資料永遠都在。

    ②. 動態資料:程式運行過程中,動態產生的的臨時資料,一般儲存在記憶體中,記憶體的儲存空間一般較小,電腦關閉後這些資料就會被清除。軟體或者電腦關閉則這些臨時資料會被清除。

    ③. 待用資料和動態資料可以轉換。

    ④. 注意:為什麼不把動態資料存放到硬碟?因為記憶體的訪問速度比硬碟快N倍。軟體安裝在硬碟,運行時載入到記憶體中。程式員應該更加關心記憶體資料。

  (二)資料大小

    ①. 所有的資料都是由0和1組成的。

    ②. 資料都有大小,待用資料占硬碟空間,動態資料占記憶體空間。

    ③. 資料越大,包含的0和1就越多,

    ④. 儲存資料的單位是位元位和位元組。一個1或者0就是一個位元位,即1bit。

    ⑤. 電腦中,以位元組為單位儲存資料。1位元組=8位元位(1Byte=8bit)。

    ⑥.  1 KB = 1024 B,1 MB = 1024 KB,1 GB = 1024 MB,1 TB = 1024 GB

  (三)C語言中的資料類型

    1.基礎資料型別 (Elementary Data Type)

      1) 整型 (int   %d)

      2) 字元型 (char  %c)

      3) 浮點型 %d

        ①. 單精確度浮點型(float)

        ②. 雙精確度浮點型(double)

    2.指標類型 void *

    3.空類型   void

 

    4.構造類型

      1) 數組  a[]

      2) 結構體 struct

      3) 枚舉   enum

      4) 共用體 union

    注意:C語言中沒有布爾類型,一般使用0和1表示。

 五、常量

  (一)定義

    常量,表示一些固定的資料

  (二)分類 

    ①. 整型常量    如6、27、109、256、-10、0、-289

      ②. 浮點型常量  如5.43、-2.3、0.0、5.43f、-2.3f、0.0f

    ③. 字元常量    如'6'、'a'、'F'、'+'、'$'(不能是中文如‘男’)

    ④. 字串常量  如"6"、"男"、"哇哈哈"、"abcd"、"my_car4"

六、變數

  (一)定義   

    如果一個資料的值是不確定的,或者經常需要改變,則用變數來表示。

  (二)定義變數

    目的:使用變數前必須先進行定義。在記憶體中分配一Block Storage空間給變數,方便以後儲存資料。如果定義了多個變數,則為多個變數分別分配不同的儲存空間。

    格式:變數類型 變數名;

    舉例:int a;char c;int num1,num2;

    注意:變數名屬於標識符,需要符合標識符的命名規範。

    記住:只要是不確定的資料就應該定義變數來進行儲存。在64位編譯器下,int類型佔4個位元組,共4*8=32bit,char類型佔1個位元組。

    問:為什麼定義的變數有很多的類型?

    答:不同類型的變數佔用不同大小的儲存空間,因為記憶體極其有限,分配適當的空間來儲存它們可以節省空間的。

  (三)變數的使用

    初始化:1.int a;a=10;2.int a=10;

    修改:可以修改變數的值,多次賦值。每次賦值都會覆蓋原來的值

    輸出:使用預留位置輸出變數。各種類型的預留位置如下:

      int   %d或者%i

      float /double %f(預設情況下輸出6位,可以使用.2f來控制)

      long  %ld

      long long  %lld

      char  %c

      字串 %s

      unsigned long  %zd

  (四)變數的記憶體分析

    1.位元組和地址 

      ①.記憶體以“位元組為單位”,電腦中通常以十六進位(0x)表示地址

        

      ②.不同類型佔用的位元組不一樣,資料越大,所需的位元組數越多

    2.變數的儲存   

      ①.所佔用位元組數跟類型有關,也跟編譯器環境有關

        

      ②.變數執行個體

        int b = 10;

        int a = 20;

        記憶體由大到小定址,優先分配記憶體位址較大的位元組給變數。b的記憶體位址比a大

        每個變數都有地址:第一個位元組的地址就是變數的地址

      ③.查看記憶體位址:

        int a;

        printf("a的地址是:%p\n", &a);

  (五)變數使用注意

    變數的範圍:從變數定義的那一行開始,直到代碼塊{}結束。代碼塊{}可以用來提高效能,即時回收不再使用的變數。

    return:退出函數,清除記憶體中的資料。

    建議使用矩形方框和excel來分析記憶體。

  (六)習題

    練習:交換整型變數a、b的值,用多種方式實現:

    方法一:使用中間變數

 1 #include<stdio.h> 2 //交換兩個變數的值 3 4 int main() 5  6 { 7  8     int a = 10; 9 10     int b = 11;11 12     printf("交換前a = %d,b = %d\n",a,b);13 14     //定義一個中間變數來完成兩個變數之間的交換15     int temp;16 17     temp = a;18 19     a = b;20 21     b = temp;22 23     printf("交換後a = %d,b = %d\n",a,b);24 25     return 0;26 27 }

    方法二:不使用中間變數

 1 #include<stdio.h> 2  3 int main() 4  5 { 6  7     int a = 10; 8  9     int b = 11;10 11     printf("交換前a = %d,b = %d\n",a,b);12 13     a = b - a;14 15     b = b - a;16 17     a = a + b;18 19     printf("交換後a = %d,b = %d\n",a,b);20 21     return 0;22 23 }

    方法三:使用位異或

 1 #include<stdio.h> 2  3 int main() 4  5 { 6  7     int a = 10; 8  9     int b = 11;10 11     printf("交換前a = %d,b = %d\n",a,b);12 13     a = b ^ a;14 15     b = a ^ b;16 17     a = a ^ b;18 19     printf("交換後a = %d,b = %d\n",a,b);20 21     return 0;22 23 }

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.