1樓:
二元運算:
由兩個元素形成第三個元素的一種規則。例如數的加法及乘法;更一般地,由兩個集合形成第三個集合的產生方法,或構成規則,稱為二元運算。
從二元運算的定義可以看出,賦值不是由兩個元素形成第三個元素,所以賦值運算子不是二元運算子。
二元運算子:
二元運算子是寫在執行運算的子表示式對之間的運算子。
2樓:匿名使用者
是運算子,但不是二元運算子,就叫賦值運算子,賦值運算子還有很多種比如 +=, -=, *= ....
其實你不用糾結到底是不是二元的問題。。。就是規定而已。雙目和二元是乙個意思。
3樓:香蕉蘋果汁
單目就是運算子的兩邊只有乙個直,而雙目則是必須兩個都有如:2!=3 這個「!
=」就是雙目運算子,所以賦值=是二元運算子!參考http://technet.
4樓:匿名使用者
不算,賦值是賦值,運算是運算。
一元運算子就是乙個運算元就能完成i++,二元就是兩個a+b,、、、
5樓:匿名使用者
二元操作符是指:運算子擁有兩個顯式運算元的操作符,比如+ * =都是二元運算子。c語言裡有一元、二元、三元運算子。
三元運算子只有乙個 ?: 也稱之為條件運算子相當於if-else語句。
一元運算子有++ ! ~ -- & 剩下的都是二元運算子。
比如: +:5+6
關於c語言的基礎問題
6樓:三天打魚
?:是三元運算 條件?成立返回這個:
不成立返回這個x大於10條件不成立所以返回x -10 結果是0w++||z++ 或運算 由於前面的w不為0 所以直接返回結果1 而後面的z++不執行 z值不變
!w>z w取反大於z !的優先順序高 所以先取反w w不等於0 所以取反結果是0 而0不大於z所以返回0
w&&z w與z是不是都不是0 w=4 z=7 條件成立 返回1結果是 0 1 0 1
上機測試結果
你那題目是錯的…………
7樓:匿名使用者
主要是考察對於各種運算符號以及運算優先順序別的知識掌握;
優先級別:
先算術運算,然後
最高:!
>、>=、<、<=
==、!=
&&最低:||
第乙個printf語句中
x>10?x+100:x-10
這是乙個?運算,其一般格式為
表示式1?表示式2:表示式3
其運算規則如下:
表示式1是乙個邏輯表示式,如果表示式1結果為真,就以表示式2的結果為最終結果;如果表示式1結果為假,就以表示式3的結果為最終結果。
本題:x>10 為假,因為x的賦值為10;所以結果為: x-10 = 10-10=0
第二個printf語句中
++是加1運算,而||是邏輯或運算
w++||++ ==> 4||8,邏輯運算先把非零值轉換成true,0值轉換成false
所以 4||8 ==> true||true ==> true 再把true轉換成1,所以輸出結果為:1
第三個printf語句中
!是邏輯運算的非運算,>是關係運算,這裡先做!運算,!3==>!true==>false==>0
所以!w>z ==> !3>7 ==> !true>7 ==> false>7 ==> 0>7 ==> false ==> 0
c語言裡面,在進行邏輯運算的時候,把非0值看作true,把0看作false,反之在輸出的時候true輸出1,false輸出0。
所以輸出結果為:0
第四個printf語句中
w&&z,其中&&是邏輯與運算
w&&z ==> 3&&7 ==> true&&true ==> true ==> 1
所以輸出:1
8樓:小卒丶蹴
w =3,z=7,x=10
printf("%d\n", x>10?x+100:x-10);
判斷x>10是否為真,結果是為假,輸出冒號後的值:x-10 = 10 -10 =0
printf("%d\n",w++||z++);
w++ || z++ = 3++ || 7++ = 4 || 8 = 1 ,4 || 8兩個非零數相或輸出 1
printf("%d\n",!w>z);
!w>z = !3 > 7 = 0 > 7 = 0, 先進行!運算,在判斷大小,輸出:0
printf("%d\n",w&&z);
w && z = 3 && 7, 兩個非零數相與 輸出: 1答案: c
網頁鏈結
c語言基本問題有哪些?
9樓:岔路程式緣
一、c語言規定總是從main()開始執行的(這個函式也叫「主函式」)。因此,你發來的題目中的(1、6、8)敘述都是錯誤的,都應該選擇f。
二、第2題中,c語言對其資料在記憶體中所占用的實際位元組數,隨著程式中宣告的資料型別以及資料的多少而變化,c語言本身並沒有明確規定。這題應該選f。
三、第3題,c語言中強制型別轉換,僅對轉換的語句有效,而不會改變所轉換變數的原有資料型別,這是正確的,應該選t。
四、第4題,i=8,j=10;printf("%d,%d,%d,%d\n",i,j,++i,j++);實際上是乙個程式執行類題目,執行這一句時,先取得ij變數的值,其中有乙個++i(先自增),乙個j++(後自增),先自增的i先加上1,也就是i=8+1=9,而後自增的j在列印之後再加1,所以列印時仍是j=10。所以列印出來是:9 10 9 10。
這是正確的。
五、第5題「c語言中放在「」之間的內容都被視為字串的乙個構成部分,都可以在螢幕上原樣顯示」的說法是錯誤的。舉乙個例子就可以了:print("%d",8);是列印不出來%d的,它只能列印出來8。
所以它是錯的。
六、第7題,設x、t均為int型變數,則執行語句"x = 10;t = x && x >10;"後,t的值為,這個題目好似沒有寫完,成了填空題了,現在來看計算過程,t = x && x >10,根據計算的優先順序,>號是6級,&&是11級,先計算x >10,因為x=10,故x>10是不成立的,所以它的值是0,第二步再計算x && 0=10 && 0=0。t的值最後應該是0。
希望對你有所幫助。
c語言語句基本知識理解的問題?
10樓:幹文敏賓疇
記得一件事,
所有優先順序都不是隨便定出來.
而是按照自然語義來的
因為肯定是先有結果後有對結果的比較,
所以產生
邏輯結果的運算,
肯定比邏輯與或非要優先.
比如我們說一句話
五大於三並且三小於四.
大於和小於都是產生
"是否"
的運算而
"並且"
是需要對兩個
"是否"
進行合併,
因此並且肯定是慢的,
所以 >
,<.==
優先, &&,
|| 後
c語言基礎知識問題
11樓:匿名使用者
3、a4、c
5、a6、b
7、c a
c語言 函式定義概念問題
12樓:及時澍雨
先舉個例子:
#include
int max(int,int); //這是函式max的申明,最後要加分號
int main()
int max(int n,int m) //這是函式max的定義部分,最後不加分號
不能在函式體內定義函式是什麼意思?
【就是說函式在程式中不能巢狀定義,這個和pascal語言不同,例如上面程式中,max函式不能定義在main函式中間】
定義是宣告還是使用?
【定義既不是申明,也不是使用,函式具體功能的實現**叫做函式的定義,如上面程式最後7行就是定義】
函式不是應該先宣告在使用嗎?
【是的,但如果函式定義在函式使用之前,就可以不用申明(如下面程式)。函式定義在函式使用後的情況下(如上面程式),先宣告,能使編譯器在編譯在編譯過程中能夠識別使用的函式】
#include
int max(int n,int m) //這是函式max的定義部分,最後不加分號
int main()
定義如何解釋?
【見第二個問題】
13樓:
1、定義,宣告,使用:
定義就是給出函式的實體,就是用**寫出函式功能包括函式名函式引數和函式體;
如:int max(int a,int b)
宣告,就是說明,說明一下這個函式的樣子,即給出函式名和函式引數,宣告是給編譯器看 的,以便於編譯器檢查函式呼叫是否正確。如:int max(int a,int b);也可以int max(int,int)
使用就是呼叫,是在**中實實在在的發揮該函式的功能,如:m=max(2,3);
2在函式內部不能定義其他函式就是說,在定義乙個函式的時候,不能在函式內在定義另乙個函式,即函式的的定義不能巢狀。
14樓:
不能在函式體內定義函式是什麼意思?
函式的操作方法與內容,不在寫在另乙個函式體內,因為那樣做,會使它的作用域在乙個函式體內,在別的地方沒有辦法引用,編譯器找不到。理由可能不對,但是這樣規定的。
定義是宣告還是使用?
定義是指明操作內容,即不是宣告也不是使用,而是指它的工作內容,使用是指呼叫,宣告是編譯器知道這麼個破東西。
函式不是應該先宣告在使用嗎?
對。定義如何解釋?
上面已經說過了。
15樓:歐文君愛分享
如果你的主函式在前面,其他函式在後面。因為程式是從上到下讀的,所以你在主函式裡想呼叫其他函式就必須要先宣告。但如果你的呼叫函式寫在前面,那麼在主函式中就不用先宣告了,就可以直接呼叫
16樓:星當月
是先定義後使用,定義就是說先確定型別,是常量還是變數等,定下來後再使用
17樓:酈鵾拓跋湛英
可以,宣告函式時可以不需要形參名稱,只要形參型別。
注意這叫函式宣告,不叫定義。在大括號中給出函式具體實現的才叫函式定義。定義函式時形參名不能省略。
c語言基礎問題
18樓:匿名使用者
#include
void draw_box( int, int);//宣告draw_box函式
int main(void)//定義主函式void draw_box(int row, int column)//定義draw_box
}定義col的原因是因為每一行都需要迴圈從column到1的迴圈,這是乙個迴圈變數。如果直接使用column的話,第一行的時候就是的column變成了0,那麼column在第二層第三層。。。之後的迴圈就不會輸出那麼多了。
19樓:匿名使用者
for (col = column; col > 0; col--)printf("x");
這是數值遞減迴圈。
因為外面還有迴圈, 每次執行到這的時候, 都要為col 賦初始值 column。
直接好像也可以,要寫成:
for (int i = 1; i <= column i++)printf("x");
關於c語言的基礎問題,C語言基本問題
三天打魚 是三元運算 條件?成立返回這個 不成立返回這個x大於10條件不成立所以返回x 10 結果是0w z 或運算 由於前面的w不為0 所以直接返回結果1 而後面的z 不執行 z值不變 w z w取反大於z 的優先順序高 所以先取反w w不等於0 所以取反結果是0 而0不大於z所以返回0 w z ...
c語言基礎問題,C語言基本問題
變數要定義為全域性變數,就是要在函式體外面定義變數,同時不能加關鍵字static靜態的,靜態全域性變數只能在本檔案內使用,你先在乙個檔案中定義變數,比如 include int a int main 在另外的檔案中,如果你想要使用變數a,那麼首先要extren int a extren關鍵字的意思是...
C語言的基礎問題,C語言的乙個基礎問題
分配的記憶體大小不一樣,簡單說,long型可以儲存的資料比int型的大!c語言規定,sizeof short sizeof int sizeof long 但是long一定要大於short 在不同的目標平台上,用這兩個關鍵字定義的變數占用的儲存空間可能相同,也可能不同。32位的系統中sizeof l...