課程
/后端開發(fā)
/C
/C語言入門
為什么要加上:score /=10?
為什么case常量表達(dá)式從10開始?
2016-04-12
源自:C語言入門 4-16
正在回答
1、為什么要加上:score /=10?
????????除以10以后0分至100分就會(huì)變成了0到10個(gè)數(shù)字,(因?yàn)椋簊core為整型int,所以被除以后即使不為整數(shù), 在再次賦值后也會(huì)自動(dòng)把小數(shù)部分去掉),這樣,90<=X<=100分就變成了9和10,80<=x<90的范圍就變成了8, 60<=x<80的范圍就變以了6和7 。這道題中score=score/10=8
2、為什么case常量表達(dá)式從10開始?
????應(yīng)該和題意有關(guān)系吧,題中90-100定義為等級A、80-90定義為等級B、60-80定義為等級C、60分以下的為等級D,所以羅列case時(shí)自然而然是從高分往低分分配,最后60分以下的歸到default里,這樣思路清晰。但如果非要從低向高羅列也可以。
case 0:
case1:
case2:
case3:
case4:
case5:
???????????? printf("等級D"); ??????????? break;
case6:
case7:
????????printf("等級C");???????? break;
…………………………不覺得這樣很麻煩么?
3、那為什么 case 7:后面不用寫printf("");和break;
????因?yàn)?0多分和70多分都是屬于等級C的,所以這里與60分多時(shí)一并處理,swich語句中在case子句后如果沒有break;會(huì)一直往后執(zhí)行一直到遇到break;才會(huì)跳出switch語句。當(dāng)分?jǐn)?shù)在60多分與70多分之間時(shí)都會(huì)執(zhí)行case6下面的語句。同理分?jǐn)?shù)在100分與90分之間也是這樣處理的。????????
因?yàn)?和7一個(gè)等級,所以可以不寫
因?yàn)閟core是整型數(shù)據(jù),score/=10之后簡化了個(gè)位數(shù)據(jù)的判斷,不加score/=10的話swith語句需要很多的case才能實(shí)現(xiàn)代碼要求。
i是祎不是偉 提問者
舉報(bào)
C語言入門視頻教程,帶你進(jìn)入編程世界的必修課-C語言
5 回答為什么要score/=10
3 回答非要加score/=10??
2 回答為什么要寫score/=10
2 回答為什么要定義 score /= 10;
1 回答這里的score/=10是什么意思,為什么要用score/=10?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-06-03
1、為什么要加上:score /=10?
????????除以10以后0分至100分就會(huì)變成了0到10個(gè)數(shù)字,(因?yàn)椋簊core為整型int,所以被除以后即使不為整數(shù), 在再次賦值后也會(huì)自動(dòng)把小數(shù)部分去掉),這樣,90<=X<=100分就變成了9和10,80<=x<90的范圍就變成了8, 60<=x<80的范圍就變以了6和7 。這道題中score=score/10=8
2、為什么case常量表達(dá)式從10開始?
????應(yīng)該和題意有關(guān)系吧,題中90-100定義為等級A、80-90定義為等級B、60-80定義為等級C、60分以下的為等級D,所以羅列case時(shí)自然而然是從高分往低分分配,最后60分以下的歸到default里,這樣思路清晰。但如果非要從低向高羅列也可以。
case 0:
case1:
case2:
case3:
case4:
case5:
???????????? printf("等級D");
??????????? break;
case6:
case7:
????????printf("等級C");?
??????? break;
…………………………不覺得這樣很麻煩么?
3、那為什么 case 7:后面不用寫printf("");和break;
????因?yàn)?0多分和70多分都是屬于等級C的,所以這里與60分多時(shí)一并處理,swich語句中在case子句后如果沒有break;會(huì)一直往后執(zhí)行一直到遇到break;才會(huì)跳出switch語句。當(dāng)分?jǐn)?shù)在60多分與70多分之間時(shí)都會(huì)執(zhí)行case6下面的語句。同理分?jǐn)?shù)在100分與90分之間也是這樣處理的。?
???????
2016-05-19
因?yàn)?和7一個(gè)等級,所以可以不寫
2016-04-12
因?yàn)閟core是整型數(shù)據(jù),score/=10之后簡化了個(gè)位數(shù)據(jù)的判斷,不加score/=10的話swith語句需要很多的case才能實(shí)現(xiàn)代碼要求。