c語言程式設計那個void和後面一點花括號的,表示什麼意思啊?switch(oper),在使用者輸入

時間 2021-05-07 20:01:34

1樓:匿名使用者

void表示無型別,這裡void和後面的花括號表示的是一個沒有返回值的函式,花括號是用於限定函式的語句的範圍。c語言中常見函式定義有以下兩種。

無參函式定義的一般形式:

型別識別符號  函式名()

其中型別識別符號和函式名稱為函式頭。型別識別符號指明瞭本函式的型別,函式的型別實際上是函式返回值的型別。該型別識別符號與前面介紹的各種說明符相同。

函式名是由使用者定義的識別符號,函式名後有一個空括號,其中無引數,但括號不可少。

{}中的內容稱為函式體。在函式體中宣告部分,是對函式體內部所用到的變數的型別說明。

有參函式定義的一般形式:

有參函式定義的一般形式如下:

型別識別符號  函式名(形式參數列列)

有參函式比無參函式多了一個內容,即形式參數列列。在形參表中給出的引數稱為形式引數,它們可以是各種型別的變數,各引數之間用逗號間隔。在進行函式呼叫時,主調函式將賦予這些形式引數實際的值。

形參既然是變數,必須在形參表中給出形參的型別說明。

在很多情況下都不要求無參函式有返回值,此時函式型別符可以寫為void。

switch用在c語言中它經常跟case一起使用,是一個判斷選擇語句。用於多分支選擇的其一般形式為:

switch(表示式)

其語義是:計算表示式的值。並逐個與其後的常量表示式值相比較,當表示式的值與某個常量表示式的值相等時,即執行其後的語句,然後不再進行判斷,繼續執行後面所有case後的語句。

如表示式的值與所有case後的常量表示式均不相同時,則執行default後的語句。

就拿你上面的例子,switch執行哪條語句就看你的引數滿足哪個case。你的引數oper的值為1就執行case 1那條語句,即列印輸出c1。

2樓:

void那個函式說明畫一條分界線,類似於----------------分割線,

其實在switch之前,c1c2等等結果已經被計算出來,後來輸入oper,只是用switch匹配,看oper到底和case中哪個相等,就輸出哪個結果啊~

c語言 switch的用法

3樓:四舍**入

switch用在程式設計中,如c語言中它經常跟case一起使用,是一個判斷選擇**。其功能就是控制業務流程流轉的。

c語言程式語句switch語句的語法如下(switch,case和default是關鍵字):

switch ( controllingexpression )

4樓:彼岸花

c語言程式語句switch:

switch用在程式設計中,如c語言中它經常跟case一起使用,是一個判斷選擇**。其功能就是控制業務流程流轉的。

switch語句的語法如下(switch,case和default是關鍵字):

switch ( controllingexpression )

遵守switch語句規則

switch語句非常有用,但在使用時必須謹慎。所寫的任何switch語句都必須遵循以下規則:

只能針對基本資料型別使用switch,這些型別包括int、char等。對於其他型別,則必須使用if語句。

case標籤必須是常量表示式(constantexpression),如42或者"42"。如果需要在執行時計算case標籤的值,必須使用if語句。

case標籤必須是惟一性的表示式;也就是說,不允許兩個case具有相同的值。

c語言switch應用例子:

例一:#include

int main()

}例二:

#include

int main()

}例三:

輸入年月日,判斷這一天是這一年的第幾天。

#include

int main()

printf("%4d年%2d月%2d日是這一年的第%d天。\n",year,month,date,days);}

5樓:金剛2q疕k缹

凡是使用過的人都會有同樣的感覺——c語言的使用靈活這個特點既是優點又是缺點, 因為對精通c語言的使用者來講, 靈活就意味著程式設計可以無拘無束, 甚至隨心所欲; 但對初學者或者是尚未摸著規律的使用者來說, 有時候就會覺得c程式設計有點象霧裡看花, 摸不著頭腦。 因為靈活就意味著沒有一個標準。 而實際上,c 語言和其它計算機語言一樣, 只要你真正掌握了該語言的每一個語句的特點, 理解、 運用就不難掌握了。

下面就c語言中switch 語句的使用特點談談自己的體會。 ---- switch 語句的格式如下: switch( 表示式) ---- 從表面上看來,switch 語句與pascal 語言中的case 語句以及foxbase 中的do case 語句非常類似, 只是關鍵字有所不同:

一個是switch; 而另一個是case 或do case。 但如果仔細閱讀過教材或有關參考書的話, 就絕不會有此想法。 從語句的功能上來看,pascal 和case 語句或foxbase 的do case 語句中的常量表示式是用來與case 後面的表示式比較以確定執行哪一個語句, 一旦執行了某一語句, 則會自動地結束這一case 後的語句; 而c 的switch 語句則不然。

首先,switch 語句中的常量表示式只是起到一個入口作用, 一旦執行了相應的語句後, 只要沒有強迫中斷語句(break),它就會一直按順序繼續執行下去, 也就是會執行其它case 後面的語句, 直到遇到「}」 符號才停止。 乍看覺得有點不可事議, 但若仔細回味且切身程式設計體會, 那麼就會感司到c的switch 語句的獨到之處。 接下來就幾個具體例子來剖析:

