c語言裡x1是什麼意思C語言裡X1是什麼意思

2021-03-19 18:36:41 字數 6726 閱讀 3379

1樓:匿名使用者

c語言中的任何一個雙目運算子(就是和2個數做運算的運算子,比如一些數**算符,邏輯運算子,關係運算子,位運算子)都可以和賦值運算子在一起組成「複合的賦值運算子」。

具體運算規則如下:

x - = 1 左邊保留變數x,然後把賦值左邊的變數和運算子都挪到右邊,變成x=x-1即可。

若有c*=a-b,相當於c=c*(a-b)。注意括號。

2樓:匿名使用者

c語言裡的賦值運算子有 = -= += *= /= .

int a=5; //把5賦給變數a

int b=10;

b +=5; //把【b當前值】加【5】後【再賦給】變數b ,即b = 10 + 5;

其他的-= += *= /= 類似!

3樓:匿名使用者

int x = 8;

x -= 1;(複合賦值運算子)

那麼x = 7;等同於:x = x - 1;

但x-=1只計算x一次,而x=x-1計算x兩次,其它的像x *= 4即x = x * 4,所以x=32另x &= 4即x = x&4

4樓:匿名使用者

x-=1的意思就是x=x-1;

如:y+=3 就是y=y+3

-= += *= /= 都一樣

這是c語言裡面的複合運算子

5樓:匿名使用者

-=是一個賦值運算子,x-=1的意思是x=x-1,

類似的還有+=,*=,/=,《=,》=,—=……=,|=

這些賦值運算子的用法都是一樣的,如x-=1的意思是x=x-1

6樓:匿名使用者

x-=1意思就是x=x-1.

例如:x本來為5,那麼經過x-=1後,x就等於5-1,即等於4.

7樓:mvp睫毛在跳舞

相當於:x=x減1,就是左邊的移到右邊,是種簡寫!

8樓:匿名使用者

x = x-1;

雙目運算都可以這麼寫

9樓:匿名使用者

x-=1 就是 x=x-1

c語言程式中x>>=1是什麼意思??

10樓:四舍**入

>>=:這是複合運算子

「>>」是雙目移位運算子,其功能是把「>> 」左邊的運算數的各二進位全部右移若干位,「>>」右邊的數指定移動的位數。

例如:設 a=15(這是十進位制,要把它轉換為2進位制數),a>>2表示把000001111右移為00000011(十進位制3)。

11樓:餘啊水中游啊遊

>>=:這是複合運算子

右移運算右移運算子

「>>」是雙目運算子。其功能是把「>> 」左邊的運算數的各二進位全部右移若干位,「>>」右邊的數指定移動的位數。例如:

設 a=15(這是十進位制,要把它轉換為2進位制數),a>>2 表示把000001111右移為00000011(十進位制3)。應該說明的是,對於有符號數,在右移時,符號位將隨同移動。當為正數時,最高位補0,而為負數時,符號位為1,最高位是補0或是補1 取決於編譯系統的規定。

例如:#include "stdio.h"

void main()

//結果為:x=0x88888888

//然而

#include "stdio.h"

void main()

//以下結果為:x=0x44444444

先把x向右移一位再賦值給x,所以x的值有變化,第一種情況沒有變化

12樓:粘潔茹凰

"!"是取非得意思。

兩個基本概念

1、在c語言中一般認為「0」是假,其他不是「0」的都是真。

2、if()裡面為真,則進入if下的大括弧{},為假,就跳過。

以此題為例:

若x是「0」(為假)。則「!x」就不是零(為真)。則裡面為真,進入if下的大{}。

若x不是「0」(為真)。則「!x」就是零(為假)。則裡面為假,跳過if下的大{}。

13樓:聽不清啊

c語言程式中x>>=1,如果作用於整數x,就是把x右移一位,把x的二進位制值的最後一位丟棄,最高位補0。

實際就是把x的值除以2。在運算結果上等價於x=x/2。

14樓:安徽新華電腦

>>是右移運算子,就是將n的二進位制表示向右移位。你這裡的n>>=1表示將n的二進位制表示向右移動一位再賦值給n.這裡的》=與+=,-=,*=的用法是一樣的,先做運算再賦值

15樓:匿名使用者

x>>=1:是將x 以二進位制形式表示,讓各位向右移動1 位,左補0(邏輯右移1 位,相當於除 2 處理), 然後將結果仍存入x 中。

注:你的c 編譯系統若預設為是算術位移,則是各位向右移動1 位,左補1. 用時要考查一下噢。

