在第一章内容中對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,程式輸出結果
輸出結果
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,程式輸出結果
輸出結果
輸出内容來自作者自我演繹(哈哈)!
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》