C 程式設計求助編寫基於物件的程式 輸入半徑,計算圓的周長和面積並輸出

2021-03-30 15:27:44 字數 7393 閱讀 2583

1樓:匿名使用者

#include"iostream"

#define pi 3.1415962

using namespace std;

class circle

circle(double x) //建構函式double length()

double area()

}main()

2樓:匿名使用者

#include

#define pi 3.14;

class yuan

;float yuan::length(float r)float yuan::area(floay r)void main()

3樓:匿名使用者

周長:(保留2位小數)

varr,l:real;

begin

readln(r);

l:=2*3.14*r;

writeln(l:0:2);

end面積:(保留2位小數)

varr,s:real;

begin

readln(r);

s:=3.14*r*r;

writeln(s:0:2);

end.

4樓:小蝸牛冒險

#include

using namespace std;

class circle

void length()

void area()

private:double a;};

int main()

c++語言中的"!"是什麼意思

5樓:凡筱雲

!,與或非的意思。

一、如果出現的變數以前就是對變數進行非操作,把真的變成假的,假的變成真的。比如

!true=false;

!1=0;

!0=1;

//上面的等於號不是賦值的意思,就是數學裡面的相等的意思在c語言裡面,0被認為是假,其他所有的資料都是真。也就是說任意非零資料取非都是0。

一、如果!出現在等於號=之前,就表示不等於的意思。a!=b就表示判斷啊是不是不等於b,如果不等於,這個表示式就是true。

6樓:水晶葡萄

!,與或非的非的意思。

一、如果出現的變數以前就是對變數進行非操作,把真的變成假的,假的變成真的。比如

!true=false;

!1=0;

!0=1;

//上面的等於號不是賦值的意思,就是數學裡面的相等的意思在c語言裡面,0被認為是假,其他所有的資料都是真。也就是說任意非零資料取非都是0。

一、如果!出現在等於號=之前,就表示不等於的意思。a!=b就表示判斷啊是不是不等於b,如果不等於,這個表示式就是true。

7樓:匿名使用者

如果我這麼寫 m=1;

if(m==1)

m=!m;

這個意思就是m=0,它代表「非」的意思,一般你初學,這個就夠了

8樓:月月

您好!c/c++中!為邏輯非。

!正數/負數/真(true) = 假(false)! 0/假(false) = 真(true)

注意:!=為不等於,成立時結果為true,不成立時結果為false。

3!=1 = 真(true)3!=3 = 假(false)

9樓:匿名使用者

a = 2

m = 4

k = 4

//在c++中所有的非0值都認為是true, 0被認為是false

//所以 !m 當m不是0時,認為是!true, 返回false(0)

好吧,首先我要說這段程式夠**的,如果你初學c++的話建議不要去深究這段**了。如果有人在公司寫出這種**,會被直接fire,毫無疑問。

說一下!在c++中的真正作用:

1。 不等號!=

a != b,表示判斷a,b不相等,如果真的不相等返回1(true),否則返回0(false)

2。 取非 !x

x可以是乙個變數,可以是返回乙個布林型或整型值的表示式(比如!(a==b))

這時,如果 x 為0(false), !x為1(true)

如果 x 為非0(true), !x為0 (false)

以上兩點是!在c++中的應用的所有作用,沒有更多。

至於那段程式,其實加入了很多運算子優先順序的應用,而且可讀性極差,是非常糟糕的程式設計風格,樓主不要學習他,下面依次解釋一下都發生了什麼:

if (a!=b || m!=a+b) //判斷a不等於b 或 m不等於a+b 顯然為true

a=a*k!=!m; //這句先執行 a*k != !m, 其中m不為0,所以!m 為 0

// a * k 不為0, 所以a*k != !m 返回true(1)

// a = 1

a= a+a; // a = 2

if (a+b>=0 && m/3.0 > 2 ) //先執行a+b>=0 返回true; 然後m/3.0 >2 返回true; true && true 為 true, 進入if

else //不進入

//程式輸出。

*********************************************=

另外,樓主的程式是編譯不過的,更改如下:

#include

using namespace std;

int main()

10樓:god一

!是'非' !(m)是 bool型的值,只要是非空,轉換成bool就1 ,否則是0。

m=8 ,所以!(m) =>!(8) =>0輸出的結果是

842486244

11樓:靜心先生

!就是邏輯非,!m因為m不等於0,所以在布林邏輯上算作true,經過!的邏輯非運算變成false,即0

12樓:匿名使用者

!非!=不等於

if(a!=0)a不等於0

