日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言switch同时比较多个变量,C语言学习if和switch分支选择结构

發布時間:2024/9/27 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言switch同时比较多个变量,C语言学习if和switch分支选择结构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如何判斷一個整數是否為正數

計算機同我們一樣,也是可以判斷大小。在此之前,我們需要先說明在計算機中用來判斷兩個數關系的符號,即關系運算符。

關系運算符號

c語言中的關系運算符與數學上學習的有什么不同?

image.png

關系表達式的值是真和假,在C程序用整數1和0表示。

注意:>=, <=, ==, !=這種符號之間不能存在空格。

一、分支選擇結構之簡單的if條件語句

if(判斷條件)

{

語句1;

語句2;

語句······

}

其語義是:如果表達式的值為真,則執行其后的語句,否則不執行該語句。

假如你現在想讓計算機判斷一個整數是否為正數,如果是則顯示YES,不是則顯示NO,應該怎么辦呢?。

//判斷一個整數是否為正數

# include

# include

int main()

{

//定義一個變量a

int a;

scanf("%d",&a);

//如果a大于0,則輸出YES

if(a>0)

{

printf("YES");

}

//如果a小于等于0,則輸出NO

if(a<=0)

{

printf("NO");

}

return 0;

}

注意:if()后面沒有分號,直接寫{}

判斷一個數是否為偶數

什么是偶數呢?偶數就是能夠被2整除的數,也就是說一個數除以2的余數為0,那么這個數就是偶數。

那么我們現在只需要判斷這個數除以2的余數是不是0,即:

如果a除以2的余數與0相等,則輸出yes;

如果a除以2的余數與0 不相等,則輸出no。

c語言中求余數的運算符號是“%”,所以判斷一個數是否為偶數的c語言代碼就是:

# include

# include

int main()

{

int a;

scanf("%d",&a);

if(a%2==0)

{

printf("yes");

}

if(a%2!=0)

{

printf("no");

}

return 0;

}

二、分支選擇結構之簡單的if-else結構

簡單的if-else語句的基本結構:

if(判斷條件)

{

語句;

語句;

······

}

else

{

語句;

語句;

······

}

語義是: 如果表達式的值為真,則執行if其后的語句,否則執行else 里的語句。

注意:

if()后面沒有分號,直接寫{},else后面也沒有分號,直接寫{}。

從鍵盤讀入一個整數,判斷它是否為偶數的另一種簡便快捷的代碼寫法如下:

# include

# include

int main()

{

int a;

scanf("%d",&a);

if(a%2==0)

{

printf("yes");

}

else

{

printf("no");

}

return 0;

}

練習:

比較兩個整數誰更大,同時打印輸出較大的整數。

//比較兩個整數大小,并打印輸出較大的整數

# include

# include

int main()

{

int a, b, c;

scanf("%d%d",&a,&b);

//如果a大于b,將a賦值給c,并打印c

if(a>b)

{

c=a;

printf("%d",c);

}

//反之,則將b賦值給c,并打印c

else

{

c=b;

printf("%d",c);

}

return 0;

}

我們學習了如何從兩個數中找出較大的一個數,那么3個數該怎么辦呢?

1.首先,用3個變量a,b,c分別存放從鍵盤讀入的3個數。

2.然后,先比較變量a和b的值,將較大的值賦給變量d。

3.再比較變量d和c的值,如果變量c的值大于變量d的值,則把變量c的值賦給變量d。

4.最后輸出變量d的值。

c語言代碼為:

//比較3個數的大小,并將最大值打印輸出

#include

#include

int main()

{

//定義a,b,c,d 4個整型變量

int a,b,c,d;

scanf("%d %d %d",&a,&b,&c);

//如果a與b比較,將較大值賦值給d

if(a>b)

{

d=a;

}

else

{

d=b;

}

//c與d比較,如果c大于d,則將c賦值給d

if(c>d)

{

d=c;

}

printf("%d",d);

return 0;

}

當然還有另外一種寫法,就是比較變量a和b,以及變量a和c的關系,思路如下:

如果 a>=b 并且 a>=c,則輸出a;

如果 b>a 并且 b>=c,則輸出b;

如果 c>a 并且 c>b,則輸出c。

其中“并且”在c語言中用“&&”來表示,這時我們需要來了解一下c語言中的邏輯運算符。