16樓:nohow絕不

這是移位運算的意思。

是位操作運算的一種。移位運算子有雙目移位運算子:<<(左移)和》(右移)。

移位運算子組成的表示式也屬於算術表示式,其值為算術值。左移運算是將一個二進位制位的運算元按指定移動的位數向左移位,移出位被丟棄,右邊的空位一律補0。右移運算是將一個二進位制位的運算元按指定移動的位數向右移動,移出位被丟棄,左邊移出的空位或者一律補0,或者補符號位,這由不同的機器而定。

在使用補碼作為機器數的機器中,正數的符號位為0,負數的符號位為1。

17樓:匿名使用者

表示x=x>>1,右移一位,關於怎麼移,可參考樓上的解釋

x &= x-1c語言中什麼意思

18樓:匿名使用者

x & = x-1c;等價於抄 x = x & (x-1);

x - 1即進行十進襲制的減法,如x 為十進位制的30,則x-1的結果為十進位制的29

如果結果用2個位元組表示則結果為:00 00 00 00 00 01 11 01

又因為x 是30其二進位制表示為:00 00 00 00 00 01 11 10

& 是為運算的與運算子只有對應位置上全為1結果才為1,故最後結果是00 00 00 00 00 01 11 00即十進位制的28

19樓:匿名使用者

x&(x-1)

& 是位操作運算子;

x&(x-1)= 9999 & 9998 的位操作運算。

20樓:育知同創教育

等價于于 x = x & (x-1);

& 是為運算的與運算子只有對應位置上全為1結果才為1。

c語言中 y=((x=3*y,x+1),x-1)是什麼意思

21樓:寂寞的哥布林

這是bai考試題?

考逗號表達du式嗎?

你這個問題本身zhi

就有問題,你dao的y沒有初值。內我只能假設容y=1分析給你看

首先計算x=3*y,結果賦給x,假設是3;

然後計算x+1,用上面的結果就是3+1了,就是4.

逗號表示式取最右邊表示式的結果賦值。那麼

(x=3*y,x+1)

這個表示式的結果就是4.

在計算y=(4,x-1),你應該就明白了。x剛才是賦值過為3了,那麼x-1=2;同理,

y=((x=3*y,x+1),x-1)

實際賦值為y=2,同時x有第一個表示式賦值為3.

22樓:夜禮服假面

y=((x=3*y,x+1),x-1)可以拆成多個語句,這樣你就理解了

拆分為x=3*y;

y = x +1;

y = x - 1;

c語言裡for(;1;)是什麼意思?

23樓:學雅思

永遠為真的for迴圈語句。

迴圈語句由迴圈體及迴圈的判定條件兩部分組成,其表示式為:for(單次表示式;條件表示式;末尾迴圈體)。

表示式皆可以省略,但分號不可省略,因為「;」可以代表一個空語句,省略了之後語句減少,即為語句格式發生變化,則編譯器不能識別而無法進行編譯。

擴充套件資料

for迴圈小括號裡第一個「;」號前為一個為不參與迴圈的單次表示式,其可作為某一變數的初始化賦值語句, 用來給迴圈控制變數賦初值; 也可用來計算其它與for迴圈無關但先於迴圈部分處理的一個表示式。

「;」號之間的條件表示式是一個關係表示式,其為迴圈的正式開端,當條件表示式成立時執行中間迴圈體。

執行的中間迴圈體可以為一個語句,也可以為多個語句,當中間迴圈體只有一個語句時,其大括號{}可以省略,執行完中間迴圈體後接著執行末尾迴圈體。

執行末尾迴圈體後將再次進行條件判斷,若條件還成立,則繼續重複上述迴圈,當條件不成立時則跳出當下for迴圈。

24樓:一口沒水的枯井

1 這是一個省略了初始化表示式和更新表示式,而測試表示式永遠為真的for迴圈

2 在c語言中,for迴圈的一般形式如下

for(初始化表示式;測試表示式;更新表示式)其中初始化表示式可以省略,其後的分號不可省略,其用來初始化一個或多個變數

測試表示式可以省略,其後的分號不可省略,其返回值為布林型,用來判定迴圈是否終止

更新表示式可以省略,其後的分號不可省略,其用來更新變數3 在c語言中,整型和布林型可以相互轉化

任何不為0的整型強制轉換成布林型為true而0強制轉換成布林型為false

因此在本題中的測試表示式的返回值1轉換為布林型為true4 擴充套件

