C語言的基礎概念問題,關於c語言的基礎問題

時間 2022-05-29 09:10:07

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...