c語言中邏輯運算符:

image.png

邏輯運算的值也是有兩種分別為真和假,C語言中用整型的1和0來表示。其求值規則如下:

與運算&&

參與運算的兩個變量都為真時,結果才為真,否則為假。例如:5>=5 && 7>5 ,運算結果為真;

或運算||

參與運算的兩個變量只要有一個為真,結果就為真。 兩個量都為假時,結果為假。例如:5>=5||5>8,運算結果為真;

非運算!

參與運算的變量為真時,結果為假;參與運算量為假時,結果為真。例如:!(5>8),運算結果為真。

另一種寫法的c語言代碼:

//判斷3個數的大小

#include

int main()

{

int a,b,c;

scanf("%d %d %d",&a,&b,&c);

//如果 a>=b 并且 a>=c,則輸出a;

if(a>=b && a>=c)

{

printf("%d",a);

}

//如果 b>a 并且 b>=c,則輸出b;

if(b>a && b>=c)

{

printf("%d",b);

}

//如果 c>a 并且 c>b,則輸出c。

if(c>a && c>b)

{

printf("%d",c);

}

return 0;

}

挑戰練習

比較3個數的大小,并從大到小排序輸出。

第一種方法:

如果a>=b 并且 b>=c,打印a b c;

如果a>=c 并且 c>b,打印a c b;

如果b>a 并且 a>=c,打印b a c;

如果b>=c 并且 c>a,打印b c a;

如果c>a 并且 a>=b,打印c a b;

如果c>b 并且 b>a,打印c b a;

代碼如下:

//比較排序3個數字大小,從大到小輸出

#include

int main()

{

int a,b,c,t;

scanf("%d %d %d",&a,&b,&c);

//如果a>=b 并且 b>=c,打印a b c;

if(a>=b && b>=c)

{

printf("%d %d %d",a,b,c);

}

//如果a>=c 并且 c>b,打印a c b;

if(a>=c && c>b)

{

printf("%d %d %d",a,c,b);

}

//如果b>a 并且 a>=c,打印b a c;

if(b>a && a>=c)

{

printf("%d %d %d",b,a,c);

}

//如果b>=c 并且 c>a,打印b c a;

if(b>=c && c>a)

{

printf("%d %d %d",b,c,a);

}

//如果c>a 并且 a>=b,打印c a b;

if(c>a && a>=b)

{

printf("%d %d %d",c,a,b);

}

//如果c>b 并且 b>a,打印c b a;

if(c>b && b>a)

{

printf("%d %d %d",c,b,a);

}

return 0;

}

第二種方法(稱之為“換位法”):

1.先將a與b比較,如果a

2.將a與c比較,如果a

3.將b與c比較,如果b

c語言代碼為:

//“換位法”從大到小,排序三個數大小

#include

int main()

