A. c語言switch語句是什麼
c語言switch語句是一種多分支選擇語句,在實際應用中,要在多種情況中選擇一種情況,執行某一部分語句。
程序執行時,首先計算表達式的值,與case後面的常量表達式值比較,若相等就執行對應部分的語句塊,執行完後利用break語句跳出switch分支語句。若表達式的值與所有的case後的常量表達式均不匹配,則執行default項對應的語句n,執行後跳出switch分支語句。
case後面的常量表達式只能是整型、字元型或枚舉型常量的一種;各case語句表達式的值各不相同,只起到一個標號作用,用於引導程序找到對應入口。這里的語句塊可以是一條語句,或其它復合語句。語句塊可以不用花括弧「{}」。
各個case語句並不是程序執行的終點,通常需要執行break語句來跳出switch分支語句;若某case語句的語句塊被執行後,若其後沒有break語句,則順序執行其它case語句,直到遇到break語句或後面所有case語句全部執行完,再跳出switch分支語句。
多個case可以共用一組執行語句塊。各個case和default出現的先後次序,並不影響執行結果。
B. c語言中的switch(x)函數中的x可以為中文字元串嗎
不可以!!
switch(x) x只能是整型類數據,如:int char long short 等
C. C語言用switch實現從鍵盤輸入一個字元,判斷是數字還是其它
使用switch判斷比較麻煩,不建議使用這種方式。 char ch; // scanf ch switch(ch) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': printf("%c is a number.\n", ch); break; case 'a': case 'b': .... case 'z': printf("%c is a lower alphabet.\n",ch); break; case 'A': ... case 'Z': printf("%c is a upper alphabet.\n",ch); break; default: printf("%c is other ascII code.\n",ch); }
建議使用#include <ctype.h>中的函數
isdigit
islower
isupper
來進行判斷。
D. c程序switch語句怎樣輸入中文字元串
我自己寫了個程序,可以實現字元串的輸入:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
int i, len;
char str[4],love[4]={"YES"},hate[3]={"NO"};
printf("你猜她愛我么?<yes/no>:");
gets(str);
len=strlen(str);
for (i = 0; i < len; i++)
if (islower(str[i]))
{
str[i] -= 32;
}
puts(str);
if(strcmp(str,love)==0) printf("那是必須的!\n");
else
if(strcmp(str,hate)==0) printf("怎麼可能?\n");
else printf("輸入錯誤!\n");
return 0;
}
下面是我用字元串做參數的switch();測試一下,
#include <stdio.h>
int main()
{
int i, len;
char str[4];
printf("你說我帥么?<yes/no>:");
scanf("%s",str);
switch (str)
{
case "yes" : printf("that is right!");break;
case "no" : printf("are you crazy?");break;
}
return 0;
}
發現switch語句只能用數值或者字元作為參數,因此lz說的情況是無法實現的。
E. c語言switch用法舉例內容是什麼
switch用法舉例:
#include <stdio.h>
int main(){
int a;
printf("Input integer number:");
scanf("%d",&a);
switch(a){
case 1: printf("Monday "); break;
case 2: printf("Tuesday "); break;
case 3: printf("Wednesday "); break;
case 4: printf("Thursday "); break;
case 5: printf("Friday "); break;
case 6: printf("Saturday "); break;
case 7: printf("Sunday "); break;
default:printf("error "); break;
}
return 0;
}
運行結果:
Input integer number:4↙
Thursday
解析:
1、default無論放在case前面還是後面都是執行完case後再執行case,(也可以不加default語句)。
2、case後面的常量表達式只能是整型、字元型或枚舉型常量的一種語句,結束後一定要帶break,不然還會繼續執行下一個case。
遵守switch語句規則
switch語句非常有用,但在使用時必須謹慎。所寫的任何switch語句都必須遵循以下規則:
只能針對基本數據類型中的整型類型使用switch,這些類型包括int、char等。對於其他類型,則必須使用if語句。
switch()的參數類型不能為實型 。
case標簽必須是常量表達式(constantExpression),如42或者'4'。
case標簽必須是唯一性的表達式;也就是說,不允許兩個case具有相同的值。
F. switch是什麼意思 在C語言中
是一個循環判斷.通俗點說,它後面的括弧里是循環條件,下面的case就是它可能遇到的結果,遇到一個case該怎樣執行.C++的switch只支持整型表達式、以及可以轉化成整型的表達式.這是說,switch不支持字元串、數組、浮點數....
G. C語言中switch語句什麼意思
Switch在C語言中是保留字,其作用是進行判斷選擇。switch(開關語句)常和case break default一起使用。
Switch用在編程中,如C語言中它經常跟Case一起使用,是一個判斷選擇代碼。其功能就是控制流程流轉的。直線翻譯:switch語句,即「切換」語句;case即「情況」。
當變數表達式所表達的量與其中一個case語句中的常量相符時,就執行此case語句後面的語句,並依次下去執行後面所有case語句中的語句,除非遇到break;語句跳出switch語句為止。如果變數表達式的量與所有case語句的常量都不相符,就執行default語句中的語句。
(7)c語言switch中文字元擴展閱讀
switch語句規則——
switch語句非常有用,但在使用時必須謹慎。
只能針對基本數據類型中的整型類型使用switch,這些類型包括int、char等。對於其他類型,則必須使用if語句。
switch()的參數類型不能為實型 。
case標簽必須是常量表達式(constantExpression),如42或者'4'。
case標簽必須是惟一性的表達式;也就是說,不允許兩個case具有相同的值。
H. C語言中switch可以用中文嘛
switch()的括弧里用字元串可以正常編譯,不會報錯。但是執行結果肯定是錯誤的。
另外,對於case '張一',既然用的是單引號,那麼單引號中間只能是常量或字元,你用字元串,雖然也可以通過編譯,不過執行結果是錯誤的。
結論是用中文可以通過編譯,不過執行結果錯誤,得不到正確的結果。
I. switch(C語言中)是什麼意思
Switch在一些計算機語言中是保留字,其作用大多情況下是進行判斷選擇。以C語言來說,switch(開關語句)常和case break default一起使用。
switch(表達式)
{
case 整型數值1: 語句 1;
case 整型數值2: 語句 2;
......
case 整型數值n: 語句 n;
default: 語句 n+1;
}
它的執行過程是:
1) 首先計算「表達式」的值,假設為 m。
2) 從第一個 case 開始,比較「整型數值1」和 m,如果它們相等,就執行冒號後面的所有語句,也就是從「語句1」一直執行到「語句n+1」,而不管後面的 case 是否匹配成功。
3) 如果「整型數值1」和 m 不相等,就跳過冒號後面的「語句1」,繼續比較第二個 case、第三個 case……一旦發現和某個整型數值相等了,就會執行後面所有的語句。假設 m 和「整型數值5」相等,那麼就會從「語句5」一直執行到「語句n+1」。
4) 如果直到最後一個「整型數值n」都沒有找到相等的值,那麼就執行 default 後的「語句 n+1」。
(9)c語言switch中文字元擴展閱讀
舉例:
#include <stdio.h>
int main(){
int a;
printf("Input integer number:");
/*要求輸入的數字范圍1~7,對應輸出星期幾的英文單詞*/
scanf("%d",&a);
switch(a){
case 1: printf("Monday "); break;
case 2: printf("Tuesday "); break;
case 3: printf("Wednesday "); break;
case 4: printf("Thursday "); break;
case 5: printf("Friday "); break;
case 6: printf("Saturday "); break;
case 7: printf("Sunday "); break;
default:printf("error "); break;
}
return 0;
}
J. C語言switch
因為它初始化了數組的每一個元素都是零值,並且採用循環,每次處理一個字元,對相應的數組元素進行計數。所以,當循環結束時,就能正確統計出每個輸入數字字元的個數。'1'與1是不一樣的。他們在計算機中都是採用二進制儲的整數存儲的,字元'1'的ASCII值是49,而數字1就是直接存儲一個二進制整數1。