【C語言編程入門系列】—— 第五章,C語言基本運算和表達式(一)

       導讀:程序要完成高級功能,首先要能夠做到基本的加減乘除。本章從程序中變量的概念開始,結合之前學的輸出函數和新介紹的輸入函數製作簡單人機交互程序,然後講解最基礎的加減法運算,自制簡單計算器程序練手。

5.1 變量

5.1.1 變量聲明定義與賦值表達式

  上一章講了數據類型,數據類型要和變量結合在一起才能夠在C語言程序中體現出它們的作用,一般的變量是這樣定義的:

數據類型 變量名;

   變量名可以是26個字母中的任意一個,也可以是非C語言關鍵詞的單詞或自定義字母組合,也可以加下劃線等等,我們就先用簡單字母來命名吧,比如聲明一個整型的變量a,如下:

inta;

  也可以定義多個變量,變量名之間用逗號隔開,最後加分號表示結束,如下:

inta,b,c,d;

  也可以在定義變量的時候,直接賦值,這就要用上賦值表達式,如下:

inta =3;

  賦值的意思就是賦予數值,也可以多個一起,如下:

inta =3, b =4, c =5;

   當然也可以定義完變量後,再給變量賦值,如下:

int a;

a =3;

  請注意,C語言中,規定變量定義必須是代碼的最開始部分,比如以下在C語言不建議這麼做,雖然剛纔的方式用Dev-C++不會報錯,但是不代表別的編譯器不會報錯,如下:

#include <stdio.h>

void main()

{

    printf("hello world");



    inta =10;   

}

 

  因爲C語言的編譯規則有多種,所以建議變量聲明定義放在代碼開始部分,以下比較規範,

注意:C語言編譯標準隨着時代的變遷做幾次改變,如最開始的C89然後有C99以及最新的C11,後續文章講解到編譯規則的時候再剖析這部分。

#include <stdio.h>

void main()

{

    inta =10;   

    printf("hello world");     

}

 

5.1.2 初識格式化輸出

  如何查看變量的值,可以用debug的辦法(後續再講解用Dev-C++上斷點調試辦法),也可以通過printf這個C庫函數查看,代碼如下,運行結果如圖5.1,

#include <stdio.h>

void main()

{

    inta =10;   



    printf("a = %d", a);

}

圖5.1  printf輸出情況

  可以看出輸出爲“a = 10”,在printf語句中,printf(“a = %d”, a);,其中“a = ”是要輸出的字符串,就像之前輸出“hello world”一樣,寫什麼就輸出什麼,%d表示這段字符串後面輸出的變量值,按照十進制整型輸出,下面來點複雜的,然後再解釋啥是格式控制符,代碼如下,運行結果如圖5.2,

#include <stdio.h>

void main()

{

    inta =10;   

    intb ='c';



    printf("a = %d, a = %x, b = %d, b = %c", a, a, b, b);

}

圖5.2  稍微複雜的printf輸出

  按照一個蘿蔔一個坑的原則,第一個“%d”對應一個輸出“a”,第二個“%x”對應下一個輸出選“a”,第三個“%d”對應“b”,最後一個“%c”對應“b”。請記住,一定要一一對應,否則會有意想不到的錯誤哦。

    C語言有規定格式控制符,在輸出函數printf(“”)的冒號“”裏面,如果有百分號%號出現,下一個字母會有它獨特的意義:

  比如d,表示按照十進制格式輸出,

  比如x,表示按照十六進制格式輸出,

  比如c,表示按照單個字符格式輸出。。。當然還有很多,現在先介紹這些。

注意:字符一般會涉及ASCII碼錶,這部分知識怕初學者負擔太重,放後面再介紹。

 

5.1.3 再來一個C庫函數scanf以及格式化輸入

屏幕顯示的程序中的數據,叫做輸出,敲鍵盤傳入程序中的數據,叫做輸入。輸出函數一般用printf,輸入函數一般用scanf。下面來寫一段程序,程序大體思路是,先定義一個變量a,然後用輸入函數scanf給a賦值(通過鍵盤敲的數值),最後通過輸出函數printf在屏幕顯示a的數值,代碼如下:

#include void main()

{

    int a;



    scanf("%d", &a);



    printf("a = %d", a);

}

 

注意:scanf語句中,a前面有個字符是&,讀者可以看看鍵盤上那一排數字鍵,對了就在數字7這裏,鍵盤要輸入&,可以通過按住鍵盤Shift鍵+數字鍵7!

 

   寫好代碼後,編譯運行,發現控制檯一片黑,如圖5.3,

圖5.4  控制檯一片黑

  可以看到有個光標在閃爍,請用鍵盤輸入123試試看,然後再按下回車按鍵,結果如圖5.4,

圖5.5  運行結果

  從結果上可以看出,輸出的“a = ”加上剛纔鍵盤輸入的123一起在屏幕上顯示出來,這就是最基本的輸入輸出函數的使用了。下面講解這段程序:

scanf中,變量前面有個符號“&”想必讓人產生了困擾,“&”符號叫做取地址符號,之前講過內存存放數據的,每個數據都有它的地址,希望後續講解指針的時候讀者會有更清晰的瞭解。希望讀者不用困擾,爲什麼不直接這麼寫:scanf(“%d”, a),而要這麼寫:scanf(“%d”, &a),差別在於是否有“&”,請先這麼用着吧!

  爲了更加人性化,在scanf前添加一段printf提示即將輸入的字符格式,再添加char型格式輸入,下面一段代碼會比之前稍微複雜那麼一點點,

#include void main()

{

    int b;

    char f;   



    printf("please input int and char data with , to separate : ");

    scanf("%d, %c", &b, &f);

    printf("b = %d, f = %c", b, f);

}

 

  編譯運行後,在提示語出現後,在冒號:後面輸入400,k,運行結果如圖5.5,

注意:在代碼的scanf中,有用逗號,來隔開b和f的取值,所以在屏幕輸入的時候,也要用逗號隔開整型和字符型,最後回車鍵顯示結果。

圖5.6  運行結果

  這樣整型類型的b就被賦值400,字符f就被賦值‘k’了。對於整型讀者可以賦值不同的數值大小,請記住這些類型的取值是有上下限制的,如果超過可能會有意想不到的後果,可以在第四章查看錶4.1找到基本數據類型的取值限制,至於字符可以輸入26個字母中的一個,或者一些標點符號等等,當然也能賦值具體的整數值。

自學C/C++不易,此路應攜手前行。
如果你想跟着小編一起學編程的話!
可以來我的C語言/C++編程學習交流俱樂部,【點擊進入】!
還有(源碼,零基礎教程,項目實戰教學視頻),歡迎初學者和正在進階中的小夥伴們!     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章