NDK探究之旅《二》——C語言的基本認識

若是對jni和ndk概念比較模糊,建議先閱讀上一篇博文html

NDK探究之旅《一》——對jni和NDK的認識java

C語言是什麼

  • C語言是一門通用計算機編程語言,應用普遍。android

  • C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少許的機器碼以及不須要任何運行環境支持便能運行的編程語言編程

如何看待C語言

  • 學好C語言,你能夠很好地應付任何一種編程工具。 windows

  • 必定要多敲代碼,經過程式瞭解相關知識。幾經反覆方得正果。數組

  • 不要把學習C語言當成一種任務,更不要把它當作很難完成的任務。要充滿自信,只要是一個智力正常的人都能學好C語言。始終保持遊戲的心態,多發現其中的樂趣。當感到編程趣味無窮,那你在電腦方面將前程無量。 微信

  • 若是一個程式一時沒法弄清楚最後暫時放在一邊,過一段時間你可能會從其餘的程式中悟出道理。 編程語言

  • C語言是一個總體,各個方面是有機聯繫的,要從整體上把握它,不要把它割裂成互不關聯的部件。函數

  • 不要徹底相信教材,全部結論竟實踐驗證最好工具

C程序的構成

儘管C程序的內容變幻無窮,可是它們的構成都是一致的,一個完整的C源程序的格式能夠以下表示:

  • 編譯預處理

  • 主函數()

  • 函數()

C語言的基本詞法

C語言的基本詞法由三部分組成:

  • 符號集

    符號集就是一門語言中容許出現的字符的集合,C語言的符號集就是ASCⅡ碼錶中的一些字符,在鍵盤上不能直接獲得(好比說響鈴字符)

  • 關鍵字

    標識符就是用以標識的符號。正如現實生活中給每個人都取一個名字同樣,C語言中的每個對象(如函數、變量等)都必須取一個標識符以和其它對象區別開。

  • 保留字。

    關鍵字實際上就是一些特殊的標識符,又稱保留字,這些保留字不容許用戶對它從新定義。

    頭文件、數聽說明、函數的開始和結束標誌

  • 頭文件:也稱爲包含文件或標題文件,通常放在一個C語言程序的開頭,用#include″文件名″的格式,其中文件名是頭文件名,通常用.h做爲擴展名。

  • 數聽說明:C語言中的數據分常量和變量兩種。

  • 常量:有數值常量和符號常量兩種。

  • 數值常量:能夠分爲整型常量、實型常量、浮點型常量和字符常量。

  • 符號常量:用一個標識符表明的一個常量,又稱標識符形式的常量

  • 變量:其值能夠改變的量,變量名習慣上用小寫字母表示。

  • 標識符:用來標識變量名、符號常量名、函數名、數組名、類型名、文件名的有效字符序列。

  • 標識符的命名規則:C語言中標識符只能由字母、數字下劃線三種字符組成,且第一個字符必須爲字母或下劃線。

    • C語言是大小寫敏感語言,即對大小寫字母認爲是不一樣的字符。
    • C語言中標識符的長度隨系統不一樣而字,如TURBOC中取前8個字符,8個字符後面的字符會自動取消。

C語言的基本數據類型

  • java 語言的八基本類型
    • byte 1個字節 8位
    • int 4個字節 32位
    • double 8個字節 64位
    • float 個字節 32位
    • long 8個字節 64位
    • char 2個字節 16位
    • boolean 1個字節 8位
    • char 2個字節 8位
  • C語言的基本數據類型

    • char 1個byte 8位 和java不一樣
    • long 4個byte 32位 和java不一樣
    • int 4個byte 32位 和java相同
    • double 8個byte 和java相同
    • float 4個字節 和java相同
    • short 2個byte 32位
    • signed
    • unsigned
    • void

    注意:

    • 在C語言中,沒有boolean類型。 0假, 非0真
    • 在c語言中,沒有byte類型,能夠用char表示byte

eg:
%d表示的是一個int數據類型。%只是一種格式
&是取地址,&i表示爲取內存中i的地址

修飾符的做用

  • unsigned 無符號---》長度爲 0~2的32次方 - 1
  • unsigned 有符號的---》長度爲-2的32次方~2的31次方-1

輸出類型函數:
%d---> int

格式字符 意義
d% 以十進制形式輸出帶符號整數(正數不輸出符號)-->int
o 以八進制形式輸出無符號整數(不輸出前綴0)
x,X 以十六進制形式輸出無符號整數(不輸出前綴Ox)--->int 或者是 long int short int
u 以十進制形式輸出無符號整數
f 以小數形式輸出單、雙精度實數
e,E 以指數形式輸出單、雙精度實數
g,G 以%f或%e中較短的輸出寬度輸出單、雙精度實數
c 輸出單個字符
s 輸出字符串
ld long int
hd 短整形 half
lf 輸出 double

C語言經常使用轉義字符表

ASCII碼錶完整版

C語言經常使用轉義字符表

(來自blog.csdn.net/abc5382334/…)

  • 字符常量中使用單引號和反斜槓以及字符常量中使用雙引號和反斜槓時,都必須使用轉義字符表示,即在這些字符前加上反斜槓。
  • 在C程序中使用轉義字符\ d d d或者\ x h h能夠方便靈活地表示任意字符。
  • \ d d d爲斜槓後面跟三位八進制數,該三位八進制數的值即爲對應的八進制A S C I I碼值。

  • \ x後面跟兩位十六進制數,該兩位十六進制數爲對應字符的十六進制A S C I I碼值。

使用轉義字符時須要注意如下問題:

  • 轉義字符中只能使用小寫字母,每一個轉義字符只能看做一個字符。

  • \v垂直製表和\f換頁符對屏幕沒有任何影響,但會影響打印機執行響應操做。

  • 在C程序中,使用不可打印字符時,一般用轉義字符表示

注:

  • '\v'垂直製表和\f換頁符對屏幕沒有任何影響,但會影響打印機執行響應操做。

  • \n其實應該叫回車換行。換行只是換一行,不改變光標的橫座標;回車只是回到行首,不改變光標的縱座標。

  • \t光標向前移動四格或八格,能夠在編譯器裏設置

  • \'在字符裏(即單引號裏)使用。在字符串裏(即雙引號裏)不須要,只要用'便可。

  • \?其實沒必要要。只要用?就能夠了(在windows VC6和tc2中驗證)。

簡單的踩坑:

cpp `system' undeclared (first use this function)

解決辦法:
zhidao.baidu.com/question/55…

注意
打印的時候,什麼樣的數據,須要用什麼樣的佔位符,不然數據打印出錯

相信本身,沒有作不到的,只有想不到的

若是你以爲此文對您有所幫助,歡迎入羣 QQ交流羣 :644196190
微信公衆號:終端研發部

技術+職場
技術+職場
相關文章
相關標籤/搜索