當前位置:首頁 » 編程語言 » c語言表達式語法規則

c語言表達式語法規則

發布時間: 2022-06-27 08:46:43

c語言語法的表達式有什麼要求

執行到那一句才有相應的效果,問號表達式可以改寫成if-else:

x = a > b ? i++ : i++;

等同於:

if(a > b)
x = i++;
else
x = i++;

所以最後x等於3,i自增了一次等於4。

為什麼一定要去研究那些沒用的旮旯呢,我從來不記什麼結合方向和運算符優先順序別,對於問號表達式,我只知道:

x = a > b ? i++ : i--;

如果a > b,那麼x = i++,否則x = i--,而整個表達式取了哪一個i的值,那個i的相關副作用運算(如果有的話,比如自增自減)才發生作用。如果你實在想不透就把它改寫成上面那樣的if-else語句,一目瞭然,沒必要學孔已己樣咬文嚼字在那些拐角旮旯里浪費時間。

BTW:你們的考試考運算符結合方向?天......

② c語言有哪些表達式語句,規則是是什麼樣的

c語言中常用表達式有:
1.算術表達式;
2.賦值表達式;
3.逗號表達式;
4.關系表達式;
5.邏輯表達式。
希望對你有所幫助,祝你學習進步。

③ C語言 什麼是表達式

C語言表達式的定義是:用C語言運算符將運算對象連接起來的式子,就叫表達式。

C語言在表達式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達式更為簡單,但初學者往往會覺的這種表達式難讀,關鍵原因就是對運算符和運算順序理解不透不全。

當多種不同運算組成一個運算表達式,即一個運算式中出現多種運算符時,運算的優先順序和結合規則就會顯得十分重要。

基本構成:

數據類型:C的數據類型包括:整型、字元型、實型或浮點型(單精度和雙精度)、枚舉類型、數組類型、結構體類型、共用體類型、指針類型和空類型。

常量與變數:常量其值不可改變,符號常量名通常用大寫。

變數是以某標識符為名字,其值可以改變的量。標識符是以字母或下劃線開頭的一串由字母、數字或下劃線構成的序列,請注意第一個字元必須為字母或下劃線,否則為不合法的變數名。變數在編譯時為其分配相應存儲單元。

數組:如果一個變數名後面跟著一個有數字的中括弧,這個聲明就是數組聲明。字元串也是一種數組。它們以ASCII的NULL作為數組的結束。要特別注意的是,中括弧內的索引值是從0算起的。

指針:如果一個變數聲明時在前面使用 * 號,表明這是個指針型變數。換句話說,該變數存儲一個地址,而 *(此處特指單目運算符 * ,下同。C語言中另有 雙目運算符 *) 則是取內容操作符,意思是取這個內存地址里存儲的內容。指針是 C 語言區別於其他同時代高級語言的主要特徵之一。

指針不僅可以是變數的地址,還可以是數組、數組元素、函數的地址。通過指針作為形式參數可以在函數的調用過程得到一個以上的返回值,不同於return(z)這樣的僅能得到一個返回值。

字元串:C語言的字元串其實就是以''字元結尾的char型數組,使用字元型並不需要引用庫,但是使用字元串就需要C標准庫裡面的一些用於對字元串進行操作的函數。它們不同於字元數組。使用這些函數需要引用頭文件<string.h>。

文件輸入/輸出:在C語言中,輸入和輸出是經由標准庫中的一組函數來實現的。在ANSI C中,這些函數被定義在頭文件<stdio.h>;中。

(3)c語言表達式語法規則擴展閱讀:

C語言表達式中運算符號:

比較特別的是,比特右移(>>)運算符可以是算術(左端補最高有效位)或是邏輯(左端補 0)位移。例如,將 11100011 右移 3 比特,算術右移後成為 11111100,邏輯右移則為 00011100。因算術比特右移較適於處理帶負號整數,所以幾乎所有的編譯器都是算術比特右移。

運算符的優先順序從高到低大致是:單目運算符、算術運算符、關系運算符、邏輯運算符、條件運算符、賦值運算符(=)和逗號運算符。

參考資料:網路-C語言

