淺談選擇結構if語句和switch語句的區別
1.選擇結構if語句格式及其使用
A:if語句的格式:
if(比較表達式1) {
語句體1;
}else if(比較表達式2) {
語句體2;
}else if(比較表達式3) {
語句體3;
}
else {
語句體n+1;
}
B:執行流程:
首先計算比較表達式1看其返回值是true還是false,
如果是true,就執行語句體1,if語句結束。
如果是false,接著計算比較表達式2看其返回值是true還是false,
如果是true,就執行語句體2,if語句結束。
如果是false,接著計算比較表達式3看其返回值是true還是false,
如果都是false,就執行語句體n+1。
C:注意事項:最后一個else可以省略,但是建議不要省略,可以對范圍外的錯誤值提示
2.選擇結構switch語句格式及其使用
A:switch格式:
switch(表達式) {
case 值1:
語句體1;
break;
case 值2:
語句體2;
break;
…
default:
語句體n+1;
break;
}
B:switch語句的格式解釋
(基本數據類型,只要能提升為int的都可以,引用數據類型中的枚舉(JDK1.5)和String(JDK1.7))
C:執行流程
先計算表達式的值
然后和case后面的匹配,如果有就執行對應的語句,否則執行default控制的語句
3:總結switch語句和if語句的各自使用場景
switch建議判斷固定值的時候用
if建議判斷區間或范圍的時候用
*用switch能做的,用if都能做,單反過來則不行
C語言編程題,選擇結構If語句
我用的是笨方法:先把a分別與b,c,d相比較,最小的值賦給a,然后b與c,d比較,最小的給b,然后c與d比較,較小的賦給c
#include<stdio.h>
void main()
{
int a,b,c,d,t;
printf("please input four number :");
scanf("%d%d%d%d",&a,&b,&c,&d);
if(a>b)
{
t = a;
a = b;
b = t;
}
if(a>c)
{
t = a;
a = c;
c = t;
}
if(a>d)
{
t = a;
a = d;
d = t;
}
if(b>c)
{
t = b;
b = c;
c = t;
}
if(b>d)
{
t = b;
b = d;
d = t;
}
if(c>d)
{
t = c;
c = d;
d = t;
}
printf("%d %d %d %d",a,b,c,d);
}
選擇分支結構中的if語句有幾種形式
sw
it
ch(變量名或變量表達式){
case 1:。;
case 2:。;
case 3:。;
.
.
.
case n:。;
default:。;
}
上面的case后跟的數不一定是1~n,只要是確定的數就可以,與上面switch括號內的變量對應,相當于if(變量==數),如果是需要只輸出case后的一句需要在每一個case后加一個break。
2
if語句在用分支的時候,自由性大點,條件 可以寫一個范圍也可也是一個表達式
而switch則是一些應用比較中規中矩的類型。然而在一些判斷中則可以互相替代之
C語言的選擇語句 if else
{if (x >= 100 && x 前面else{
隨便賦值一個字符就行
}
switch (y)
{
case'A': printf("你的成績是A\n"); break;
case'B': printf("你的成績是B\n"); break;
case'C': printf("你的成績是C\n"); break;
case'D': printf("你的成績是D\n"); break;
case'E': printf("你的成績是E\n"); break;
default:printf("輸入不合法");break;
}
最后加一句default就好了~
c語言程序:使用一個if選擇語句和一個for循環語句寫一個程序
享
#include<stdio.h>
int isprime(int);
void even(int);
main()
{ int a;
scanf("%d",&a);
if(a%2==0)even(a);
else printf("!",a);
}
void even(int x)
{int i;
for(i=2;i<=x/2;i++)
if(isprime(i))
if(isprime(x-i))
{printf("%d=%d+%d\n",x,i,x-i);return;}
}
int isprime(int b)
{ int i;
for(i=2;i<=b/2;i++)
if(b%i==0)return 0;
return 1;
}
C語言的選擇語句 if else
{if (x >= 100 && x <= 0)這句話絕對成立不了的~改成||前面else{隨便賦值一個字符就行}switch (y) { case'A': printf("你的成績是A\n"); break; case'B': printf("你的成績是B\n"); break; case'C': printf("你的成績是C\n"); break; case'D': printf("你的成績是D\n"); break; case'E': printf("你的成績是E\n"); break;default:printf("輸入不合法");break; }最后加一句default就好了~。