if(!(a=0))同上

13樓:匿名使用者

非的意思, (!m)=0 意思是 如果 m不等於零 時為真。

14樓:還是一事無成

代表邏輯中的 「 非」;

15樓:匿名使用者

a!=b||m!=a+b !=表示不等於

具體還是更總除錯下吧。

c++裡面」>>「和」<<「各是什麼意思?

16樓:匿名使用者

《和》在c中是用來做位運算的,在c++中被過載了,即可以做位運算也可以做輸入輸出zhi流。

區別如下:

1、應用場合不同:

c語言是結構化和模組化的語言,是面向過程的。當程式的規模較小時,c語言運用起來得心應手。但是當問題比較複雜、程式的規模比較大的時候,c語言就會展現出它的侷限性;

正是因為有大規模的程式需要去處理,c++就應運而生了。c++是由c發展而來的,與c語言相容。c++既可用於面向過程的結構化程式設計,也可用於物件導向的程式設計,是一種功能強大的混合型的程式語言。

2、輸入/輸出函式不同:

c語言

取位址,輸入a的值,%d和%f稱為格式說明符,表示以此格式輸出對應表示式的值,\n表示換行。%6.3f中的6表示佔六列,表示輸出對應浮點表示式值時只輸出三位小數。

c++:int a=5;float b;cout << "a=">b;cout必須要和」<<「一起使用,cin必須要和」>>「一起使用。得c++中的輸入輸出流是很強大的,不像c裡面還要指定格式,endl表示換行。

17樓:匿名使用者

「>>、<<」除了 cin>> 輸入流;cout《輸出流 的意思外

還有另乙個是:>>向右位移、《向左位移;就是乙個整數,如10,二進位制為1010,向右位移一位就是0101,既是10>>1=5,

不知道樓主是不是想知道這個

18樓:匿名使用者

輸入輸出流以及位移運算

int m = (t[k].l + t[k].r)>>1;

這裡是位右移運算。 指兩個變數之和然後位右移1個bit。其實相當於除以了2

19樓:匿名使用者

連起來跟沒寫這兩個字元是一樣的意思,取了位址&相當於引用,*是解引用,就是取內容,所以這兩個操作符連在一起就相當於什麼也沒做,還是p。

20樓:設計人生

輸入流和輸出流也可以理解提取和插入的意思。

21樓:灰翼之殤

1樓說反了

>>是輸入流符號

《是輸出流符號

可以用於控制台輸入輸出,也可以用於檔案輸入輸出,輸入輸出是相對於程式來說

22樓:オフ憂

cin>> 輸入流;cout《輸出流

23樓:匿名使用者

下面那個是左移和右移

24樓:匿名使用者

>>是輸入符,《是輸出

25樓:匿名使用者

「>>」,

「<<」是二元運算子,是進行位操作(二進位制)的,與「!」,「~」,「&」,「|」,「^」類似,分別表示「右移」,「左移」,例如:

0b000001 << 5 為 0b1000000b001000 >> 2 為 0b000010但在標頭檔案「iostream」中被過載為流操作運算子。

c++中的<>代表什麼意思?

26樓:天涼秋夜

c++中的<>代表c++模板。

模板是c++支援引數化多型的工具,使用

模板可以使使用者為類或者函式宣告一種一般模式,使得類中的某些資料成員或者成員函式的引數、返回值取得任意型別。

c++語言是一種物件導向的強型別語言,由at&t的bell實驗室於2023年推出。c++語言是c語言的乙個向上相容的擴充。c++是一種支援多範型的程式語言,它既支援物件導向的程式設計,也支援面向過程的程式設計。

c++支援基本的物件導向概念:物件、類、方法、訊息、子類和繼承。

27樓:匿名使用者

c++模板

模板是c++支援引數化多型的工具,使用模板可以使使用者為類或者函式宣告一種一般模式,使得類中的某些資料成員或者成員函式的引數、返回值取得任意型別。

模板是一種對型別進行引數化的工具;

通常有兩種形式:函式模板和類模板;

函式模板針對僅引數型別不同的函式;

類模板針對僅資料成員和成員函式型別不同的類。

使用模板的目的就是能夠讓程式設計師編寫與型別無關的**。比如編寫了乙個交換兩個整型int 型別的swap函式,這個函式就只能實現int 型,對double,字元這些型別無法實現,要實現這些型別的交換就要重新編寫另乙個swap函式。使用模板的目的就是要讓這程式的實現與型別無關,比如乙個swap模板函式,即可以實現int 型,又可以實現double型的交換。