④ C語言什麼是語法啊

1.標識符
由字母、數字和下劃線組成。標識符必須以字母或下劃線開頭。大、小寫的字母分別認為是兩個不同的字元。不同的系統對標識符的字元數有不同的規定,一般允許7個字元。
2.注釋
「/*」和「*/」必須成對出現;注釋不能嵌套;注釋可出現在程序的任何位置。
3.
常量
整型常量十進制常數(八進制常數、十六進制常數、長整型常數);字元常量(用單引號括起來的字元);字元串常量(用雙引號括起來的字元序列);浮點型常量(小數形式、指數形式)。
4.
表達式
算術表達式(整型表達式、實型表達式);邏輯表達式(用邏輯運算符連接的整型量,結果為一個整數0或1,邏輯表達式可以認為是整型表達式的一種特殊形式);字位表達式;強制類型轉換表達式(用「類型」運算符使表達式的類型進行強制轉換);逗號表達式;賦值表達式(將賦值號「=」右側表達式的值賦給賦值號左邊的變數);條件表達式;指針表達式(對指針類型的數據進行運算)。
5.
數據定義
對程序中用到的所有變數都需要進行定義。對數據定義其類型,需要時要指定其存儲類別。類型標識符可用:int、short、long、unsigned、char、float、double、struct
結構體名、union
共用體名等;存儲類別可用:auto、static、register、extern(如不指定存儲類別,作auto處理)。注意:外部數據定義只能用extern或static,而不能用auto或register。
6.
函數定義
形式為:存儲類別數據類型函數名(形參表列);形參說明;函數體。
函數的存儲類別只能用extern或static。函數體是用花括弧括起來的,可包括數據定義和語句。
7.
變數的初始化
可以在定義時對變數或數組指定初始值;靜態變數或外部變數如未初始化,系統自動使其初值為零(對數值型變數)或空(對字元型數據);對自動變數或寄存器變數,若未初始化,則其初值為一不可預測的數據;只有靜態或外部數組才能初始化。

⑤ c語言的語法有哪些並寫出相關語句!

C語言語法小結:
1.標識符
由字母、數字和下劃線組成。標識符必須以字母或下劃線開頭。大、小寫的字母分別認為是兩個不同的字元。不同的系統對標識符的字元數有不同的規定,一般允許7個字元。
2.注釋
「/*」和「*/」必須成對出現;注釋不能嵌套;注釋可出現在程序的任何位置。
3. 常量
整型常量十進制常數(八進制常數、十六進制常數、長整型常數);字元常量(用單引號括起來的字元);字元串常量(用雙引號括起來的字元序列);浮點型常量(小數形式、指數形式)。
4. 表達式
算術表達式(整型表達式、實型表達式);邏輯表達式(用邏輯運算符連接的整型量,結果為一個整數0或1,邏輯表達式可以認為是整型表達式的一種特殊形式);字位表達式;強制類型轉換表達式(用「類型」運算符使表達式的類型進行強制轉換);逗號表達式;賦值表達式(將賦值號「=」右側表達式的值賦給賦值號左邊的變數);條件表達式;指針表達式(對指針類型的數據進行運算)。
5. 數據定義
對程序中用到的所有變數都需要進行定義。對數據定義其類型,需要時要指定其存儲類別。類型標識符可用:int、short、long、unsigned、char、float、double、struct 結構體名、union 共用體名等;存儲類別可用:auto、static、register、extern(如不指定存儲類別,作auto處理)。注意:外部數據定義只能用extern或static,而不能用auto或register。
6. 函數定義
形式為:存儲類別數據類型函數名(形參表列);形參說明;函數體。
函數的存儲類別只能用extern或static。函數體是用花括弧括起來的,可包括數據定義和語句。
7. 變數的初始化
可以在定義時對變數或數組指定初始值;靜態變數或外部變數如未初始化,系統自動使其初值為零(對數值型變數)或空(對字元型數據);對自動變數或寄存器變數,若未初始化,則其初值為一不可預測的數據;只有靜態或外部數組才能初始化。

⑥ C語言中完整表達式的概念

