表示式與語句

2021-08-11 16:33:21 字數 1650 閱讀 2473

表示式是由運算子和運算元組合構造成。最簡單的表示式是乙個單獨的運算元,以此作為基礎,結合語言自身支援的操作符,就可以建立複雜的表示式。下面是一些表示式:

4

-53.14+9

a * ( b + 7 ) / 30

b < 5

從這裡可以看到,運算元可以是資料常量(4,-5)、變數(a,b)或者是二者的組合(b+7)。每乙個表示式都有乙個值,求值的過程依賴於運算子優先順序。加減乘除這四種運算遵循算術運算的優先順序法則。當表示式中混合有不同型別的運算元時,會執行自動型別轉換操作。如果不能轉換到同一型別求值,程式便會報錯。

語句c語言中,語句是構造程式的基本成分,每條語句以乙個分號標識其結束。

width = 20

這只是乙個表示式,而

width = 20;

是一條語句,在任何表示式後面加上分號,表示式將成為語句。因此,最簡單的語句就是乙個單獨的分號,但是它什麼不做。

兩個int型別的資料做除法時,結果是其商。當出現不能被整除的情況時,並不會得到小數部分。因此1/2會得到0而非0.5,3/2會得到1。當需要保留小數部分時,就需要兩個float型別的數值進行運算。

求餘(%)運算作用於兩個整型(int)資料間,值是兩個數相除的餘數,如2%3=3,5%3=2,6%3=0

除號的正負取捨和一般的算數一樣,符號相同為正,相異為負;求餘符號的正負取捨和被除數符號相同。

注意 源程式中演示求餘(%)運算的兩行**,你會發現在printf()的格式化引數中,使用了連續兩個%號,最後程式僅輸出了乙個%號。這是因為%號自身是格式控制符的一部分,因此需要連續輸入兩個%號以表示轉義輸出自身。

很多時候,我們不會像上面的程式一樣,簡單的將表示式結果輸出到螢幕,而是需要將表達的運算結果賦給乙個變數或傳遞給乙個函式,以使用這個變數進行更多的處理。前面我們學習了將乙個數值量賦值給乙個變數以達到改變變數的目的,如 width = 8;下面我們擴充套件一下賦值操作的右端實現——使用表示式進行初始化。

int width = 16 / 3;

int height = a + 20 * (4 / 3) - 3;

printf( "area = %d\n", width * height );

上面的**定義了width,height兩個變數,在使用乙個表示式初始化變數width之後,我們在第二條語句中使用了變數width,讓其參與變數height的初始化操作。最後在函式printf()中使用表示式width * height計算出矩形的面積,以表示這兩者參與了後續的運算。

關於求餘運算,需要記住的是:求餘符號的正負取捨和被除數符號相同。不過,在實際的開發中,應用兩個正整數做求餘運算是最多的需求。

除法方面,在看到除法運算(/)時,始終要提醒自己小學時背誦的一句話:0不能為除數!在程式當中也是如此。你可以基於本節掌握的內容,寫乙個除0的程式來,看看最終會發生什麼。完成之後,你也許會想:我不會這麼笨的~~~,但是你可能會不經意這麼做。

表示式與基本語句

運算子的優先順序 關於上面的優先順序的問題 什麼是位運算?什麼是移位操作?答 程式中的所有數在計算機記憶體中都是以二進位制儲存的,位運算就是對整數在記憶體中的二進位制位進行操作。通常用於二進位制的取位操作,乙個數與1 的結果就是取二進位制的最末位,這個可以用來判斷乙個整數的奇偶。二進位制的最末位為0...

語句 表示式與if分支

行長 每行不建議超過79個字元 空行 要將程式的不同部分分開可使用空行 可以使用元祖或者列表對多個變數賦值 x,y 5,10 x5y10 a,b,c 1 2,3 a1b2 c3 外邊括號去掉也不影響 x,y 5,10x5y 10 可以以元祖的形式同時顯示多個值 x,y 5,10 當前面變數個數和後面...

Python表示式與語句

計算機,自動化執行機器,執行的是什麼呢?執行的是設計者通過設計一系列的內容打算讓計算機進行的某種功能 例如 列印 或者計算 例如 比較兩數的大小 讓計算機完成某任務的程式設計者可以通過0 1 低階語言 或者計算機處理器的彙編指令 組合語言 甚至更接近於人的思維語言 高階語言例如c和python 來讓...