c 靈魂科普(3)

2021-10-09 17:00:52 字數 1856 閱讀 1612

這是國慶節前更的第一篇 ~ 繼續帶來靈魂科普 ~

在c++語言中,「=」作為賦值運算子,而不表示「等於」判斷。賦值語句是由賦值表示式再加上分號構成的表示式語句,它是程式中使用最多的語句之一。

變數=表示式; 在賦值語句的使用中,需要注意以下幾點: 1)由於賦值運算子「=」右邊的表示式也可以是賦值表示式,因此,下述形式 :

變數=(變數=表示式);是成立的,從而形成巢狀的情形。其展開之後的一般形式為: 變數=變數=…=表示式;

例如,「a=b=c=d=e=5;」,它實際上等價於:e=5;d=e;c=d;b=c;a=b;

2)在進行賦值運算時,如果賦值運算子兩邊的資料型別不同,系統將會自動進行型別轉換,即將賦值運算子右邊的資料型別轉換成左邊的變數型別。當左邊是整型而右邊是實型時,將去掉小數部分並擷取該整型對應的有效位數。

例2.1

輸入兩個正整數a和b,試交換a、b的值(使a的值等於b,b的值等於a)。 【分析】

交換兩個變數的值方法很多,一般我們採用引入第三個變數的演算法,二個變數交換,可以想像成一瓶醬油和一瓶醋進行交換,這時容易想到拿乙個空瓶子過來:

① 將醬油倒到空瓶中;② 將醋倒到醬油瓶中;③ 將原空瓶中的醬油倒到醋瓶中。

程式如下:

#include

//使用cin,cout,須呼叫iostream庫

using

namespace std;

intmain()

例2.2 圓柱體的表面積

輸入底面半徑r和高h,輸出圓柱體的表面積,保留3位小數,格式見樣例。 樣例輸入:3.5 9 樣例輸出:274.889 【分析】

圓柱體的表面積由3部分組成:上底面積、下底面積和側面積。由於上下底面積相等,完整的公式可以寫成:表面積=底面積*2+側面積。根據平面幾何知識,底面積=πr2,側面積=2πrh。

參考程式:

#include

//使用printf和scanf, 須呼叫cstdio庫

#include

//使用數學函式atan,須呼叫cmath庫

using

namespace std;

//在這個程式中可以省略這行

intmain()

例2.3

數學中經典的「雞兔同籠」問題,已知頭共30個,腳共90只,問籠中的雞和兔各有多少只? 【分析】

設雞為j只,兔為t只,頭為h,腳為f,那麼有: j+t=30 ① 2j+4t=90 ② 假設籠中30

個頭全都是兔,那麼都按每頭4隻腳計算,總腳數為(4h),與實際腳數(f

)之差為(4h-f),如果這個差=0,則籠中全是兔(即雞為0只);如果這個差值

0,說明多計算了腳數,凡是雞都多計算了兩隻腳,用它除以2就能得到雞的隻數,演算法為: ① j=(4*h - f)/2 //先用腳數差值除以2算出雞的隻數 ② t=h - j //再用總頭數減雞數算出免的隻數

注意這兩步運算的先後順序。程式如下:

#include

//使用getchar()語句, 須呼叫cstdio庫

#include

//使用cin,cout,須呼叫iostream庫

using

namespace std;

intmain()

第一節內容較少 但是也是講完啦~ 對了 要是喜歡靈魂科普的內容 那就關注我吧 我會持續更新哦

C 靈魂 指標

指標與一維陣列 計算機將記憶體以單個位元組為單位分開,並對每個位元組進行唯一性編號,那麼這個編號就是位址。首位址,一段記憶體空間中第乙個儲存單元的位址 不是第乙個變數 定義指標變數 資料型別 變數名 表示定義乙個變數 指標變數 指向該資料型別 int a 10 指標變數賦值 p a p儲存a的位址 ...

3D重構科普

常規的3d shape representation有以下四種 深度圖 depth 點雲 point cloud 體素 voxel 網格 mesh 深度圖其每個畫素值代表的是物體到相機xy平面的距離,單位為 mm。體素是三維空間中的乙個有大小的點,乙個小方塊,相當於是三維空間種的畫素。點雲是某個座標...

類 C 的靈魂(一)

類是c 語言十分重要的概念,是實現物件導向程式設計的基礎。c 對c語言的改進,最重要的就是增加了 類 因此c 起初也被稱為 帶類的c 類是所有物件導向語言的共同特徵,乙個有一定規模的c 程式都是由許多類構成的,因此類是c 的靈魂。一 類的定義 在c 中一般以如下形式定義 class 類名 類是一種抽...