C 語言中的完整表達式的概念中,除了有需要表達的操作符(例如:!=、==,等等)、以及操作數之外,該表達式還必須要符合 C 語言的語法結構(例如:括弧的配對等),否則的話,即使操作符、操作數都具備,那麼該表達式也不能夠稱作是一個完整的邏輯表達式。舉例如下:
#include <stdio.h>
void main( )
{
int num ;
scanf("%d", &num ) ;
if( ( num < 0 ) || ( num > 100 ) ) /* 該表達式即為一個邏輯表達式 */
{
printf("num is Error !\n") ;
exit(1) ;
}
else
printf("num is correct !\n") ;
}
其中:if( ( num < 0 ) || ( num > 100 ) ) 就是一個正確、完整的邏輯表達式。該表達式用於判斷 num 的數值若小於 0,或者(用 || 表示) num 的數值大於 100,則認為 num 是錯誤的。
但是若想表達同樣的意思,if( ( num < 0 ) || ( num > 100 ) ,該表達式的其他地方都沒有改變,僅僅是右邊缺少了一個英文右括弧,那麼該表達式不符合 C 語言的語法結構,這樣的程序,C 編譯器也無法正確編譯運行,所以說該表達式就不是一個完整的表達式。

⑦ C語言中的 (表達式1)(表達式2):(表達式3) 什麼意思

  1. 表達式1一般是判斷語句的,如果是true,則返回表達式2,否則返回表達式3。

  2. 舉個列 :(1>2)?1:2 ,因為1<2的,結果是false,所以返回表達式3, (1>0)?2:2, 因為1>0的,結果是true,所以返回表達式2。

  3. 如果表達式1 的值為真,那麼以表達式2 的值作為整個條件表達式的值,否則以表達式3 的值作為整個條件表達式的值。

  4. C語言是一種計算機程序設計語言,它既具有高級語言的特點,又具有匯編語言的特點。

  5. 它的應用范圍廣泛,具備很強的數據處理能力,不僅僅是在軟體開發上,而且各類科研都需要用到C語言,適於編寫系統軟體,三維,二維圖形和動畫,具體應用比如單片機以及嵌入式系統開發。

  6. C語言是一個有結構化程序設計、具有變數作用域(variable scope)以及遞歸功能的過程式語言。

  7. C語言傳遞參數均是以值傳遞(pass by value),另外也可以傳遞指針(a pointer passed by value)。

  8. C語言的優點是簡潔緊湊、靈活方便;運算符豐富;數據類型豐富;表達方式靈活實用;允許直接訪問物理地址,對硬體進行操作;生成目標代碼質量高,程序執行效率高;可移植性好和表達力強等。

  9. C語言的缺點主要表現在數據的封裝性上,這一點使得C在數據的安全性上有很大缺陷,這也是C和C++的一大區別。

  10. 且C語言的語法限制不太嚴格,對變數的類型約束不嚴格,影響程序的安全性,對數組下標越界不作檢查等。從應用的角度,C語言比其他高級語言較難掌握。

⑧ 在C語言中:表達式是什麼意思

表達式由運算符、常量及變數構成。C語言的表達式基本遵循一般代數規則,有幾點卻是與C語言緊密相關的,以下將分別加以討論。
2.7.1 表達式中的類型轉換
混合於同一表達式中的不同類型常量及變數,應均變換為同一類型的量。C語言的編譯程序將所有操作數變換為與最大類型操作數同類型。變換以一次一操作的方式進行。具體規則如下:

1)所有char及shortint型量轉為int型,所有float轉換為double。
2)如操作數對中一個為longdouble,另一個轉換為longdouble。①要不然,一個為double,另一個轉為double。②要不然,一個為long,另一個轉為long。③要不然,一個為unsigned,另一個轉為unsigned。
一旦運用以上規則。每一對操作數均變為同類型。注意,規則2)有幾種必須依次應用的條件。
圖2-1示出了類型轉換。首先,charch轉換成int,且floatf轉換成double;然後ch/i的結果轉換成double,因為f*d是double;最後由於這次兩個操作數都是double,所以結果也是double.
2.7.2構成符cast
可以通過稱為cast的構成符強迫一表達式變為特定類型。其一般形式為:
(type)expression(type)是標准C語言中的一個數據類型。例如,為確保表達式x/2的結果具有類型float,可寫為:
(float)x/2通常認為cast是操作符。作為操作符,cast是一元的,並且同其它一元操作符優先順序相同。雖然cast在程序中用得不多,但有時它的使用的確很有價值。例如,假設希望用一整數控制循環,但在執行計算時又要有小數部分。