模板可以應用於函式和類。下面分別介紹。

注意:模板的宣告或定義只能在全域性,命名空間或類範圍內進行。即不能在區域性範圍,函式內進行,比如不能在main函式中宣告或定義乙個模板。

一、函式模板通式

1、函式模板的格式:

template

返回型別 函式名(引數列表)

其中template和class是關見字,class可以用typename 關見字代替,在這裡typename 和class沒區別,<>括號中的引數叫模板形參,模板形參和函式形參很相像,模板形參不能為空。一但宣告了模板函式就可以用模板函式的形參名宣告類中的成員變數和成員函式,即可以在該函式中使用內建型別的地方都可以使用模板形參名。模板形參需要呼叫該模板函式時提供的模板實參來初始化模板形參,一旦編譯器確定了實際的模板實參型別就稱他例項化了函式模板的乙個例項。

比如swap的模板函式形式為

template void swap(t& a, t& b){},

當呼叫這樣的模板函式時型別t就會被被呼叫時的型別所代替,比如swap(a,b)其中a和b是int 型,這時模板函式swap中的形參t就會被int 所代替,模板函式就變為swap(int &a, int &b)。而當swap(c,d)其中c和d是double型別時,模板函式會被替換為swap(double &a, double &b),這樣就實現了函式的實現與型別無關的**。

2、注意:對於函式模板而言不存在 h(int,int) 這樣的呼叫,不能在函式呼叫的引數中指定模板形參的型別,對函式模板的呼叫應使用實參推演來進行,即只能進行 h(2,3) 這樣的呼叫,或者int a, b; h(a,b)。

二、類模板通式

1、類模板的格式為:

template

class 類名

;類模板和函式模板都是以template開始後接模板形參列表組成,模板形參不能為空,一但宣告了類模板就可以用類模板的形參名宣告類中的成員變數和成員函式,即可以在類中使用內建型別的地方都可以使用模板形參名來宣告。比如

templateclass a;

在類a中宣告了兩個型別為t的成員變數a和b,還宣告了乙個返回型別為t帶兩個引數型別為t的函式hy。

2、類模板物件的建立:比如乙個模板類a,則使用類模板建立物件的方法為am;在類a後面跟上乙個<>尖括號並在裡面填上相應的型別,這樣的話類a中凡是用到模板形參的地方都會被int 所代替。當類模板有兩個模板形參時建立物件的方法為am;型別之間用逗號隔開。

3、對於類模板,模板形參的型別必須在類名後的尖括號中明確指定。比如a<2> m;用這種方法把模板形參設定為int是錯誤的(編譯錯誤:error c2079:

'a' uses undefined class 'a'),類模板形參不存在實參推演的問題。也就是說不能把整型值2推演為int 型傳遞給模板形參。要把類模板形參調置為int 型必須這樣指定am。

4、在類模板外部定義成員函式的方法為:

template《模板形參列表》 函式返回型別 類名《模板形參名》::函式名(引數列表),

比如有兩個模板形參t1,t2的類a中含有乙個void h()函式,則定義該函式的語法為:

templatevoid a::h(){}。

注意:當在類外面定義類的成員時template後面的模板形參應與要定義的類的模板形參一致。

5、再次提醒注意:模板的宣告或定義只能在全域性,命名空間或類範圍內進行。即不能在區域性範圍,函式內進行,比如不能在main函式中宣告或定義乙個模板。

C語言程式程式設計,如何編寫C語言程式

把你的思路想好,想要達到什麼樣的功能,思路清晰後就可以一個一個功能的去寫,出錯了不用急,想一下自己錯在什麼地方,好好的看一下 雖然這樣做會花很多 的時間,但是這樣做會提高自己的閱讀分 能力,啊?書上不是有麼 自己學著寫啊 10.include main printf n 如何編寫c語言程式?首先,你...

用C語言編寫程式。輸入一些整數,程式設計計算並輸出其中所有正數的

int function return sum include int main printf d b 用c語言編寫程式,編乙個程式,輸入10個整數,統計並輸出其中正數,負數和零的個數?include stdio.h include conio.h main for j 0 j 9 j printf...

C語言程式設計,編寫程式,用C語言。

這就是運bai算符號的優先順序的問du題。c語言中,非零為真zhi,k 2,所以循dao環執行2次。第1次 專 屬 s m k m,在變數左側,所以先計算m m 1 4,k 在變數右側,所以先使用k 2進行m k 2的計算,然後再k k 1 1 最後計算s s 2 10 執行第1次迴圈後 m 4,k...