《在c 程式設計語句中的作用是什麼

2022-05-17 08:03:40 字數 5771 閱讀 4665

1樓:小強之波佬

箭頭(《或》)指示資料移動方向。

《和》分別成為「插入」和「提出」,或者「送入」和「獲取」。

將cin看成是鍵盤或輸入裝置的名稱,將cout看成是螢幕或輸出裝置的名稱,就很容易記住箭頭《和》得方向。

例如:cin >> number;

資料從鍵盤向變數number移動,多以箭頭要從cin指向變數。

cout << number;

資料從變數number向螢幕移動,所以箭頭要從變數指向cout。

2樓:

向左移,如1111向左移一位後就是1110最後一位被移空,就補0,例11111111<<3就是把二進位制數向左移三位,既11111000

3樓:街角1偶遇

輸出的時候用 cout<<;

輸入的時候用cin>>;

4樓:匿名使用者

輸出操作符,c++的iostream家族,可以過載。

5樓:曲烴然

《意思是大於,>>是小於的意思

6樓:

在c++裡面我們把《當作輸出操作符,它是stream這個類裡乙個重要的運算子。

在c++中,有乙個stream這個類,所有的i/o都以這個「流」類為基礎的,包括我們要認識的檔案i/o,stream這個類有兩個重要的運算子:

1、插入器(<<)

向流輸出資料。比如說系統有乙個預設的標準輸出流(cout),一般情況下就是指的顯示器,所以,cout<<"write stdout"<<'n';就表示把字串"write stdout"和換行字元('n')輸出到標準輸出流。

2、析取器(>>)

從流中輸入資料。比如說系統有乙個預設的標準輸入流(cin),一般情況下就是指的鍵盤,所以,cin>>x;就表示從標準輸入流中讀取乙個指定型別(即變數x的型別)的資料。

和其他的函式沒有什麼區別。c/c++追求的就是簡潔,當大量的輸出需要處理的時候,我們用函式就要這樣,a.print();b.

print();c.print()......................但是用操作符的話就可以這樣,cout<

在c++語言程式設計中cin是什麼意思?又有什麼作用?

7樓:

是輸入流類的乙個物件,用來接收檔案或鍵盤輸入的資料

8樓:思思

就是乙個輸入流,可以輸入一些變數,像整形,實形等,它對變數的內型不做要求

9樓:匿名使用者

輸入操作,相當於c中的scanf,還有c++中的cout相當於c中的printf;

10樓:二麻子

cin cout

乙個輸入乙個輸出

11樓:匿名使用者

用於讓你輸入乙個正確數

12樓:匿名使用者

輸入流 接受鍵盤輸入

c++語言中<<=是什麼意思,怎麼使用

13樓:雲南新華電腦學校

a<<=4;

等價於a=a<<4;

就是把a左移四位後再賦值給a.不如a的值是3(00000011),經過這個運算後的a為(00110000),成了30h.

14樓:匿名使用者

這是移位和賦值結合運算。比如

a<<=4;

相當於a=a<<4;

15樓:匿名使用者

樓上的。小於等於真是<=吧

a<<=n,就是a=a的n次方分之1,就是位移了

在c++語言中標頭檔案 例如#include 的作用是什麼。通俗易懂的講一下

16樓:金色潛鳥

標頭檔案 裡的內容 實際上是公用程式塊。一般是編譯器提供的,(也可以自己 開發書寫)。

例如,stdio.h, std 是 英文「標準」的縮寫,io是 英文 「輸入輸出」的縮寫,這個標頭檔案裡 含 c語言輸入輸出函式的宣告和定義,一些常數,和巨集。

例如,math.h 含 數學函式,例如 sin(),cos(),sqrt() 等 的宣告和定義,一些常數,和巨集。

當你的程式要用到 scanf(), printf(),gets() 之類的函式時,你使用了 stdio.h,你就不需要自己開發和書寫這些函式的宣告和定義.

