剛開始學C的時候一定會覺得很枯燥,沒有頭緒。每當堅持不下去的時候就要問問自己,學C語言的初心是什麼,現在就放棄目標還能實現麼???
![C語言小白日記:C語言基本概念彙總](http://p2.ttnews.xyz/loading.gif)
☆☆注部分是我個人的經驗之談,可參考也可不參考
序言
做題的時候發現前面的知識點老是記不準確,需要經常翻書確認記得東西對不對。有的時候程序明明已經編譯通過並且沒有錯誤提示,可運行結果就是不對,查了半老天才發現某個知識點完全用錯了。思來想去,還是決定把書中的知識點整理出來,一方面是加深記憶;另一方面也把做題時的感悟加進來,便於以後查找。
言歸正傳:
2.1編寫一個簡單的C程序
2.1.1編譯和鏈接
把程序轉化為機器可以執行的形式,通常包括下面3個步驟:預處理、編譯和鏈接
注:這些涉及到計算機底層的知識了,現在並不懂,以後學得多了可能就懂了
2.1.2集成開發環境(IDE)
集成開發環境是一個軟件包,(注:也就是我們要用的編程軟件)我們可以在其中編輯、編譯、鏈接、執行甚至調試程序。
注:純新人我建議安裝Visual C++6;有一定基礎的朋友我建議安裝VS Code(https://www.toutiao.com/i6763103990159770124/這個網址有詳細的VS Code配置C語言工作環境的方法)
![C語言小白日記:C語言基本概念彙總](http://p2.ttnews.xyz/loading.gif)
VisualC++6
VS Code
2.2簡單程序的一般形式
#include <stdio.h>…………………指令(頭)/<stdio.h>
Int main(void)……………………….函數,類型int的main函數
{
//…………………………………….註釋,對程序運行無意義
Int a,b,c;……………………………語句,聲明
a=1;…………………………………..語句,賦值
b=2;…………………………………..語句,賦值
c=a+b;………………………………..語句,運算及賦值
printf(“c=%d”,c);……………………..語句,輸出函數
return 0;………………………………語句,結束main函數並返回0
}
2.2.1 指令
#include <stdio.h>
所有指令都是以字符#開始的。
☆☆指令默認只佔一行,每條指令的結尾沒有分號或其他特殊標記。
2.2.2函數
函數分為兩大類:一類是程序員編寫的函數,另一類則是作C語言實現的一部分提供的函數。我們把後者稱為庫函數(library function)。
注:這部分不太好理解,我理解的是一類是自己編寫的如y=x;另一類是C語言中有固定意義的,如main(),printf(),scanf()。
☆一個C程序可以有多個函數,但只有main函數是必須有的。Main函數的名字至關重要,能且只能寫成main。
return 0有兩個作用:一是使main函數終止(從而結束程序);二是指出main函數的返回值是0。
2.2.3語句
☆C語言規定每條語句都要以“;”結尾
☆☆唯一一個例外:複合語句不以“;”結尾
注:1)前面的例子中,每個“;”前面都是一條語句 ;
2)複合語句是什麼?
2.3註釋
註釋以符號/*開始,以符號*/結束。
注:☆☆1)/* */這兩個符號缺一不可,千萬不能只寫一半;
2)C99標準提供了一種新的註釋//(建議用這種);
2.4變量和賦值
☆使用變量前必須進行聲明。int a,b,c就是一個聲明
☆☆書寫的時候,建議在聲明和語句之間留出一個空行
2.4.3賦值
☆☆☆把包含小數點的常量賦值給float型變量的時候,最好在該常量後面加一個字母f
例如:a=0.2f;
注:這個小細節很有意思,涉及到不同類型的數所佔字節的問題
2.5讀入輸入值
程序讀入自己輸入的值,要用scanf()函數
格式:scanf(”%d”,&a);
☆☆☆ 符號“&”千萬不能忘!!
2.6定義常量的名字-宏
格式:#define RECIPROCAL_OF_PI (1.0f/3.14159f)
☆☆☆1)宏的名字只用了大寫字母(C程序員默認的規範,希望讀者不要打破);
2)宏包含運算符的時候,必須用括號把表達式括起來;
2.7標識符
編寫程序時,需要對變量等進行命名,這些名字就是標識符(如例子中的a)。
☆☆☆標識符必須以字母或者下劃線開頭。
後記:
這一章雖然只是一些基本的概念,卻是以後所學一切的基礎,這些知識點都是用得到的,必須要理解並且記憶。回過頭整理了一遍,有一種豁然開朗的感覺,初學時似是而非的知識點現在都能看懂了。
加油!!
閱讀更多 F指導 的文章