剛開始學(xué)C的時(shí)候一定會(huì)覺得很枯燥,沒有頭緒。每當(dāng)堅(jiān)持不下去的時(shí)候就要問問自己,學(xué)C語言的初心是什么,現(xiàn)在就放棄目標(biāo)還能實(shí)現(xiàn)么???
(所有指令都是以字符#開始的指令默認(rèn)只占一行每條指令的結(jié)尾沒有分號(hào)或其他特殊標(biāo)記純新人我建議安裝Visual C++6)讀入自己輸入的值要用scanf函數(shù)
https://m.toutiaocdn.com/group/6765166288227533326/?app=news_article×tamp=1575181729&req_id=201912011428490101290321630B010E2B&group_id=6765166288227533326
☆☆注部分是我個(gè)人的經(jīng)驗(yàn)之談,可參考也可不參考
做題的時(shí)候發(fā)現(xiàn)前面的知識(shí)點(diǎn)老是記不準(zhǔn)確,需要經(jīng)常翻書確認(rèn)記得東西對(duì)不對(duì)。有的時(shí)候程序明明已經(jīng)編譯通過并且沒有錯(cuò)誤提示,可運(yùn)行結(jié)果就是不對(duì),查了半老天才發(fā)現(xiàn)某個(gè)知識(shí)點(diǎn)完全用錯(cuò)了。思來想去,還是決定把書中的知識(shí)點(diǎn)整理出來,一方面是加深記憶;另一方面也把做題時(shí)的感悟加進(jìn)來,便于以后查找。
言歸正傳:
把程序轉(zhuǎn)化為機(jī)器可以執(zhí)行的形式,通常包括下面3個(gè)步驟:預(yù)處理、編譯和鏈接
注:這些涉及到計(jì)算機(jī)底層的知識(shí)了,現(xiàn)在并不懂,以后學(xué)得多了可能就懂了
集成開發(fā)環(huán)境是一個(gè)軟件包,(注:也就是我們要用的編程軟件)我們可以在其中編輯、編譯、鏈接、執(zhí)行甚至調(diào)試程序。
注:純新人我建議安裝Visual C++6;有一定基礎(chǔ)的朋友我建議安裝VSCode(https://www.toutiao.com/i6763103990159770124/這個(gè)網(wǎng)址有詳細(xì)的VS Code配置C語言工作環(huán)境的方法)
VisualC++6
VS Code
#include <stdio.h>…………………指令(頭)
Int main(void)……………………….函數(shù),類型int的main函數(shù)
{
//…………………………………….注釋,對(duì)程序運(yùn)行無意義
Int a,b,c;……………………………語句,聲明
a=1;…………………………………..語句,賦值
b=2;…………………………………..語句,賦值
c=a+b;………………………………..語句,運(yùn)算及賦值
printf(“c=%d”,c);……………………..語句,輸出函數(shù)
return 0;………………………………語句,結(jié)束main函數(shù)并返回0
}
#include <stdio.h>
所有指令都是以字符#開始的。
☆☆指令默認(rèn)只占一行,每條指令的結(jié)尾沒有分號(hào)或其他特殊標(biāo)記。
函數(shù)分為兩大類:一類是程序員編寫的函數(shù),另一類則是作C語言實(shí)現(xiàn)的一部分提供的函數(shù)。我們把后者稱為庫函數(shù)(library function)。
注:這部分不太好理解,我理解的是一類是自己編寫的如y=x;另一類是C語言中有固定意義的,如main(),printf(),scanf()。
☆一個(gè)C程序可以有多個(gè)函數(shù),但只有main函數(shù)是必須有的。Main函數(shù)的名字至關(guān)重要,能且只能寫成main。
return 0有兩個(gè)作用:一是使main函數(shù)終止(從而結(jié)束程序);二是指出main函數(shù)的返回值是0。
☆C語言規(guī)定每條語句都要以“;”結(jié)尾
☆☆唯一一個(gè)例外:復(fù)合語句不以“;”結(jié)尾
注:1)前面的例子中,每個(gè)“;”前面都是一條語句 ;
2)復(fù)合語句是什么?
注釋以符號(hào)/*開始,以符號(hào)*/結(jié)束。
注:☆☆1)/* */這兩個(gè)符號(hào)缺一不可,千萬不能只寫一半;
2)C99標(biāo)準(zhǔn)提供了一種新的注釋//(建議用這種);
2.4變量和賦值
☆使用變量前必須進(jìn)行聲明。int a,b,c就是一個(gè)聲明
☆☆書寫的時(shí)候,建議在聲明和語句之間留出一個(gè)空行
☆☆☆把包含小數(shù)點(diǎn)的常量賦值給float型變量的時(shí)候,最好在該常量后面加一個(gè)字母f
例如:a=0.2f;
注:這個(gè)小細(xì)節(jié)很有意思,涉及到不同類型的數(shù)所占字節(jié)的問題
程序讀入自己輸入的值,要用scanf()函數(shù)
格式:scanf(”%d”,&a);
☆☆☆ 符號(hào)“&”千萬不能忘??!
格式:#define RECIPROCAL_OF_PI (1.0f/3.14159f)
☆☆☆1)宏的名字只用了大寫字母(C程序員默認(rèn)的規(guī)范,希望讀者不要打破);
2)宏包含運(yùn)算符的時(shí)候,必須用括號(hào)把表達(dá)式括起來;
編寫程序時(shí),需要對(duì)變量等進(jìn)行命名,這些名字就是標(biāo)識(shí)符(如例子中的a)。
☆☆☆標(biāo)識(shí)符必須以字母或者下劃線開頭。
后記:
這一章雖然只是一些基本的概念,卻是以后所學(xué)一切的基礎(chǔ),這些知識(shí)點(diǎn)都是用得到的,必須要理解并且記憶?;剡^頭整理了一遍,有一種豁然開朗的感覺,初學(xué)時(shí)似是而非的知識(shí)點(diǎn)現(xiàn)在都能看懂了。
加油!!
感謝閱讀
聯(lián)系客服