{

int a,b,c,t;

scanf("%d %d %d",&a,&b,&c);

//1.先將a與b比較,如果a

if(a

{

t=a;

a=b;

b=t;

}

//2.將a與c比較,如果a

if(a

{

t=a;

a=c;

c=t;

}

//3.將b與c比較,如果b

if(b

{

t=b;

b=c;

c=t;

}

printf("%d %d %d",a,b,c);

return 0;

}

分支選擇結構之嵌套if-else語句

C語言中嵌套if-else語句。嵌套if-else語句的意思,就是在if-else語句中,再寫if-else語句。其一般形式為:

if(判斷條件)

{

if(判斷條件)

{

執行代碼塊;

}

else

{

執行代碼塊;

}

else

{

執行代碼塊;

}

}

先回顧一下之前寫的比較3個數大小的代碼,然后思考如何用“嵌套”的方式來解決這個問題。

在之前我們使用“&&”這個邏輯關系運算符號來解決兩個條件同時“滿足”的需求

if(a>=b && a>=c)

print("%d",a);

上述代碼,可以用“嵌套”的方式寫成:

//如果a大于等于b,再進一步討論a與c的關系

if(a>=b)

{

//如果a大于等于c成立,則輸出a,不成立則輸出c

if(a>=c)

{

printf("%d",a);

}

else

{

printf("%d",c);

}

}

那如果a大于等于b不成立呢,我們的完整代碼該如何編寫呢?

//if-else嵌套,判斷三個數大小

#include

int main()

{

int a,b,c;

scanf("%d %d %d",&a,&b,&c);

if(a>=b)

{

if(a>=c)

{

printf("%d",a);

}

else

{

printf("%d",c);

}

}

else

{

if(b>=c)

{

printf("%d",b);

}

else

{

printf("%d",c);

}

}

return 0;

}

如何把代碼修改的更簡潔呢?

當if或else語句后只需執行一條代碼時,可省略{ }。

if-else if 結構

95 “A”;86~100 “A”;70~85 “B”;60~69“C”;小于60“D”

要求輸入A B C D ,輸出成績范圍。

定義char grade 用if else實現

# include

int main()

{

char grade;

printf("請輸入等級:");

scanf("%c",&grade);

if(grade=='A')

{

printf("分數在86~100分");

}

else if(grade=='B')

{

printf("分數在70~85分");

}

else if (grade=='C')

{

printf("分數在60~69分");

}

else if(grade=='D')

{

printf("分數在60分以下");

}

else if(grade != 'A' ||grade != 'B' || grade !='C' ||grade !='D')

{

printf("輸入錯誤!");

}

return 0;

}

switch 分支選擇

#include

int main()

{

char grade;

scanf("%c",&grade);

switch(grade)

{

case 'A':printf("分數在86~100分"); break;

case 'B':printf("分數在70~85分"); break;

case 'C':printf("分數在60~69分"); break;

case 'D':printf("分數在60以下"); break;

default:printf("輸入錯誤!");

}

}

從鍵盤輸入一個月份,輸出對應季節

12~2 冬季

3~5 春季

6~8 夏季

9~11 秋季

//從鍵盤輸入一個月份,輸出對應季節

/*

12~2 冬季

3~5 春季

6~8 夏季

9~11 秋季

*/

#include

int main()

{

int number ;

printf("請輸入一個1~12的月份,以回車結束\n");

scanf("%d",&number);

switch (number) {

case 12:

case 1:

case 2:

printf("冬季");

break;

case 3:

case 4:

case 5:

printf("春季");

break;

case 6:

case 7:

case 8:

printf("夏季");

break;

case 9:

case 10:

case 11:

printf("秋季");

break;

default:

printf("輸入錯誤!\n");

break;

}

return 0;

}

輸入一個不多于5位的正整數

1)輸出位數

2)分別輸出每位數字,中間為“,”分隔開

3)反向輸出5位數

#include

int main()

{

int num, ten_th,thous,hund,ten,indiv;

printf("請輸入一個不多于5位的正整數:");

scanf("%d",&num);

if(num>9999 && num <=99999)

{

printf("這個數是一個五位數:");

ten_th=num/10000;

thous=(num-ten_th*10000)/1000;

hund=(num-ten_th*10000-thous*1000)/100;

ten=(num-ten_th*10000-thous*1000-hund*100)/10;

indiv=num%10;

printf("%d,%d,%d,%d,%d\n",ten_th,thous,hund,ten,indiv) ;

printf("反向輸出:%d%d%d%d%d",indiv,ten,hund,thous,ten_th) ;

}

else if(num<=9999&&num>999)

{

printf("這個數是一個四位數:");

thous=num/1000;

hund=(num-thous*1000)/100;

ten=(num-thous*1000-hund*100)/10;

indiv=num%10;

printf("%d,%d,%d,%d\n",thous,hund,ten,indiv) ;

printf("反向輸出:%d%d%d%d",indiv,ten,hund,thous) ;

}

else if(num<=999&&num>99)

{

printf("這個數是一個三位數:");

hund=num/100;

ten=(num-hund*100)/10;

indiv=num%10;

printf("%d,%d,%d\n",hund,ten,indiv) ;

printf("反向輸出:%d%d%d",indiv,ten,hund) ;

}

else if(num<=99&&num>9)

{

printf("這個數是一個兩位數:");

ten=num/10;

indiv=num%10;

printf("%d,%d\n",ten,indiv) ;

printf("反向輸出:%d%d",indiv,ten) ;

}

else if(num>=0 && num<=9)

{

printf("這個數是一個一位數:");

printf("%d",num);

printf("反向輸出:%d",num);

}

else if (num>99999 || num < 0)

{

printf("輸入錯誤!");

}

return 0;

}

總結

以上是生活随笔為你收集整理的c语言switch同时比较多个变量,C语言学习if和switch分支选择结构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。