C語言是面向過程的,而C++是面向?qū)ο蟮?/p>
C和C++的區(qū)別:
C是一個結構化語言盒至,它的重點在于算法和數(shù)據(jù)結構酗洒。C程序的設計首要考慮的是如何通過一個過程,對輸入(或環(huán)境條件)進行運算處理得到輸出(或?qū)崿F(xiàn)過程(事務)控制)枷遂。
C++樱衷,首要考慮的是如何構造一個對象模型,讓這個模型能夠契合與之對應的問題域酒唉,這樣就可以通過獲取對象的狀態(tài)信息得到輸出或?qū)崿F(xiàn)過程(事務)控制矩桂。 所以C與C++的最大區(qū)別在于它們的用于解決問題的思想方法不一樣。之所以說C++比C更先進痪伦,是因為“ 設計這個概念已經(jīng)被融入到C++之中 ”侄榴。
C與C++的最大區(qū)別:在于它們的用于解決問題的思想方法不一樣雹锣。之所以說C++比C更先進,是因為“ 設計這個概念已經(jīng)被融入到C++之中 ”癞蚕,而就語言本身而言蕊爵,在C中更多的是算法的概念。那么是不是C就不重要了桦山,錯攒射!算法是程序設計的基礎,好的設計如果沒有好的算法恒水,一樣不行匆篓。而且,“C加上好的設計”也能寫出非常好的東西寇窑。
switch條件語句
小編推薦一個學C語言/C++的學習裙【 六九九,四七零箩张,五九六 】甩骏,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進步一起學習先慷!裙內(nèi)有開發(fā)工具饮笛,很多干貨和技術資料分享!
switch 條件語句也是一種很常用的選擇語句论熙,和if條件語句不同福青,它只能針對某個表達式的值作出判斷,從而決定程序執(zhí)行哪一段代碼脓诡。例如无午,在程序中使用數(shù)字1~7來表示星期一到星期天,如果想根據(jù)某個輸入的數(shù)字來輸出對應中文格式的星期值祝谚,可以通過下面的一段偽代碼來描述:
//用于表示星期的數(shù)字
如果等于1,則輸出星期一
如果等于2,則輸出星期二
如果等于3,則輸出星期三
如果等于4,則輸出星期四
如果等于5,則輸出星期五
如果等于6,則輸出星期六
如果等于7,則輸出星期天
如果不是1~7,則輸出此數(shù)字為非法數(shù)字
對于上面一段偽代碼的描述宪迟,大家可能會立刻想到用剛學過的 if…else if…else語句來實現(xiàn),但是由于判斷條件比較多交惯,實現(xiàn)起來代碼過長次泽,不便于閱讀。這時就可以使用C語言中的switch語句來實現(xiàn)這種需求席爽。在switch語句中switch關鍵字后面有一個表達式意荤,case關鍵字后面有目標值,當表達式的值和某個目標值匹配時只锻,會執(zhí)行對應case下的語句玖像。接下來通過一段偽代碼來描述switch語句的基本語法格式,具體如下:
switch (表達式)
{
case 目標值1:
執(zhí)行語句1
break;
case 目標值2:
執(zhí)行語句2
break;
……
case 目標值n:
執(zhí)行語句n
break;
default:
執(zhí)行語句n+1
break;
}
在上面的語法格式中炬藤,switch語句將表達式的值與每個case中的目標值進行匹配御铃,如果找到了匹配的值碴里,就會執(zhí)行相應case后的語句,否則執(zhí)行default后的語句上真。其中咬腋,switch語句中的break關鍵字的作用是跳出switch語句即可。
接下來通過一個案例來實現(xiàn)根據(jù)數(shù)字輸出中文格式的星期的功能:
#include
int main()
{
int week = 5;
switch (week)
{
case 1:
printf("星期一");
break;
case 2:
printf("星期二");
break;
case 3:
printf("星期三");
break;
case 4:
printf("星期四");
break;
case 5:
printf("星期五");
break;
case 6:
printf("星期六");
break;
case 7:
printf("星期天");
break;
default:
printf("輸入的數(shù)字不正確...");
break;
}
return 0;
}
運行結果如圖所示:
小編推薦一個學C語言/C++的學習裙【 六九九睡互,四七零根竿,五九六 】,無論你是大牛還是小白就珠,是想轉(zhuǎn)行還是想入行都可以來了解一起進步一起學習寇壳!裙內(nèi)有開發(fā)工具,很多干貨和技術資料分享妻怎!
例中壳炎,由于變量week的值為5,整個switch語句判斷的結果滿足case 5的條件逼侦,因此打印“星期五”匿辩。程序中的 default 語句用于處理和前面的case都不匹配的情況,將第5行代碼替換為int week = 8榛丢,再次運行铲球。
輸出結果如圖下所示:
在使用switch語句的過程中,如果多個case條件后面的執(zhí)行語句是一樣的話晰赞,則該執(zhí)行語句只需書寫一次即可稼病,這是一種簡寫的方式。例如掖鱼,使用數(shù)字1~7來表示星期一到星期天然走,當輸入的數(shù)字為1、2锨用、3丰刊、4、5時視為工作日增拥,否則視為休息日啄巧,這時如果需要判斷一周中的某一天是否為工作日,就可以采用switch語句的簡寫方式掌栅,具體如例所示:
#include
int main()
{
int week = 2;
switch (week)
{
case 1:
case 2:
case 3:
case 4:
case 5:
//當 week 滿足值 1秩仆、2、3猾封、4澄耍、5 中任意一個時,處理方式相同
printf("今天是工作日 ");
break;
case 6:
case 7:
//當 week 滿足值 6、7 中任意一個時齐莲,處理方式相同
printf("今天是休息日 ");
break;
}
return 0;
}
運行結果如圖所示:
小編推薦一個學C語言/C++的學習裙【 六九九痢站,四七零,五九六 】选酗,無論你是大牛還是小白阵难,是想轉(zhuǎn)行還是想入行都可以來了解一起進步一起學習!裙內(nèi)有開發(fā)工具芒填,很多干貨和技術資料分享呜叫!
當變量week的值為1、2殿衰、3朱庆、4、5 中任意一個值時闷祥,處理方式相同娱颊,都會打印“今天是工作日”。同理凯砍,當變量week值為6维蒙、7中任意一個值時,打印“今天是休息日”果覆。
這些是C/C++能做的
服務器開發(fā)工程師、人工智能殖熟、云計算工程師局待、信息安全(黑客反黑客)、大數(shù)據(jù) 菱属、數(shù)據(jù)平臺钳榨、嵌入式工程師、流媒體服務器纽门、數(shù)據(jù)控解薛耻、圖像處理、音頻視頻開發(fā)工程師赏陵、游戲服務器饼齿、分布式系統(tǒng)、游戲輔助等