在此之前,我們多次用到了術(shù)語表達(dá)式和語句,現(xiàn)在我們需要深刻的理解他們了,語句是組成C的基本單位,并且大多數(shù)語句由表達(dá)式構(gòu)成。所以,我們有必要對(duì)表達(dá)式進(jìn)一步學(xué)習(xí)。
表達(dá)式
表達(dá)式(expression)是由運(yùn)算符和操作數(shù)組合構(gòu)成的(回憶一下,操作數(shù)是運(yùn)算符操作的對(duì)象)。最簡(jiǎn)單的表達(dá)式即一個(gè)單獨(dú)的操作數(shù),以此作為基礎(chǔ)可以建立復(fù)雜的表達(dá)式,比如下面這些:
3+2
a=(2+b/3)/5
x=i++
m=2*5
正如您看到的一樣,操作數(shù)可以是常量,也可以是變量,亦可以是他們的組合。一些表達(dá)式是多個(gè)較小的表達(dá)式的組合,這些小的表達(dá)式稱為子表達(dá)式(subexpression)。
每個(gè)表達(dá)式都有一個(gè)值,C中一個(gè)重要的屬性是每一個(gè)C表達(dá)式都有一個(gè)值。為了得到這個(gè)值,您可以按照運(yùn)算符優(yōu)先級(jí)描述的順序來完成運(yùn)算。我們所列出的前幾個(gè)表達(dá)式的值都很明顯,但是有=的表達(dá)式的值是什么呢?那些表達(dá)式與=左邊的變量取得的值相同。所以,表達(dá)式m=2*5作為一個(gè)表達(dá)式,其整體的值為10。
語句
語句(statement)是構(gòu)造程序的基本部分。程序(program)是一系列帶有某種必須的標(biāo)點(diǎn)語句集合。一個(gè)語句是一條完整的計(jì)算機(jī)指令。在C中,語句用結(jié)束處的一個(gè)分號(hào)標(biāo)示。
例如:c=3這只是一個(gè)表達(dá)式(它可能是一個(gè)較大語句的一個(gè)部分),而c=3;則是一個(gè)語句。
想必您應(yīng)該已經(jīng)看到了,沒錯(cuò),表達(dá)式后面加一個(gè)分號(hào)即構(gòu)成了一條C語句(它們被稱為表達(dá)式語句)。所以,C不反對(duì)像下面的語句:
1; 2+2;
但這樣的語句對(duì)程序沒有任何意義。
C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競(jìng)賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:
一點(diǎn)編程也不會(huì)寫的:零基礎(chǔ)C語言學(xué)練課程
解決困擾你多年的C語言疑難雜癥特性的C語言進(jìn)階課程
從零到寫出一個(gè)爬蟲的Python編程課程
只會(huì)語法寫不出代碼?手把手帶你寫100個(gè)編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競(jìng)賽課入門課程
手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程