程序與編程語(yǔ)言

一、計(jì)算機(jī)程序

程序:一個(gè)計(jì)算機(jī)程序是一系列指令的集合。

指令:每臺(tái)計(jì)算機(jī)都配有自己能執(zhí)行的一組指令,叫作指令系統(tǒng)。每條指令都對(duì)應(yīng)一串二進(jìn)制代碼,這些二進(jìn)制代碼就是機(jī)器語(yǔ)言。

計(jì)算機(jī)語(yǔ)言:有機(jī)器語(yǔ)言、匯編語(yǔ)言、高級(jí)語(yǔ)言三大類(lèi)。機(jī)器語(yǔ)言是計(jì)算機(jī)唯一能夠識(shí)別并能直接執(zhí)行的語(yǔ)言。

(1)機(jī)器語(yǔ)言:二進(jìn)制數(shù)字(0和1兩種符號(hào))構(gòu)成的語(yǔ)言。

?機(jī)器語(yǔ)言編寫(xiě)困難、可讀性差、可移植性差,但程序執(zhí)行效率最高,占用存儲(chǔ)空間最小。

(2)匯編語(yǔ)言:亦稱(chēng)符號(hào)語(yǔ)言,用助記符代替代替機(jī)器指令代碼的面向機(jī)器的語(yǔ)言。簡(jiǎn)化了編程過(guò)程。還是比較繁瑣費(fèi)時(shí),通用性差;但程序執(zhí)行效率較高,需要的存儲(chǔ)空間較小。

(3)高級(jí)語(yǔ)言:直觀、語(yǔ)言格式與自然語(yǔ)言相近的計(jì)算機(jī)語(yǔ)言??勺x性高,可移植性相對(duì)較高。執(zhí)行速度相對(duì)較慢,需要的存儲(chǔ)空間相對(duì)較大。

匯編:匯編程序(assembler)把匯編語(yǔ)言編寫(xiě)的程序轉(zhuǎn)換為可執(zhí)行的機(jī)器語(yǔ)言。

編譯:編譯程序(compiler)把高級(jí)編程語(yǔ)言編寫(xiě)的程序轉(zhuǎn)換為可執(zhí)行的機(jī)器語(yǔ)言。

執(zhí)行:編譯好的程序(即指令集合)從外部設(shè)備(如硬盤(pán)),被加載到計(jì)算機(jī)之內(nèi)(如內(nèi)存中),指令串行順序執(zhí)行,直到一條跳轉(zhuǎn)或轉(zhuǎn)移指令被執(zhí)行,或者一個(gè)中斷出現(xiàn)。

二、高級(jí)語(yǔ)言要素

以C語(yǔ)言為例,這里是面向過(guò)程的。

程序入口

如C程序的入口函數(shù)main函數(shù),程序的執(zhí)行從main函數(shù)開(kāi)始,對(duì)其他函數(shù)直接或間接地在main函數(shù)中被調(diào)用。而main函數(shù)則是被操作系統(tǒng)調(diào)用。

示例:

#include <stdio.h>

main(){

????printf("Hello World");

}

規(guī)范寫(xiě)法:

int main(void){}

int main(int argc,char *argv[]){}

int main(int argc,char **argv){}

標(biāo)識(shí)符

? ? 自定義的名稱(chēng)。如變量名、函數(shù)名。不可使用關(guān)鍵字,不能以數(shù)字開(kāi)頭。

數(shù)據(jù)類(lèi)型

? ? 為了對(duì)數(shù)據(jù)進(jìn)行描述的定義,是數(shù)據(jù)集合的劃分。不同類(lèi)型的數(shù)據(jù),其占用的內(nèi)存空間,以及其運(yùn)算在機(jī)器內(nèi)部的執(zhí)行方式是不一樣。

? ? C語(yǔ)言的數(shù)據(jù)類(lèi)型:基本類(lèi)型(short int long float double char)、構(gòu)造類(lèi)型(數(shù)組 struct union enum)、指針類(lèi)型、空類(lèi)型void。

常量

常量是一個(gè)右值,可以把右值賦給一個(gè)左值。

C語(yǔ)言中的常量包括字面量和用 const 定義的變量。

字面量常量,如整數(shù)常量、浮點(diǎn)常量、枚舉常量、字符常量

const常量,如const float PI=3.14f,這個(gè)PI 就是常量。

變量

變量是一段有名字的連續(xù)存儲(chǔ)空間。在源代碼中通過(guò)定義變量來(lái)申請(qǐng)并命名這樣的存儲(chǔ)空間,并通過(guò)變量的名字來(lái)使用這段存儲(chǔ)空間。變量具有名稱(chēng)、類(lèi)型和值。

變量名是變量在程序源代碼中的標(biāo)識(shí)。變量類(lèi)型確定它所代表的內(nèi)存的大小和類(lèi)型,變量值是指它所代表的內(nèi)存塊中的數(shù)據(jù)。

在程序的執(zhí)行過(guò)程中,變量的值可以發(fā)生變化。使用變量之前必須先聲明變量,即指定變量的類(lèi)型和名稱(chēng)。

表達(dá)式