如果不在迴圈體中終止該迴圈的話,那麼該迴圈就是一個死迴圈在迴圈體中終止該迴圈的方法是使用break;語句

25樓:匿名使用者

for 是迴圈語句

例如for(int a=1;a<=10;a++)

/* 先定義一個變數且初始化, 然後定義表示式 a<=10(a小於等於10), a++是a自加相當於a=a+1 這句語句的意思就是 定義整型a=1 當a小於等於10時 for執行迴圈 並且a自加 當a=10時迴圈停止*/

26樓:匿名使用者

這是死迴圈,,

for(;;)

兩個分號直接的表示式是判斷條件,1 為真,所以是死迴圈

27樓:匿名使用者

就是一個無限迴圈語句,在c裡面,只要不為0就是true,0就是false,因此你給了一個1,就是一直為true的去做迴圈~

28樓:匿名使用者

中間沒有break就是死迴圈了,1是條件恆為真

29樓:匿名使用者

哈哈,這簡單!就是代表一直執行迴圈,直到用break;等中斷;用法和while(1)相同

c語言中!x是什麼意思

30樓:紅紅紅紅貨

邏輯判斷,嘆

bai號是非

du的意思,x是各變數,如果

zhix為零那麼!x就是dao1,相反是專0。

若x是「0」(為假)

屬,則「!x」就不是零(為真),則裡面為真,進入if下的大。

若x不是「0」(為真),則「!x」就是零(為假),則裡面為假,跳過if下的大。

擴充套件資料:c語言運算子列表:

1、優先順序1級

結合方向左結合(自左至右)

()圓括號

下標運算子

->指向結構體成員運算子

.結構體成員運算子(請注意它是一個實心圓點)2、優先順序2級

結合方向右結合(自右至左)單目運算子

!邏輯非運算子

~按位取反運算子

++自增運算子

--自減運算子

-負號運算子

(型別)型別轉換運算子

*指標運算子

&地址與運算子

sizeof長度運算子

31樓:楊必宇

邏輯判斷,歎號是非的意思,x是各變數,如果x為零那麼!x就是1,相反是0。

若x是「0」(為假),則「e69da5e887aa62616964757a686964616f31333431373935!x」就不是零(為真),則裡面為真,進入if下的大。

若x不是「0」(為真),則「!x」就是零(為假),則裡面為假,跳過if下的大。

擴充套件資料:

基本的操作符有:「非」(¬)、「與」(∧)、「或」(∨)、「條件」(→)以及「雙條件」(↔)。「非」是一個一元操作符,它只操作一項(¬ p)。

剩下的是二元操作符,操作兩項來組成複雜語句(p ∧ q,p ∨ q,p → q,p ↔ q)。

注意,符號「與」(∧)和交集(∩),「或」(∨)和並集(∪)的相似性。這不是巧合:交集的定義使用「與」,並集的定義是用「或」。

c語言關鍵字。

signed:宣告有符號型別變數。

unsigned:宣告無符號型別變數。

struct:宣告結構體變數。

union:宣告聯合型別。

enum:宣告列舉型別。

switch:用於開關語句。

case:開關語句分支。

default:開關語句中的「其他」分支。

auto:宣告自動變數,預設時編譯器預設為此。

const:宣告只讀變數。

static:宣告靜態變數。

register:宣告暫存器變數。

c語言dp是什麼意思,c語言裡是什麼意思

1 先看 d p 這是一條複合賦值運算,相當於d d p 因此 d p 相當於 d d p 2 整個表示式的執行流程 因為是後自增運算子,所以 第1步 執行d d p 第2步 執行 p 假設,d 1,p 2,則執行後,d 1,p 3。相當於兩個語句 d d p p 是複合賦值運算子,是自增運算子 變...

d在c語言裡是什麼意思,在C語言中c 和 d 是表示什麼意思

c語言中 d表示忽略第一個整數,而 d中的 是一個標誌符號,用來表示跳過它相應的回資料,表示輸出的資料區答和它對應的資料表示輸出的空格個數,從而使下一個輸入的內容複製給緊接著的變數。c語言格式介紹 d是輸出整型資料,和格式字元組合在一起的作用是將輸出的資料轉換為指定的格式輸出。d是帶符號整數,意思就...

case在c語言裡是什麼意思

case用在switch語句中 switch n 就是如果n等於哪個值就執行其後面的語句 case是用於開關語句中的關鍵字。開關語句,又稱switch語句,由關鍵字switch搭配若干個case及可能存在的default語句,共同組建成的一種分支結構語句。其一般形式為 switch 表示式 case...