第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

C語言入門4-16分支結(jié)構(gòu)

為什么這里要把score除以10呢?



正在回答

2 回答

1、score/10是結(jié)合隱形強制轉(zhuǎn)換使用。

2、case 后面跟的是整數(shù),又根據(jù) “switch后面的表達式語句只能是整型或者字符類型”這句話,所以我們可以判斷switch后面的表達式是整形的而不是字符型的。

3、代碼中score/10等于8.7,但是因為switch后面的表達式是整形的,所以程序會對8.7做隱形強制轉(zhuǎn)換使其轉(zhuǎn)換為整形。在c++中,小數(shù)轉(zhuǎn)換成整形時會把小數(shù)點部分舍棄而不是四舍五入,也就是說8.7被轉(zhuǎn)換成8了。 這樣一來,switch語句就會執(zhí)行case 8 這個分支,也就是輸出“等級B”。

3、score/10結(jié)合隱形強制轉(zhuǎn)換把分數(shù)轉(zhuǎn)換成10、9、8、7、6等整形變量,然后參與switch分支判斷,這樣就可以實現(xiàn) 90-100分輸出“等級A”、80-90分輸出“等級B”這種目的。

0 回復 有任何疑惑可以回復我~
#1

張土土

提交之后才發(fā)現(xiàn)我的代碼和網(wǎng)頁上不太一樣,不過原理都是一樣的,我的部分代碼貼下,方便結(jié)合答案理解。 int score = 87; //考試分數(shù)為87分 switch(score/10)
2016-01-14 回復 有任何疑惑可以回復我~

比如說,他考了87分,那么87/10等于8,如果他考了93分,那么93/10等于9,也就是說,可以先通過score/10來取十位數(shù),然后看switch語句中有case多少與之對應,然后依次執(zhí)行完,遇到break就終止了,不會繼續(xù)往下執(zhí)行。例如:把程序中的case 8下面的那個break去掉,那么運行結(jié)果就是等級B等級C,因為遇到break才跳出switch,你可以在想想。如下:


#include <stdio.h>

int main()?

{

? ? int score = 87; ??

? ? score/=10;

? ??

? ? switch(score)

? ? {

? ? ? ??

? ? ? ? case 10:

? ? ? ? case 9:

? ? ? ? ? ? printf("等級A");

? ? ? ? ? ? break;

? ? ? ? case 8:

? ? ? ? ? ? printf("等級B");

? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? case 7:

? ? ? ? case 6:?

? ? ? ? ? ? printf("等級C");

? ? ? ? ? ? break; ? ? ? ? ? ? ??

? ? ? ? default:

? ? ? ? ? ? printf("等級D");

? ? ? ? ? ? break; ? ?

? ? }

? ? return 0;

}


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C語言入門
  • 參與學習       926892    人
  • 解答問題       21419    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

C語言入門4-16分支結(jié)構(gòu)

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號