若沒有cast(float),就僅執行一次整數除;有了cast就可保證在屏幕上顯示答案的小數部分。
2.7.3空格與括弧
為了增加可讀性,可以隨意在表達式中插入tab和空格符。例如,下面兩個表達式是相同的。
x=10/y*(127/x);x=10/y*(127/x);
冗餘的括弧並不導致錯誤或減慢表達式的執行速度。我們鼓勵使用括弧,它可使執行順序更清楚一些。例如,下面兩個表達式中哪個更易讀一些呢?
x=y/2-34*temp&127;x=(y/2)-((34*temp)&127);
2.7.4C語言中的簡寫形式
C語言提供了某些賦值語句的簡寫形式。例如語句:
x=x+10;
在C語言中簡寫形式是:
:x+=10;

這組操作符對+=通知編譯程序將X+10的值賦予X。這一簡寫形式適於C語言的所有二元操作符(需兩個操作數的操作符)。在C語言中,
variable=variable1operatorexpression;
與variable1operator=expression相同。請看另一個例子:
x=x-100;
;
其等價語句是
x-=100;

⑨ 從鍵盤輸入一個表達式,判斷它是否符合下面的語法規則 的c語言程序

提供思路:
1
雙重循環遍歷表達式看否規定字元外字元
2
遍歷表達式查找『(』找則繼續查找『)』找則報錯(或者要求括弧必須東西設報錯條件)
3
循環遍歷表達式別判斷運算符(+-*/)等兩側否寫字母或()結構代替數值其()結構判斷第二步寫函數運算符前或字元串片段作輸入參數
4
結束
臨想能漏洞自斟酌問題要自解決嘛靠別自東西啊

⑩ C語言中賦值語句的語法是怎樣的

賦值的語法規則就是:

數據類型 變數名 = 表達式

表達式可以理解為一個值或一個計算公式就行,表達式加一個英文符號分號就是語句。

例如:

我們今天要用到的,我買了幾斤蘋果。

就可以這樣寫:

方式一:

Int apple_count = 0; //告訴計算機apple_count是用來存買蘋果的斤數的,默認為0;

方式二:

Int apple_count; //告訴計算機apple_count是用來存買蘋果的斤數的,以後再告訴計算機它等於多少,現在不知道;

(10)c語言表達式語法規則擴展閱讀

1、C語言中,賦值運算的操作是有方向的,即將右側表達式的值(也稱為右值)賦值左側的變數,只能是標識一個特定存儲單元的變數名。

2、由於變數名只能出現在賦值運算符的左邊,因此它也被稱為左值;由於常量只能出現在賦值運算符的右邊,因此它也被稱為右值。左值可以用作右值,但右值不能用作左值。

熱點內容
反編譯軟體id 發布:2024-04-20 10:29:49 瀏覽:44
視頻太長怎麼壓縮發微信 發布:2024-04-20 10:00:14 瀏覽:384
顯卡怎麼保存配置 發布:2024-04-20 09:28:52 瀏覽:596
校園交易網站源碼 發布:2024-04-20 09:18:54 瀏覽:701
江蘇北斗授時伺服器ip雲空間 發布:2024-04-20 08:53:50 瀏覽:931
dedecms批量上傳圖片 發布:2024-04-20 08:42:11 瀏覽:966
酷q如何編譯 發布:2024-04-20 08:41:27 瀏覽:79
安卓手機數字人民幣怎麼下載 發布:2024-04-20 08:38:21 瀏覽:114
access如何配置資料庫 發布:2024-04-20 08:37:35 瀏覽:504
手寫輸入演算法 發布:2024-04-20 08:29:31 瀏覽:258