天天看點

C語言學習筆記系列—第二章

作者:正能量IT先生

在第一章内容中對C語言安裝環境以及編寫一個最簡單的HelloWorld程式進行了簡單介紹。作為學習筆記,本文會更傾向于實踐了解。深入概念性問題建議使用參考書進行查找,本文就不進行通篇摘抄。

其次編輯文章也是為了提高自身程式設計能力,鞏固基本功,本着已最簡單的方式進行編寫(如果上來就堆複雜算法,普通人就勸退了)。

學習參考書籍《C Primer Plus》

1,簡單運算

1.1,使用C進行乘法運算

程式樣例如下(定義參數較為簡單,是不好的習慣,前期便于了解使用):

#include <stdio.h>
int main(void)
{
    int a,b,c;  //定義a,b,c
    a = 2;
    b = 6 ;
    c = a * b;
    printf("a與b的乘積c = %d\n",c);  //其中注意\n是換行符
    printf("a與b的乘積c = %d",a*b);
    return 0;
}           

首先本程式聲明了多個變量,進行了乘法運算(兩種寫法)輸出了兩次結果,分别列印了printf兩次。并且引用了注釋的寫法,也是為了便于讀懂程式。

首先聲明了多個變量(a,b,c)這三個變量的寫法也可以本别聲明,寫法為 int a; int b; int c;。乘法部分相對就簡單了使用了a*b即可,特别注意的是c = a * b這個c不代表等于a*b,而是将a*b的結果指派給c。剩下進行程式運算結果的輸出,兩次printf特别強調了兩種不同寫法。是以說printf()函數說明待列印的值不一定是變量,隻要可求值得出合适類型值的項即可,如a*b。

1.2,程式輸出結果

C語言學習筆記系列—第二章

輸出結果

1.3,對于C語言運算符号小結歸納

算術運算符

加(+)、減(-)、乘(*)、除(/)、求餘(或稱模運算,%)、自增(++)、自減(--)

關系運算符

大于(>)、小于(<)、等于(==)、 大于等于(>=)、小于等于(<=)和不等于(!=)

邏輯運算符

與(&&)、或(||)、非(!)三種

以上運算符号僅僅是目前學習程度需要的,C語言還有其他運算符号之後補充(一口氣都堆上個人覺得辣眼睛)。

2,多個函數

2.1,兩個函數寫法

之前的幾個程式都隻使用了printf()函數。除main()以外,還可以加入自己編寫的其他函數。下面是程式樣例:

//* 在一個C檔案中使用兩個函數的程式 */
#include <stdio.h>
void TheReader(void);      /* ANSI/ISO C 函數原型 */
int main(void)
{
    printf("Can you give me a thumbs up?\n");
    TheReader();  //第二次使用TheReader
    printf("All right, well, give it a thumbs up when you think about it\n");
    
    return 0;
}

void TheReader(void)       /* 定義函數内容 (第三次TheReader)*/
{
    printf("Let me think about it!\n");
}           

TheReader()函數在程式中出現了3次。第1次是函數原型(prototype),告知編譯器在程式中要使用該函數;第2次以函數調用(function call)的形式出現在main()中;最後一次出現在函數定義(function definition)中,函數定義即是函數本身的源代碼。在main()中調用TheReader()很簡單,寫出函數名和圓括号即可。當TheReader()執行完畢後,程式會繼續執行main()中的下一條語句。

2.2,程式輸出結果

C語言學習筆記系列—第二章

輸出結果

輸出内容來自作者自我演繹(哈哈)!

3,關鍵字和保留字元

對于上面提到的算法中,無論是聲明(a,b,c)還是定義一個函數TheReader(),其實都是作者随意編出來的。但是關鍵字對C而言比較特殊,不能用它們作為辨別符(如,變量名)。許多關鍵字用于指定不同的類型,如int。還有一些關鍵字(如,else)用于控制程式中語句的執行順序。如果使用關鍵字不當(用關鍵字作為變量名),編譯器會将其視為文法錯誤。

下列是ANSI/ISO C 關鍵字,不用單獨背,之後用到就熟悉了。

auto break case char const continue default
do double else enum extern float for
goto if int long register return short
signed sizeof static struct switch ypedef union
unsigned void volatile while inline restrict _Bool
_Complex _Imaginary _Alignas _Alignof _Atomic _Static _assert
_Noreturn _Thread _local _Generic

4,總結

本章主要介紹了程式的簡單運算以及多函數應用。

如有不足或有疑問歡迎各位大佬們指正,同時衷心希望非IT專業的小白們能感受到C語言的魅力所在。

[1] 《C Primer Plus》

繼續閱讀