㈠ 求c語言表達式大全
C語言語法參考大全(流程式控制制語句) ----------------------------------------------------------------------------------------------------------01條件語句的一般形式為: if(表達式) 語句1; else 語句2; 上述結構表示: 如果表達式的值為非0(TURE)即真, 則執行語句1, 執行完語 句1從語句2後開始繼續向下執行; 如果表達式的值為0(FALSE)即假, 則跳過語句1而執行語句2。 注意: 1. 條件執行語句中"else 語句2;"部分是選擇項, 可以預設, 此時條件語句變成: if(表達式) 語句1; 表示若表達式的值為非0則執行語句1 , 否則跳過語句1繼續執行。 2. 如果語句1或語句2有多於一條語句要執行時, 必須使用"{"和"}" 把這些語句包括在其中, 此時條件語句形式為: if(表達式) { 語句體1; } else { 語句體2; } 3. 條件語句可以嵌套, 這種情況經常碰到, 但條件嵌套語句容易出錯, 其原因主要是不知道哪個if對應哪else。 例如: if(x>20||x<-10) if(y<=100&&y>x) printf("Good"); else printf("Bad"); 對於上述情況, Turbo C2.0規定: else語句與最近的一個if語句匹配, 上例中的else與if(y<=100&&y>x)相匹配。為了使else與if(x>20||x<-10)相匹配, 必須用花括弧。如下所示: if(x>20||x<-10) { if(y<=100&&y>x) printf("Good"); } else printf("Bad"); 4. 可用階梯式if-else-if結構。 階梯式結構的一般形式為: if(表達式1) 語句1; else if(表達式2) 語句2; else if(表達式3) 語句3; . . else 語句n; 這種結構是從上到下逐個對條件進行判斷, 一旦發現條件滿點足就執行與它有關的語句, 並跳過其它剩餘階梯; 若沒有一個條件滿足, 則執行最後一個else語句n。最後這個else常起著"預設條件"的作用。 同樣, 如果每一個條件中有多於一條語句要執行時, 必須使用"{"和"}"把這 些語句包括在其中。 02switch語句 在編寫程序時, 經常會碰到按不同情況分轉的多路問題, 這時可用嵌套if-else-fi語句來實現, 但if-else-if語句使用不方便, 並且容易出錯。對這種情況, Turbo C2.0提供了一個開關語句。 開關語句格式為: switch(變數) { case 常量1: 語句1或空; case 常量2: 語句2或空; . . . case 常量n; 語句n或空; default: 語句n+1或空; } 執行switch開關語句時, 將變數逐個與case後的常量進行比較, 若與其中一個相等, 則執行該常量下的語句, 若不與任何一個常量相等, 則執行default 後面的語句。 注意: 1. switch中變數可以是數值, 也可以是字元。 2. 可以省略一些case和default。 3. 每個case或default後的語句可以是語句體, 但不需要使用"{"和"}"括起來。 下例的switch中變數為整數型。 main() { int test; for(test=0; test<=10; test++) { switch(test) /*變數為整型數的開關語句*/ { case 1: printf("%d ", test); break; /*退出開關語句*/ case 2: printf("%d ", test); break; case 3: printf("%d ", test); break; default: puts("Error"); break; } } } 下例的switch中變數為字元型。 #include<stdio.h> main() { char c; while(c!=27) /*循環直到按Esc鍵結束*/ { c=getch(); /*從鍵盤不回顯接收一個字元*/ switch(c) { case A: /*接收的字元為A*/ putchar(c); break; /*退出開關語句*/ case B: putchar(c); break; default: /*接收的字元非A和B*/ puts("Error"); break; } } } 03for循環 for循環是開界的。它的一般形式為: for(<初始化>; <條件表過式>; <增量>) 語句; (1)初始化總是一個賦值語句, 它用來給循環控制變數賦初值; (2) 條件表達式是一個關系表達式, 它決定什麼時候退出循環; (3) 增量定義循環控制變數每循環一次後按什麼方式變化。這三個部分之間用";"分開。 例如: for(i=1; i<=10; i++) 語句; 上例中先給i賦初值1, 判斷i是否小於等於10, 若是則執行語句, 之後值增加1。再重新判斷, 直到條件為假, 即i>10時, 結束循環。 注意: 1. for循環中語句可以為語句體, 但要用"{"和"}"將參加循環的語句括起來。 2. for循環中的"初始化"、"條件表達式"和"增量"都是選擇項, 即可以預設, 但";"不能預設。省略了初始化, 表示不對循環控制變數賦初值。 省略了條件表達式, 則不做其它處理時便成為死循環。省略了增量, 則不對循環控制變數進行操作, 這時可在語句體中加入修改循環控制變數的語句。 3. for循環可以有多層嵌套。 例16: main() { int i, j, k; printf("i j k "); for (i=0; i<2; i++) for(j=0; j<2; j++) for(k=0; k<2; k++) printf(%d %d %d ", i, j, k); } 04while循環與do-while 循環 while循環的一般形式為: while(條件) 語句; while循環表示當條件為真時, 便執行語句。直到條件為假才結束循環。並繼續執行循環程序外的後續語句. 例17: #include<stdio.h> main() { char c; c=; /*初始化c*/ while(c!=X0D) /*回車結束循環*/ c=getche(); /*帶回顯的從鍵盤接收字元*/ } 上例中, while循環是以檢查c是否為回車符開始, 因其事先被初始化為空,所以條件為真, 進入循環等待鍵盤輸入字元; 一旦輸入回車, 則c=X0D, 條件為假, 循環便告結束。 與for循環一樣, while循環總是在循環的頭部檢驗條件, 這就意味著循環可能什麼也不執行就退出。 注意: 1. 在while循環體內也允許空語句。 例如: while((c=getche())!=X0D); 這個循環直到鍵入回車為止。 2. 可以有多層循環嵌套。 3. 語句可以是語句體, 此時必須用"{"和"}"括起來。 例18: #include<stdio.h> main() { char c, fname[13]; FILE *fp; /*定義文件指針*/ printf("File name:"); /*提示輸入文件名*/ scanf("%s", fname); /*等待輸入文件名*/ fp=fopen(fname, "r"); /*打開文件只讀*/ while((c=fgetc(fp)!=EOF) /*讀取一個字元並判斷是否到文件結束*/ putchar(c); /*文件未結束時顯示該字元*/ } 05do-while 循環 do-while 循環的一般格式為: do 語句; while(條件); 這個循環與while循環的不同在於: 它先執行循環中的語句, 然後再判斷條件是否為真, 如果為真則繼續循環; 如果為假, 則終止循環。因此, do-while循環至少要執行一次循環語句。同樣當有許多語句參加循環時, 要用"{"和"}"把它們括起來。 06continue 語句 continue語句的作用是跳過循環本中剩餘的語句而強行執行下一次循環。 continue語句只用在for、while、do-while等循環體中, 常與if條件語句一起使用, 用來加速循環。 main() { char c; while(c!=0X0D) /*不是回車符則循環*/ { c=getch(); if(c==0X1B) continue; /*若按Esc鍵不輸出便進行下次循環*/ printf("%c ", c); } } 07break語句 break語句通常用在循環語句和開關語句中。當break用於開關語句switch中時, 可使程序跳出switch而執行switch以後的語句; 如果沒有break語句, 則將成為一個死循環而無法退出。 當break語句用於do-while、for、while循環語句中時, 可使程序終止循環而執行循環後面的語句, 通常break語句總是與if語句聯在一起。 即滿足條件時便跳出循環。 main() { int i=0; char c; while(1) /*設置循環*/ { c=; /*變數賦初值*/ while(c!=13&&c!=27) /*鍵盤接收字元直到按回車或Esc鍵*/ { c=getch(); printf("%c ", c); } if(c==27) break; /*判斷若按Esc鍵則退出循環*/ i++; printf("The No. is %d ", i); } printf("The end"); }
㈡ c語言的表達式是什麼
推薦你一個比較全面的資料。
http://wenku..com/view/f0e1d31fa8114431b90dd8f6.html
在C語言中,有以下幾類表達式:
算術表達式、關系表達式、邏輯表達式、賦值表達式、逗號表達式。
而單目我想應該是指單目運算符。運算所需變數為一個的運算符叫單目運算符
有以下幾類:
邏輯非運算符【!】、
按位取反運算符【~】、
自增自減運算符【++ --】、
負號運算符【-】、
類型轉換運算符【(類型)】、
指針運算符和取地址運算符【*和&】、
長度運算符【sizeof】
㈢ c語言有哪些表達式語句,規則是是什麼樣的
c語言中常用表達式有:
1.算術表達式;
2.賦值表達式;
3.逗號表達式;
4.關系表達式;
5.邏輯表達式。
希望對你有所幫助,祝你學習進步。
㈣ c語言中常量表達式有哪些舉點例子,謝謝!!!
C語言中的常量與常量表達式與變數
在程序運行過程中,其值不能被改變的量,稱為常量。
整型常量:1,0,-1
實型常量:8.2,-3.55
字元常量:'a', 'c'。
常量一般從其字面形式即可判斷。這種常量為字面常量或直接常量。
整型常量可分為:int, short int, long int, unsigned int, unsigned short, unsigned long.
浮點常量可分為:float, double, long double
字元常量:
字元串常量:
變數: 變數代表內存中具有特定屬性的一個存儲單元,它用來存放數據,也就是變數的值。
就是比如cout<<5*8+2/6<<endl; 表達式的值是一個定值,而不包含變數的式子!
那可不可以認為常量表達式就是常量?一般情況可以的,只要沒變數就可以了。
常量表達式顧名思義表達式由常量表示,如
double a = 3d + 2.1 + sizeof(double);
整型表達式是表達式由整型數據表示.
a[n];
維大小n必須為整型,系統不會自動將一個低精度的數轉換為高精度的數,所有a[3.4]不正確,必須為a[(int)3.4]
----------------------------------
表達式就有由一串「數字」和「符號」組成的式子,例如1+2是表達式,12*8-1*99也是表達式。C++
的「符號」除了普通的算術運算+-*/之外還有其他的。
常量表達式就是表達式裡面只有常量的式子,比如1+2是常量表達式,如果定義a為常量1,那麼a+2也是常量表達式。
如果定義變數a,那麼a+2就不是常量表達式。
㈤ C語言 什麼是表達式
C語言表達式的定義是:用C語言運算符將運算對象連接起來的式子,就叫表達式。
C語言在表達式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達式更為簡單,但初學者往往會覺的這種表達式難讀,關鍵原因就是對運算符和運算順序理解不透不全。
當多種不同運算組成一個運算表達式,即一個運算式中出現多種運算符時,運算的優先順序和結合規則就會顯得十分重要。
基本構成:
數據類型:C的數據類型包括:整型、字元型、實型或浮點型(單精度和雙精度)、枚舉類型、數組類型、結構體類型、共用體類型、指針類型和空類型。
常量與變數:常量其值不可改變,符號常量名通常用大寫。
變數是以某標識符為名字,其值可以改變的量。標識符是以字母或下劃線開頭的一串由字母、數字或下劃線構成的序列,請注意第一個字元必須為字母或下劃線,否則為不合法的變數名。變數在編譯時為其分配相應存儲單元。
數組:如果一個變數名後面跟著一個有數字的中括弧,這個聲明就是數組聲明。字元串也是一種數組。它們以ASCII的NULL作為數組的結束。要特別注意的是,中括弧內的索引值是從0算起的。
指針:如果一個變數聲明時在前面使用 * 號,表明這是個指針型變數。換句話說,該變數存儲一個地址,而 *(此處特指單目運算符 * ,下同。C語言中另有 雙目運算符 *) 則是取內容操作符,意思是取這個內存地址里存儲的內容。指針是 C 語言區別於其他同時代高級語言的主要特徵之一。
指針不僅可以是變數的地址,還可以是數組、數組元素、函數的地址。通過指針作為形式參數可以在函數的調用過程得到一個以上的返回值,不同於return(z)這樣的僅能得到一個返回值。
字元串:C語言的字元串其實就是以'