㈠ c語言 選擇語句 if switch 有什麼區別怎麼用
switch能做到的,if都能做到,反過來就不一定了。
switch是沒有>、<判斷
switch只能判斷整型數
多看看書。
㈡ 大一C語言求解switch語法和if語法有什麼區別 最好。舉個例子吧
//使用ifelse語句
#include<stdio.h>
#include<time.h>
intmain()
{
intcommand[4]={0,1,2,3}; /*定義一個數組*/
intnum;
structtm*sysTime;
printf("如需幫助可輸入數字0! "); /*輸出字元串*/
printf("請輸入命令符: "); /*輸出字元串*/
while(1)
{
scanf("%d",&num); /*獲得輸入數字*/
/*判斷用於輸入的字元*/
if(command[0]==num) /*如果輸入數字0 */
{
/*輸出幫助信息*/
printf("輸入數字1顯示系統日期,輸入數字2顯示系統時間,輸出字母3退出系統! ");
}
elseif(command[1]==num) /*如果是命令數字1*/
{
time_tnowTime;
time(&nowTime); /*獲取系統日期*/
sysTime=localtime(&nowTime); /*轉換為系統日期*/
printf("系統日期:%d-%d-%d ",1900+sysTime->tm_year,sysTime->tm_mon+1
,sysTime->tm_mday); /*輸出信息*/
}
elseif(command[2]==num) //如果是命令數字2*/
{
time_tnowTime;
time(&nowTime); /*獲取系統時間*/
sysTime=localtime(&nowTime); /*轉換為系統時間*/
printf("系統時間:%d:%d:%d ",sysTime->tm_hour,sysTime->tm_min
,sysTime->tm_sec); /*輸出信息*/
}
elseif(command[3]==num)
{
return0; /*退出系統*/
}
printf("請輸入命令符: "); /*輸出字元串*/
}
return0; /*程序結束*/
}
//使用switch語句
#include<stdio.h>
#include<time.h>
intmain()
{
//intcommand[4]={0,1,2,3};/*定義一個數組*/
intnum;
structtm*sysTime;
time_tnowTime;
printf("如需幫助可輸入數字0! ");/*輸出字元串*/
printf("請輸入命令符: ");/*輸出字元串*/
while(1)
{
scanf("%d",&num);/*獲得輸入數字*/
switch(num){
case0:
/*輸出幫助信息*/
printf("輸入數字1顯示系統日期,輸入數字2顯示系統時間,輸出字母3退出系統! ");
break;
case1:
time(&nowTime);/*獲取系統日期*/
sysTime=localtime(&nowTime);/*轉換為系統日期*/
printf("系統日期:%d-%d-%d ",1900+sysTime->tm_year,sysTime->tm_mon+1
,sysTime->tm_mday);/*輸出信息*/
break;
case2:
time(&nowTime);/*獲取系統時間*/
sysTime=localtime(&nowTime);/*轉換為系統時間*/
printf("系統時間:%d:%d:%d ",sysTime->tm_hour,sysTime->tm_min
,sysTime->tm_sec);/*輸出信息*/
break;
case3:
return0;
}
printf("請輸入命令符: ");/*輸出字元串*/
}
return0;/*程序結束*/
}
這兩個例子實現的是同樣的功能,if只是比較輸入的數字是不是與數組的相同
㈢ C語言if語句和switch語句怎麼同時使用啊
判斷使用哪個標准(國標、亞洲或中國)用switch,判斷胖瘦用if,就是點到點用switch,區間到點用if
㈣ C語言中if和switch有什麼區別
if和switch的主要區別如下:
1)if的括弧內的表達式可以分別是布爾類型的合法表達式、可以是所有大於0的正整數為true,反之為小於等於0的正整數為false、可以是常量、枚舉;而switch括弧內也符合前面if提到的外,就是當圓括弧內為正整數只能是0或1,其它的正整數屬於
default范圍。這點可以看如下代碼:
switch (2) // 除了0和1的其它正整數
{
case false: // 對應0
printf("false\n");
break;
case true: // 對應1
printf("true\n");
break;
default: // 對應非0和1以外的正整數
printf("其它\n");
break;
}2)盡管if括弧內也支持常量、枚舉但也是有前提的那就是常量或枚舉必須要顯式給出相應的數值。而switch則不必;
3)switch適合處理判斷分支較多的情況下(代碼可讀性好),而if適合處理判斷分支較少的情況下(反之代碼可讀性差,容易出現漏判或重復判斷)。
㈤ C語言中switch和if的適用方面有什麼區別
switch語句,可讀性更好,整體流程看起來清晰明確。
if語句適應性更強,可以處理更多的情況。
所有的switch語句都可以寫成if的形式,比如
switch(a)
{
case b:
break;
case c:
break;
default:
break;
}
可以寫作
if(a==b)//case b
{
}
else if(a==c) // case c
{
}
else //default.
{
}
但是switch 語句,僅能夠處理整型數值,即switch()括弧中的判斷的值,必須是整型的,而且每個case後面跟的值,也必須是整型的。
另外,對於大規模的連續數值,比如if(a>=1 && a<=100) 這樣的語句,要用switch則需要連續寫100個case,這種情況下,switch語句也是不適用的。
總體來說,對於散列的整型數據,用switch語句更清晰明確,而對於其它情況,if語句則更好。
㈥ C語言中if和switch的嵌套是怎麼回事
具體意思及代碼;
互相嵌套?switch(日期)
{
case 5月14:在家睡覺
break;
case 5月16:
if (工作日){
上班
}
break;
㈦ c語言里的if和switch語句
嗯!兩者之間是有很多相同之處,也有不同之處(這是廢話)!
使用時,明顯的不同之處在於:
1.if語句可以判斷一個范圍,如if(a>3);else
if(a>=0)等等;而switch只能是某個確定的常數值,如case
3、case
2等等。
2.if與句可以判斷表達式和變數,而switch中的case
不可以接常數表達式,更不可以接變數。
想了解更多你可以去搜索更多的資料!
㈧ switch與我if在C語言中的邏輯表達能力強弱
switch的限制很多,能用switch實現的就一定能用if實現,所以單論能力的話,if功能要比switch強大的多。
㈨ C語言中if else語句與switch語句區別
1 兩者本質的區別是 if-else語句更適合於對區間(范圍)的判斷,而switch語句更適合於對離散值的判斷
2 示例
判斷65分到85分之間的學生有哪些適合用if-else語句,因為[65,85]是區間
而判斷一個學生的班級是一班、二班還是三班適合用switch語句,因為一班、二班、三班是離散值
3 擴展
所有的switch語句都可以用if-else語句來替換(因為if-else語句只需對每個離散值分別做判斷即可),而並不是所有的if-else語句都可以用switch語句來替換(因為區間里值的個數是無限的並且switch所接受的值只能是整型或枚舉型,所以不能用case來一一列舉)。