switch 語句的特點以及區別於其它語言中的相應語句的妙處。 ---- 第一個例子: 根據輸入的百分制成績, 然後給出『a』 ~『e』 相應的等級符(90-100 為『a』、80-89 為『b』、70-79 為『b』、60-69 為『c』、0-59 為『e』)。

主要的處理程式段如下:(temp、score、grade 皆為整型變數) temp=score/10; switch(temp) printf(「the grade is %c」,grade); ---- 仔細閱讀這段程式( 根據c語言的特點),就會發現有很多錯誤。 首先, 對100 分和低於50 分的情況沒有考慮; 其次,c 語言的switch 特點是順序執行, 那麼這段程式不輸入的分數如何, 最後的輸出都將是『e』。

因此, 修改這段程式, 可以得到一個正確答案是: temp=score/10; switch(temp) printf(「the grade is %c,grade」); ---- 但這麼一個結果還不算是一個好的c程式, 因為它只是能得到正確的解, 沒有真正用到c的特點。 如果將c的特點運用到這段程式中, 則程式將優化成如下:

grade=『a』; temp=score/10; switch(temp) printf(「the grade is %c,grade」); ---- 從這段程式中, 我們可以體會到前面所說的該語句的特點。 ---- 第二個例子: 運輸公司對使用者計算運費。

距離(s) 越遠, 每公里運費越低。 具體標準如下: s < 250 (km) 沒有折扣 250 < =s < 500 (km) 2% 折扣 500 < =s < 1000 (km) 5% 折扣 1000 < =s < 2000(km) 8% 折扣 2000 < =s < 3000(km) 10% 折扣 3000 < =s (km) 15% 折扣 ---- 設每公里每噸貨物的基本運費為p, 貨物重為w, 距離為s, 折扣為d, 則總運費計算公式為:

---- f=p*w*s*(1-d) ---- 分析此問題, 折扣的變化是有規律的: 折扣的「 變化點」 都是250 的倍數(250,500,1000,2000,3000)。利用這一特點, 可以再設一變數c, 它代表250 的倍數。

當c<1 時, 無折扣;1<=c<2 時, 折扣為d=2%;2<=c<4 時,d=5%;4<=c<8 時,d=8%;8<=c<12 時,d=10%; c>=12 時,d=15%。 所以可以有如下沒有錯誤的程式段>=3000)c=12 else c=s/250 switch(c) f=p*w*s*(1-d/100.

0); printf(「freight%15.f」,f); ---- 如同前一個題目, 這個程式段也完全可以利用switch 特點, 改進優化得到如下程式段>=3000)c=12 else c=s/250 switch(c) f=p*w*s*(1-d/100.

0); printf(「freight%15.4f」,f); ---- 從上面兩個例子分析, 使我們可以比較清楚地看見c語言中switch 語句與其它語言中相應語句的區別。 儘管在學習和教計算機語言的過程中, 我們始終認為語言是相通的, 這樣便於學習一門新的語言。

但是真正要把某一門計算機語言學好, 非得掌握它的特點。 ---- 這裡僅僅是自己在程式設計實踐過程中的一點體會, 有錯誤的地方懇請批評指正。 希望對你有幫助!

6樓:匿名使用者

特意找課本看了一下:

switch(表示式)

其語義是:計算表示式的值。 並逐個與其後的常量表示式值相比較,當表示式的值與某個常量表示式的值相等時, 即執行其後的語句,然後不再進行判斷,繼續執行後面所有case後的語句。

如表示式的值與所有case後的常量表示式均不相同時,則執行default後的語句。

在switch語句中,「case 常量表示式」只相當於一個語句標號, 表示式的值和某標號相等則轉向該標號執行,但不能在執行完該標號的語句後自動跳出整個switch 語句,所以出現了繼續執行所有後面case語句的情況。 這是與前面介紹的if語句完全不同的,應特別注意。為了避免上述情況, c語言還提供了一種break語句,專用於跳出switch語句,break 語句只有關鍵字break,沒有引數。

在後面還將詳細介紹。修改例題的程式,在每一case語句之後增加break 語句, 使每一次執行之後均可跳出switch語句,從而避免輸出不應有的結果。

關於C語言和程式設計,用C語言程式設計和用C 語言程式設計區別大嗎?

一 工欲善其事,必先利其器 這裡介紹幾個學習c語言必備的裝置和書籍 a 開發環境 例如turbo c 2.0,這個曾經佔據了dos時代開發程式的大半個江山。但是現在windows時代,用turbo c有感覺不方面,編輯程式起來很吃力,並且拖放,更沒有函式變數自動感應功能,查詢參考資料也不方便。建議使...

C語言程式設計求序列前N項和,C語言程式設計 本題要求編寫程式,計算序列 1 1 4 1 7 1 10 的前N項之和

2 1 3 2 5 3 8 5 這個數列每項的分子 分母分別是fibonacci數列的後一項與前一項。求這一數列前n項的和可採取n由鍵盤輸入,設一迴圈按fibonacci數列規律求出分子與分母,將將分式轉換為浮點除法求值累加獲得最後結果。舉例 如下 include stdio.h int main ...

C語言程式設計技巧關於const和define的區別心得

1 define是c語言中的預處理指令,也就是,define定義的 常數 是編譯器進行編譯前,由前處理器將 define定義的符號替換掉。這個動作與我們在編輯文件時經常使用文字 替換 操作極為相似 正是這個原因,導致 define定義的常數不是 強型別 嚴格地講,define定義的只是文字 3 c ...