#include 是巨集命令,這條命令意思是: 編譯開始時, 以文字方式 在這裡 嵌入 檔案 stdio.h的內容 後,再 進一步編譯整個程式。

17樓:

#include ——有了它,編譯時stdio.h這個庫檔案就被與你編寫的源**結合起來了,或者說這個檔案相當於你編寫的**的一部分了,你在**中使用的printf、scanf等函式就在stdin.h這個庫檔案中,既然它成了你**的一部分,那麼你就可以用其中的printf、scanf等函式了,否則就會產生printf、scanf等未定義的錯誤。

一旦編譯完畢這檔案就又脫離了,編譯過的**內容只包括了你用到了的printf、scanf等一此函式。

在c語言中<<是什麼意思?

18樓:匿名使用者

《是左移操作符,將數字的二進位制形式按位左移,末尾補零

例如:對於unsigned int x=015,x<<1,x<<2,x<<3的分析。

unsigned int x=015,

x=015,用0打頭的說明是八進位制數,由於後面要進行左移操作,所以轉換為二進位製看比較方便。

015(八進位制)=1101(二進位制)

<<:這個是左移操作符,按位左移,末尾補零

>>:這個是右移操作符,按位右移,前端補零

x<<1:左移一位,1101(二進位制)左移一位變為11010(二進位制),11010(二進位制) = 26(十進位制)

x<<2:左移兩位,1101(二進位制)左移兩位變為110100(二進位制),110100(二進位制) = 52(十進位制)

x<<3:左移三位,1101(二進位制)左移三位變為1101000(二進位制),1101000(二進位制) = 104(十進位制)

現在你應該也看出來了,左移n位就相當於原數乘以2的n次方

19樓:舞亦香滿衣

先說左移,左移就是把乙個數的所有位都向左移動若干位,在c中用《運算子.例如:

int i = 1;

i = i << 2; //把i裡的值左移2位

也就是說,1的2進製是000...0001(這裡1前面0的個數和int的位數有關,32位機器,gcc裡有31個0),左移2位之後變成000...0100,也就是10進製的4,所以說左移1位相當於乘以2,那麼左移n位就是乘以2的n次方了(有符號數不完全適用,因為左移有可能導致符號變化,下面解釋原因)

需要注意的乙個問題是int型別最左端的符號位和移位移出去的情況.我們知道,int是有符號的整形數,最左端的1位是符號位,即0正1負,那麼移位的時候就會出現溢位,例如:

int i = 0x40000000; //16進製制的40000000,為2進製的01000000...0000

i = i << 1;

那麼,i在左移1位之後就會變成0x80000000,也就是2進製的100000...0000,符號位被置1,其他位全是0,變成了int型別所能表示的最小值,32位的int這個值是-2147483648,溢位.如果再接著把i左移1位會出現什麼情況呢?

在c語言中採用了丟棄最高位的處理方法,丟棄了1之後,i的值變成了0.

左移裡乙個比較特殊的情況是當左移的位數超過該數值型別的最大位數時,編譯器會用左移的位數去模型別的最大位數,然後按餘數進行移位,如:

int i = 1, j = 0x80000000; //設int為32位

i = i << 33; // 33 % 32 = 1 左移1位,i變成2

j = j << 33; // 33 % 32 = 1 左移1位,j變成0,最高位被丟棄

在用gcc編譯這段程式的時候編譯器會給出乙個warning,說左移位數》=型別長度.那麼實際上i,j移動的就是1位,也就是33%32後的餘數.在gcc下是這個規則,別的編譯器是不是都一樣現在還不清楚.

總之左移就是: 丟棄最高位,0補最低位

再說右移,明白了左移的道理,那麼右移就比較好理解了.

右移的概念和左移相反,就是往右邊挪動若干位,運算子是》.

右移對符號位的處理和左移不同,對於有符號整數來說,比如int型別,右移會保持符號位不變,例如:

int i = 0x80000000;

i = i >> 1; //i的值不會變成0x40000000,而會變成0xc0000000

