C語言概述

    1.基本程序框架
    
    #include <stdio.h>
    int main()
    {
    
          return 0;
    }
    在學習C語言之初咱們不用理解它 只知道咱們須要把一條條須要執行的語句添加在這個框架以內




    2.變量類型和表達式
    
        量能夠分爲常量和變量

        常量是出如今源文件中的能夠被直接識別利用的量
 
        好比三、5.二、'h' 分別爲整數 浮點數 字符常量



         
        變量是須要通過聲明的 可以存儲相應類型數據的量

        int a;(聲明語句) 這樣聲明瞭一個變量 它的名稱(標識符)爲a




            變量的聲明是開闢內存空間的過程 變量聲明是一種語句(指令)

            包括 類型 和 標識符 int(類型) a(標識符);(分號表示這是一個語句)





        不一樣類型的數據須要用相應類型的變量去存儲 這是由於不一樣類型數據的存儲方式(解釋方式)不一樣

        聲明變量的過程也是開闢內存空間的過程 變量把數據以二進制存儲在內存中

        而一串二進制數1101101010001存儲在int型變量中和存儲在double型變量中表明的意義不一樣

        也就是說int和double解釋數據的方式不一樣
        
        這也就是格式說明符的做用了

        printf中要求咱們用%d輸出整數變量 用%f輸出浮點數變量 其實是讓咱們決定以哪一種方式解釋那串二進制數






        表達式

        表達式是有值的式子 好比 3 就是一個表達式 3 + 5也是一個表達式 它的值爲8

        表達式中常常含有變量 而這些變量不必定是一個類型的 這就要說到類型轉換
            
            int a = 3; double b = 5.4;

            辣麼(a + b) / 2.5 在運算過程當中就會先把a轉化爲double型的3.0再參與以後的運算

            全部的類型轉化 都是表示範圍低的數向表示範圍高的數轉化 只要式子中含有表示範圍更高的數據類型
                
            因爲全部浮點數的範圍高於整數 所以整數總會被轉化爲浮點數 而float又會被轉化爲double

        須要注意含有賦值符號的式子也是有值的 好比 a = 5 + 26; 這是一個賦值語句

        賦值語句的組成形式是 a(標識符) =(賦值符號) 5 + 26(表達式);(分號表示語句)

        也能夠這樣解釋它 a = 5 + 26(賦值表達式);(分號表示語句)  賦值表達式的值就是它的左值 其實沒差

        表示比較的式子也是表達式 好比a > 五、 b == 8 等  若是它是對的 值就是1 錯的就是0

        另外C把任何非0數都看做真 所以while(-26){ }是一個無限循環

        
    3.基本輸入輸出和語句

        這裏只要瞭解兩個函數printf和scanf就好

        語句就是C程序切實執行的指令 它的標誌是分號結尾

        語句分爲不少種 好比賦值語句 調用語句 返回語句 if語句 while語句等




    4.圖靈完備

        這裏講的是全部編程語言都有的部分

        程序的執行順序分爲 順序結構 循環結構(while語句for語句實現) 分支結構(if else語句和switch語句實現)



    5.函數

        函數分3步
 
        函數聲明(經過聲明語句完成 由於是語句因此要加;)    

        函數調用(經過調用語句完成 由於是語句因此要加;)

        函數定義(這不是一個語句 它是一個定義了函數內容 也就是函數如何工做的代碼塊)

        代碼塊是含有一條或者多條語句的一個總體 好比跟在while和for還有if以後的大多都是代碼塊  以{}花括號爲標誌




    6.地址 指針 數組 字符串

        瞭解地址和指針是理解數組和字符串的基礎

        內容較多 不便詳述T_T







    7.結構體

        結構體是內部能夠含有各類類型變量的特殊複合結構
                
        分爲 結構體模板 結構體變量的聲明(建立) 結構體變量的使用(經過"成員"去實用) 3部分

        結構體是理解C++和C的區別的基礎 C++最重要的概念是類class  它和結構體特別相似  

        而java又將C++中的struct祛除了 java中的類兼容告終構體




    8.其餘

        C語言中的其餘部分還有不少 可是對向上繼續學習高級語言幫助不大 下面列舉出更偏向底層的內容

        預處理指令 即#include #define等指令
        
        須要記住的是 預處理指令不是語句 預處理髮生在編譯以前 它處理的內容是純文本

        好比#include <stdio.h> 就是把頭文件<stdio.h>中的內容徹底複製粘貼到當前文件的相應位置

        而#define MAXN 100010 則是把你定義的標記MAXN所有替換成100010 處理的都是字符罷了


        位操做

        它容許你在bit單位上操做數據 涉及的操做符有 << >> ^ | ~

java

相關文章
相關標籤/搜索