1樓:好名字都被取了
15轉化為二進位制為0 1111,第一位是符號位(0表示正,1表示負)。
對15取反變成 1 0000,這是乙個負數的補碼(計算機儲存負數的補碼而不是原碼),而這個補碼要轉化為原碼才是真生的那個負數,即補碼-1取反變為 10000,這個二進位制對應16,由於符號是負,所以是-16。
建議先學學原碼、反碼和補碼的知識。
2樓:最大的寶寶
01111只有5位數,所以你說的情況是建立在5位字長的計算機的基礎上。
現在是2023年了,計算機儲存單元長度是8的倍數,於是這個數的一種可能寫法是00001111,取反求值,11110000,這是多少呢?套公式太麻煩,目測一下,11110000+00010000=0,就是說這個數加16等於0,所以這個數只能是-16。
從這個過程還可以發現,只要位長在6位以上,15的取反總是-16,用5位來算正好溢位了,所以得到乙個並不符合預期的結果
3樓:智者總要千慮
例如,+(加)、-(減)運算的優先順序相同,結合性為向右結合
這句話有錯,結合性為向左結合
向左結合的例子:++a++,為++(a++)
4樓:中兵勘察海外部
這個整數,是8位,還是16位的。
你跟蹤15這個位址的數,看二進位制,就知道了,看他是幾位的。
c語言中的運算子「=」與數學中的「=」的意義相同嗎?為什麼?
5樓:匿名使用者
不完全相同。比如數學上可以這樣寫:1+1=a,在程式上則寫成a=1+1;(意思是將1+1算術表示式的值賦值給變數a);兩者都有傳遞值的意思在裡面。
在數學中有a=b,這個意思是:a和b的值相等,但在c語言中,寫成a=b,意思是將b的值賦值傳送給a,結果仍然是a和b的值相等。但在其中隱藏著a的值發生了改變。
而在c語言中,a==b意思才是a和b的值相等。
6樓:瞬馭域
不盡相同,在賦值語句(比如int a=0;)裡面意思是將0賦值給a,意思就是使a=0,在if後面的括號裡面就要寫兩個等號,比如if(a==0),意思就是說如果a=0,則執行大括號裡面的語句,如果a不等於0,則直接跳過後面那個大括號裡面的內容,向下執行…
7樓:匿名使用者
不相同,c中「=」是賦值運算子,「==」是等於的意思,兩者有很大區別,經常混淆導致程式除錯時出錯,得多注意,而數學中乙個「=」就有兩種意思。
8樓:我是雁過留聲
不一樣,數學中用=就可以了,c++中需要==才能是等
9樓:匿名使用者
不相同,c中是把右面的值賦給左面的變數,數學是等號,判斷邏輯的
10樓:科技驅動生活
c中等於是==,c中=是賦值
11樓:冼烴秀
c中=的意思是把乙個值或常量送給乙個變數,不是等於的意思
12樓:傅玉蘭似裳
不同c裡面的「=」是賦值
及給它左邊的變數乙個常量值
比如1.23等等
比沒有數學中的等於的概念
c裡面等於要兩個=號
即「==」
13樓:良彩榮宰黛
不同,=是賦值,==是邏輯運算子,意思是等於的意思。
如a=b;就是將b的值賦值給a,
a==b是乙個判斷a,b是否相等的表示式,如果相等,表示式值為真,不相等則為假。
14樓:逮夏趙靜
不相同的
我們平時數學的都是從左往右看的
也就是1+2=
3這樣子
而c語言中的=是從右往左
比如說inta=
3;是把3賦值給a。兩者還是有區別的
c語言中的「!」
15樓:幻翼高達
c語言中的「!」是邏輯運算中的非運算。
「!」是c語言中的非運算子,在變數前面使用它,會構建非運算表示式,表示式的返回結果是個布林值(也就是只有true或false)。對變數使用時,如果變數不是布林資料型別,將會強制轉化為布林型別再使用,如整形變數123將被轉化為true,整形變數0將被轉化為false。
擴充套件資料:
c語言所有運算子列表:
1、算術運算子
用於各類數值運算,包括加(+)、減(-)、乘(*)、除(/)、求餘(或稱模運算,%)、自增(++)、自減(--)共七種。
2、關係運算子
用於比較運算,包括大於(>)、小於(<)、等於(==)、 大於等於(>=)。
、小於等於(<=)和不等於(!=)六種。
3、邏輯運算子
用於邏輯運算,包括與(&&)、或(||)、非(!)三種。
4、位操作運算子
參與運算的量,按二進位制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。
5、賦值運算子
用於賦值運算,分為簡單賦值(=)、復合算術賦值(+=,-=,*=,/=,%=)和復合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。
16樓:熱詞課代表
最近」盤「字很流行,盤是什麼意思?為什麼能成為網路熱詞?
17樓:塗智聊璧
1.第一題是以'\0'表示結束符。並不是你輸入的0.它會轉換成ascii碼就不等於'\0'了。你鍵盤是輸入不了'\0'字元的!呵呵!
2.輸出應該是10
28第一次進入時。i
=2,進入函式
fun(),b
=a[i]+b
=3+2
=5函式結束b=
5+b=
10;第二次迴圈:i=
3,進入函式
fun():b=a[
3]+b
=4+10
=14;
出了函式
fun()就是:b=
14+b=28
18樓:厙淑蘭封嬋
這段程式應該是尋找乙個字串的子串,如果找到則返回1,否則返回0
程式中這行**中for(i
=0;str[i];i++)
str[i]的意思是:判斷字串str的第i個字元是否為'\0'即空字元
如果為空則代表已到達字串尾部則退出迴圈,否則繼續執行迴圈
其實這行**for(i
=0;str[i];i++)
與for(i
=0;str[i]!='\0';i++)等價,c語言規定字元'\0'即0,也就是為假
str[i]!='\0'即str[i]不為假,也就是說str[i]為真
substr[k]==str[j]
這句的意思是判斷字串substr的第k個字元是否與str的第i個字元相等,如果相等則繼續迴圈,否則退出迴圈
如果還不清楚可以聯絡我^_^
19樓:酈萱仰黛
外層迴圈中第二個引數str[i]代表什麼
為什麼這麼寫
什麼意思啊?
:str[i]的意思是為真就執行,否則不執行。光個str[i]怎麼知道為不為真?
答:在c語言在以0為假,非0為真。你輸的是字元,所以對應的ascii碼是多少。
所以每段字元以'\0'自動加在字串後,'\0['的ascii=0所以字串都執行完到''\0'後退出迴圈。
內層迴圈substr[k]==str[j]什麼意思?
與上面一樣意思。
for迴圈
括號中不應該是條件嗎
是條件如
if(1)
printf("ok")
else
printf("on")
執行這句一定是
輸出ok
(為非0)
if(0)
printf("0")
else
printf("1")
一定是輸出1
(第乙個為0,非0才為真)
懂了麼?
20樓:忻丹彤雀恬
i%2就是除2取餘數。
inti,sum=1;
for(i=0;i<=40;i+3)
sum=sum*2;
i控制月份數
sum為兔子數
用for迴圈控制對數
每3個月翻一倍
請採納。
21樓:guxuecan劍
「->」是乙個整體,它是用於指向結構體子資料的指標,用來取子資料。
換種說法,如果我們在c語言中定義了乙個結構體,然後申明乙個指標指向這個結構體,那麼我們要用指標取出結構體中的資料,就要用到「->」。
問題中的p=p->next ,意思是將p指向的乙個結構體例項中的自資料next賦值給p。
22樓:雲南新華電腦學校
! 邏輯非運算子,例如:if(!(x<=0))printf("x是正數");
if(x)printf("x不等於0");
if(!x)printf("x等於0");
!= 不等,例如:if(x!=0)y=1.0/x;
23樓:雲南新華電腦學校
!」是c語言中的非運算子,
在變數前面使用它,會構建非運算表示式,表示式的返回結果是個布林值(也就是只有true或false)。對變數使用時,如果變數不是布林資料型別,將會強制轉化為布林型別再使用,如整形變數123將被轉化為true,整型變數0將被轉化為false。
24樓:刁翱釗俐
c語言是一種計算機程式語言,屬於高階語言,伴隨著偉大的unix系統誕生,也因此流傳至今。c語言寫出來的程式執行比其他高階語言的執行更快。
同眾多程式語言一樣,c語言中有著自己的變數定義方式和各種語言普遍具有的順序、條件、迴圈三種結構。指標是c語言的乙個特色,它使得c語言很強大,也增加了危險性。
初學者用得最多的c語言開發工具是vc++6.0(請比爾蓋茨給我廣告費!),雖然是15年前的老東西,但功能十分強大。
學好c語言需要的不止是努力讀書,更重要的是**積累。只有寫過千百行**,才可能談得上入門。另外就是面對無窮無盡的bug所需的那種迎難而上的心態。
任何人,不管他的水平有多高,他寫程式用時最多的部分都會是debug。
祝你學習順利!!
25樓:自我程式設計
'!'表示邏輯非, 在邏輯表示式中使用,取邏輯表示式值的反值。
比如:邏輯表示式 2==2,該表示式肯定成立,其值就是真(1),那麼!(2==2),值就是假(0);
另外c中,數值0可以表示假,非0數值可以表示真。所以!9的值就是0(假)。
26樓:獨日律勇
auto自動。變數預設是自動型別的
char
字元型別
const
常變數enum
列舉sizof
可以獲得變數占用空間大小(位元組)
union
共用體這些識別符號有些是乙個單詞,有些是單詞的一部分,你最好自己系統的去學習一下c語言
27樓:鹹玉花翠午
可能是乙個工作環境還沒有關掉你又建立了另乙個導致宕機了,記得以後每完成乙個程式,要關閉時,一定要把工作環境「workspace」也關掉,即點選「close
workspace」再開啟另乙個
28樓:叢青芬荀女
str[i]表示字串沒有結束的條件,
substr[k]==str[j]表示這兩個字元相等的條件
29樓:滄海雄風
int a =0;
a=fun();
if (!a) 這裡意思就是如果a 等於0 ! 非的意思if(a) 就是a不等於0
if (a!=1) 就是a不等於1
30樓:匿名使用者
!加上條件,取條件反值;!=,不等於
31樓:阮彥尚昊天
k=j;
是賦值。注意staic的用法
32樓:匿名使用者
!= 相當於不等於
c語言中的&運算子和j**a中&運算子規則難道不一樣? 10
c語言中的運算子"="與數學中的"="的意義相同嗎?為什麼? 30
33樓:匿名使用者
意義不同!
在《c primer plus》中的第5.2.1節中是這樣介紹的:
在c中,符號「=」不表示「相等」,而是乙個賦值運算子。賦值運算子的動作時從右到左的。
例如: i=i+1;
在數學上,該語句沒有任何意義,如果您給乙個有限的數加1,結果不會「等於」開始的那個數,但是作為計算機賦值語句它很合理。它意味著「找到名字為i的變數的值,對那個值加1,然後將這個新賦值給名字為i的變數」。
再如:2012=bmw;
在c中是沒有意義的(確切的說是無效的),原因是2012只是乙個常量,不能將乙個值賦給乙個常量;那個常量本身就是它的值了。
下面還有一大堆~~總的來說在c中賦值運算子(也就是「=」)的形式為:
可以修改的左值=運算元
C語言符合賦值運算子,C語言賦值運算子的結合方向是自右向左嗎?
gta小雞 c a b c 2是錯誤的表示式,賦值運算子的左值必須是可解析的變數表示式,而c a不是乙個合法的左值。c語言賦值運算子的結合方向是自右向左嗎? 賦值運算bai符是自右向左結合的。du以如下 為例zhi int a 1,b 2,c 3 a b c printf d,d,d n a,b,c...
C語言運算,C語言 運算子 是怎麼運算的
詳細的給你解釋一下,手打的哦 運算子的大概的優先順序 由高到低排列,分號隔開 非 算數運算子 關係運算子 與 或 賦值運算子 這些事大概常用的,當處在同乙個運算級別的時候,就從左到右計算,當然所有的運算子中,級別的最高的就是括號,有括號就要先計算括號。下面 我們來看這道題 a 前減量操作 a減1之後...
C語言中三目運算子是什麼,C語言 三目運算子
墨汁諾 選擇運算,就是a b?c那個。三目運算子為a?b c即有三個參與運算的量。由條件運算子組成條件表示式的一般形式為 其求值規則為 如果表示式1的值為真,則以表示式2的值作為條件表示式的值,否則以表示式2的值作為整個條件表示式的值。條件表示式通常用於賦值語句之中。 尋涵衍歷氣 就是 和 這2個符...