就是說,符號位向右移動後,正數的話補0,負數補1,也就是組合語言中的算術右移.同樣當移動的位數超過型別的長度時,會取餘數,然後移動餘數個位.

負數10100110 >>5(假設字長為8位),則得到的是 11111101

總之,在c中,左移是邏輯/算術左移(兩者完全相同),右移是算術右移,會保持符號位不變.實際應用中可以根據情況用左/右移做快速的乘/除運算,這樣會比迴圈效率高很多.

例:c語言中左移《表示乘以2,右移》表示除以2,這是由計算機工作原理導致的!但是要是7,二進位制數為0111,右移一位得3.

5,但是右移之後二進位制數變成0011,是3。不一樣啊,怎模解釋呢??

答:移位操作符的兩個運算元必須是整型的。整個移位表示式的值的型別也是整型的,而且,左移位操作符與右移位操作符的運算並不對稱。

0111右移一位是把最後一位的1去掉,左邊補個0,得0011,轉換為十進位制是3,這是正確的。並不等同於除以2 。

20樓:匿名使用者

向左移位,相當於x2

21樓:匿名使用者

位移操作符 左移!

22樓:超覺之精

1、c語言中=!是兩個運算子擺放在一起,「=」是賦值運算子,「!」邏輯非運算子;

2、邏輯操作符一般將其運算元視為條件表示式,返回結果為bool型別;

3、首先對其運算元求值,若結果為0,則條件為假(false),否則為真(true);

4、優先順序上「!」先於「=」;所有比如有下面的式子,int i;i=!5;

5、這個理解為:根據運算子優先順序,!先於=;首先5作為!的運算元,求值!5的結果是bool型的false。

6、然後false隱士轉換成int型,即0;所以i裡面的值是整形0。

擴充套件資料:

c語言運算

1、c語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程式語言。

2、在表示式方面較其它程式語言更為簡潔,如自加、自減、逗號運算和三目運算使表示式更為簡單;

3、但初學者往往會覺的這種表示式難讀,關鍵原因就是對運算子和運算順序理解不透不全

特有特點

1、c語言是乙個有結構化程式設計、具有變數作用域(variable scope)以及遞迴功能的過程式語言。

2、c語言傳遞引數均是以值傳遞(pass by value),另外也可以傳遞指標(a pointer passed by value)。

3、不同的變數型別可以用結構體(struct)組合在一起。

4、只有32個保留字(reserved keywords),使變數、函式命名有更多彈性。

5、部份的變數型別可以轉換,例如整型和字元型變數。

6、通過指標(pointer),c語言可以容易的對儲存器進行低階控制。

7、預編譯處理(preprocessor)讓c語言的編譯更具有彈性。

C中的override作用是什麼

要擴充套件或修改繼承的方法 屬性 索引器或事件的抽象實現或虛實現,必須使用 override 修飾符。override 方法提供從基類繼承的成員的新實現。由 override 宣告重寫的方法稱為重寫基方法。重寫的基方法必須與 override 方法具有相同的簽名。有關繼承的資訊,請參見繼承 c 程式...

維C有什麼用處,維C的作用是什麼?

維生素c vitamin c ascorbic acid 又叫l 抗壞血酸,是一種水溶性維生素,水果和蔬菜中含量豐富。在氧化還原代謝反應中起調節作用,缺乏它可引起壞血病。正常情況下,維生素c絕大部分在體內經代謝分解成草酸或與硫酸結合生成抗壞血酸 2 硫酸由尿排出,另一部分可直接由尿排出體外。vc每天...

求問matlab中這個語句的作用是什麼。謝謝

色彩對映圖採用 翻轉的autumn預設,flipud使矩陣上下翻轉 首先將autumn這個陣列上下顛倒一下,然後將它對應到rgb色彩上 matlab中rem語句什麼作用啊 是,除后取餘。源 r rem x,y 求餘數 bai函式,dux,y應該為正數。zhi當x,y為整數時dao候,rem x,y ...