㈠ c語言switch語句
樓主好,樓上的哥們好!
樓上的兩位哥們都是直接把x當整型處理的,樓主並沒有說x是整型啊,對不對?
這是我的程序:
#include
<stdio.h>
main()
{
double
x,y;
int
a;
scanf("%lf",&x);
a=(int)x;
/*將x的值強制轉換為整形,也就是截去小數點後面的,賦給a*/
switch(a)
{
case
-4:y=x-1;break;
case
-3:y=x-1;break;
case
-2:y=x-1;break;
case
-1:y=x-1;break;
/*********************
其實上面這一段可以寫成這樣
case
-4:
case
-3:
case
-2:
case
-1:
y=x-1;break;
簡化程序
下邊這段也同理....
***********************/
case
7:y=x+1;break;
case
6:y=x+1;break;
case
5:y=x+1;break;
case
4:y=x+1;break;
case
3:y=x+1;break;
case
2:y=x+1;break;
case
1:y=x+1;break;
case
0:y=x;break;
default:printf("Input
Error\n");goto
loop;
}
printf("x=%lf\ny=%lf\n",x,y);
loop:;
getch();
}
這樣不管你輸入是整數還是浮點數都行啦....
其實一樓的哥們的方法超好啊。如果把int
x,y改成double
x,y就完美了..(這好像不是個問題.....)
程序我測試過了,沒發現問題。(餓只是說餓沒有發現問題,誰發現的問題快點指正!!!)
====================================
lipbb說的很對,上面我寫的程序確實有錯誤....懶得改了.....這是我想的另一個方法:
用switch嵌套,餓測試過了,沒發現問題。(餓只是說餓沒有發現問題,誰發現的問題快點指正!!!)
#include
<stdio.h>
main()
{
double
x,y;
printf("please
input
x\n");
scanf("%lf",&x);
switch(-5<x&&x<0)
{
case
1:y=x-1;break;
case
0:
{
switch(x==0)
{
case
1:y=x;break;
case
0:
{
switch(0<x&&x<8)
{
case
1:y=x+1;break;
case
0:printf("Input
Error\n");goto
loop;
}
}break;
}
}break;
}
printf("x=%lf\ny=%lf",x,y);
loop:;
getch();
}
樓主有不明白的地方可以給我留言。
㈡ switch(C語言中)是什麼意思
C語言中的SWITCH是計算表達式的值。
並逐個與其後的常量表達式值相比較,當表達式的值與某個常量表達式的值相等時,
即執行其後的語句,然後不再進行判斷,繼續執行後面所有case後的語句。
其一般形式為:
switch(表達式)。case
常量表達式1:
語句1 case
常量;表達式2:
語句2
case
常量;
表達式n:
語句n, default:
語句n+1。switch
是分支語句,就是比較強大的if集;
default為不滿足所有的switch條件則後面的句子被執行。一般將default寫在switch中的最後。
C語言雖然沒有限制
if
else
能夠處理的分支數量,但當分支過多時;
用
if
else
處理會不太方便,而且容易出現
if
else
配對出錯的情況。
(2)switchc語言擴展閱讀:
switch語法
1、Switch用在編程中,如C語言中它經常跟Case一起使用,是一個判斷選擇代碼。其功能就是控制業務流程流轉的。
2、直線翻譯:switch語句,即「切換」語句;case即「情況」。
3、switch語句非常有用,但在使用時必須謹慎。所寫的任何switch語句都必須遵循以下規則:
4、只能針對基本數據類型中的整型類型使用switch,這些類型包括int、char等。
5、對於其他類型,則必須使用if語句。switch()的參數類型不能為實型
。
6、case標簽必須是常量表達式(constantExpression),如42或者"42"。
7、case標簽必須是惟一性的表達式;也就是說,不允許兩個case具有相同的值。
參考資料來源:網路:switch
㈢ C語言:switch語句用法
case
(c>=90
&&
c<=100):
case後面的必須是一個常量。
你這個可以先將成績除以10,再用switch
#include
"stdio.h"
void
main()
{
char
c;
/*這里別用char,改成:int
c,d;*/
scanf("%c",&c);
/*這一句也改成scanf("%d",&c);最好前面再加一句,printf("請輸入成績:");
在這句後面加一句d=c/10;*/
switch(c)
/*然後switch裡面用d來判斷,switch(d)*/
{
case
(c>=90
&&
c<=100):printf("成績的等級為:A.\n");
break;
/*改成:
case
(10):
case
(9):printf("成績的等級為:A.\n");break;
case
(c>=80
&&
c<=89):printf("成績的等級為:B.\n");
break;
/*改成:case
(8):printf("成績的等級為:B.\n");
break;
}
}
因為90到100之間的數經過除以10再取整以後就變成了9;100/10等於10,又因為case調用同一個語句的時候允許就在最後一個語句寫上那個語句,而將前面的那幾個省略掉,所以case
(10):後面的就省掉了,當然寫上也不會錯。
你的補充的那個,你可以把它分開表示,就像我給你弄的那個case
(c>=90
&&
c<=100):printf("成績的等級為:A.\n");
break;
/*改成:
case
(10):
case
(9):printf("成績的等級為:A.\n");break;
雖然有點糾纏不清的感覺,但是希望對解決你的疑問有一定的幫助,呵呵。。。
㈣ C語言中switch函數具體的用法
思路都要結合實例來說的,總之當你需要對整數或者字元進行判斷,進行相應的操作,並且判斷的數量不多就可以用,具體示例可以參照網頁鏈接
㈤ c語言中switch怎麼用
簡單的說switch語句也是屬於判斷語句,if else語句適合3個以內的判斷,但是多了用if就不太方便了,所以這時3個以上的判斷用switch語句就比較方便了,結構就像樓上的兄弟們那樣寫的,大概怎麼用我舉個例子你就懂了。
例:判斷一周的食譜,就是星期幾的食譜是什麼,首先一個星期7天,那麼判斷七次,用switch語句寫法如下:
#include<stdio.h>
void main()
{
int a;//定義變數用於開辟1到7的數字即一星期的天數。
printf("看看星期幾的食譜是什麼?");
scanf("%d",&a);
switch(a)//開始判斷1-7的食譜。
{
case 1:printf("星期一吃水果 ");
break;//結束語句,判斷這天後提示完就不執行下面的語句了,否則邏輯錯誤。
case 2:printf("星期二吃蔬菜 ");
break;
case 3:printf("星期三吃火鍋 ");
break;
case 4:printf("星期四吃米飯 ");
break;
case 5:printf("星期五吃西餐 ");
break;
case 6:printf("星期六吃米飯 ");
break;
case 7:printf("星期天吃滿漢全席 ");
break;
default:printf("請輸入正確的日期 ");//default語句類似else,如果不輸入1到7的正確日期就顯示這個語句。
break;
}
}
(5)switchc語言擴展閱讀
if 語句:「如果」語句;if—else 語句:「若…(則)…否則…」語句;switch 語句:「切換」語句;switch—case:「切換—情況」語句。
跳轉結構
return:用在函數體中,返回特定值(如果是void類型,則不返回函數值)。(K&R時期引入)
continue:結束當前循環,開始下一輪循環。(K&R時期引入)
break:跳出當前循環或switch結構。(K&R時期引入)
goto:無條件跳轉語句。(K&R時期引入)
分支結構
if:條件語句,後面不需要放分號。(K&R時期引入)
else:條件語句否定分支(與if連用)。(K&R時期引入)
switch:開關語句(多重分支語句)。(K&R時期引入)
case:開關語句中的分支標記,與switch連用。(K&R時期引入)
default:開關語句中的「其他」分支,可選。(K&R時期引入)
㈥ C語言中switch語句的用法
在每個case語句後加上break語句(即在每個printf語句後加上一句break;),執行break後直接跳出switch。這樣就只輸出一個了
㈦ C語言中的SWITCH是什麼意思
1、SWITCH語句的字面意思是開關,是用來進行多重選擇。具體的用法首先打開C-Free5.0軟體,然後新建一個名為switch.c文件,然後在引入頭文件和main主函數:
㈧ c語言 switch的用法
switch用在編程中,如C語言中它經常跟case一起使用,是一個判斷選擇代碼。其功能就是控制業務流程流轉的。
C語言程序語句switch語句的語法如下(switch,case和default是關鍵字):
switch ( controllingExpression )
{
case constantExpression1 :
case constantExpression2 :
case constantExpression3 :
statements;
//當滿足constantExpression1、constantExpression2、constantExpression3任何一個都執行statements
break;
case constantExpression :
statements ;
break;
...
default :
statements ;
break;
}
(8)switchc語言擴展閱讀:
Switch在一些計算機語言中是保留字,其作用大多情況下是進行判斷選擇。以C語言來說,switch(開關語句)常和case break default一起使用。
遵守switch語句規則
switch語句非常有用,但在使用時必須謹慎。所寫的任何switch語句都必須遵循以下規則:
只能針對基本數據類型中的整型類型使用switch,這些類型包括int、char等。對於其他類型,則必須使用if語句。
switch()的參數類型不能為實型 。
case標簽必須是常量表達式(constantExpression),如42或者'4'。
case標簽必須是惟一性的表達式;也就是說,不允許兩個case具有相同的值。
㈨ c語言中switch怎麼用
C語言中switch是條多分支選擇語句。
通常情況下格式如下:
switch(表達式){
case常量表達式1:語句1;
case常量表達式2:語句2;
…
case常量表達式n:語句n;
default:語句n+1;
}
其中default不一定放在最後
完整格式:
switch(表達式){
case常量表達式1:語句1;
case常量表達式2:語句2;
…
case常量表達式n:語句n;
default:語句n+1;
case常量表達式n+1:語句n+1;
...
case常量表達式m:語句m;
}
程序會計算表達式里的值,然後和所有的常量表達式進行比較
遇到和常量表達式的值相等的,則從相應的case往下執行,直到結束或遇到break,跳出該switch
如果沒有遇到相同的常量表達式,則從default往下執行,直到結束或遇到break,跳出該switch
注意:
1、通常每個switch後面加break,也可以沒有。沒有則繼續往下運行所有case和default里的代碼,直到結束或遇到break;
2、case後面是常量表達式,不可以跟變數。