由數(shù)字、算符、數(shù)字分組符號(hào)(括號(hào))、自由變量和約束變量等以能求得數(shù)值的有意義排列方法所得的組合。約束變量在表達(dá)式中已被指定數(shù)值,而自由變量則可以在表達(dá)式之外另行指定數(shù)值。

一個(gè)表達(dá)式代表一個(gè)函數(shù),其輸入為自由變量的定值,而其輸出則為表達(dá)式因子后所產(chǎn)生出的數(shù)值。

(1)算術(shù)表達(dá)式:又稱(chēng)為數(shù)值表達(dá)式,通過(guò)算術(shù)運(yùn)算符來(lái)進(jìn)行運(yùn)算的數(shù)學(xué)公式。

(2)邏輯表達(dá)式:結(jié)果為true或false

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

NOT(非)、AND(與)、OR(或)

(3) 賦值表達(dá)式:將等號(hào)右邊的表達(dá)式結(jié)果賦值給等號(hào)左邊的變量

(4) 三元表達(dá)式

????表達(dá)式1?表達(dá)式2:表達(dá)式3

? ? 表達(dá)式1為true則返回表達(dá)式2,否則返回表達(dá)式3。

語(yǔ)句和語(yǔ)句塊

語(yǔ)句可以是以分號(hào)結(jié)尾的單行代碼,或者是語(yǔ)句塊中的一系列單行語(yǔ)句。

語(yǔ)句塊括在括號(hào){}中,并且可以包含嵌套塊。

程序所執(zhí)行的操作以“語(yǔ)句”表達(dá)。常見(jiàn)操作包括聲明變量、賦值、調(diào)用方法、循環(huán)訪問(wèn)集合,以及根據(jù)給定條件分支到一個(gè)或另一個(gè)代碼塊。

控制流

控制流是指按一定的順序排列程序元素來(lái)決定程序執(zhí)行的順序。

控制語(yǔ)句即用來(lái)實(shí)現(xiàn)對(duì)程序流程的選擇、循環(huán)、轉(zhuǎn)向和返回等進(jìn)行控制。C語(yǔ)言中共有9種控制語(yǔ)句,包括32個(gè)關(guān)鍵字,可以分為"選擇語(yǔ)句“,”循環(huán)語(yǔ)句“,”轉(zhuǎn)向語(yǔ)句“,”返回語(yǔ)句“四類(lèi)。

->選擇結(jié)構(gòu) if、if-else、if-else if ?switch-case

->循環(huán)結(jié)構(gòu)while、do-while ?for、foreach

->跳轉(zhuǎn)語(yǔ)句break、 continue、 goto(認(rèn)為禁用)

->返回語(yǔ)句 return

break跳過(guò)循環(huán)體的剩余部分直接退出結(jié)構(gòu)體或循環(huán)體

continue語(yǔ)句是跳過(guò)循環(huán)體的剩余部分而繼續(xù)下一次循環(huán),非循環(huán)體跳出往后執(zhí)行。

函數(shù)

函數(shù)是包含一系列語(yǔ)句的代碼塊,出于復(fù)用目的對(duì)語(yǔ)句或語(yǔ)句塊的封裝。

函數(shù)包含返回值、函數(shù)名稱(chēng)、參數(shù)及函數(shù)體。參數(shù)放在括號(hào)中,并用逗號(hào)隔開(kāi);空括號(hào)表示不需要參數(shù)。

通過(guò)函數(shù)名實(shí)現(xiàn)對(duì)函數(shù)的調(diào)用,以達(dá)到執(zhí)行函數(shù)體中代碼的效果。

調(diào)用函數(shù)時(shí)傳入?yún)?shù),相當(dāng)于為函數(shù)的執(zhí)行設(shè)置初始條件。

調(diào)用函數(shù)的語(yǔ)句可用一個(gè)變量來(lái)接收?qǐng)?zhí)行結(jié)果。void表示無(wú)返回值,不能用變量接收。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 上上上周的小練習(xí),臨摹的不知道哪位某位大觸的,剛開(kāi)始以為簡(jiǎn)單又美麗,結(jié)果畫(huà)起來(lái)居然很費(fèi)神!每一個(gè)都要很仔細(xì)的暈...
    梅子的Art園地閱讀 1,286評(píng)論 10 24
  • P2P理財(cái)人群中大學(xué)生占有四分之一,呈年輕化的趨勢(shì),80、90后成為當(dāng)代投資理財(cái)?shù)闹髁?,P2P理財(cái)玖邦財(cái)富成為年輕...
    明月H5閱讀 346評(píng)論 0 0
  • 已是深秋季節(jié),地里的莊稼都已收獲完畢,夏季那濃綠而喧鬧的主色調(diào)已被秋天深沉的紫褐色所代替,空曠的田...
    仗劍而立閱讀 642評(píng)論 3 1
  • 目標(biāo) 英(√) a.背70個(gè)百詞斬(√) b.滬江開(kāi)心詞場(chǎng)3關(guān)(√) c.voa慢速一則(√) d.英語(yǔ)流利說(shuō)一關(guān)...
    Courage_CYY閱讀 205評(píng)論 0 0

友情鏈接更多精彩內(nèi)容