關於C語言 用法的基礎問題,關於C語言 用法的乙個基礎問題

2022-02-04 13:57:30 字數 3599 閱讀 2134

1樓:

c[s[i]]++就是c[s[i]]加1。s[i]是小於5的數,作為c的乙個下標。

自增運算子 ++ 使運算元的值加1,其運算元必須為可變左值(可簡單地理解為變數)。

問題在於:++ 可以置於運算元前面,也可以放在後面,如:

++i;

i++ ;

++i表示,i自增1後再參與其它運算;而i++ 則是i參與運算後,i的值再自增1。

告訴你自增自減的規律吧:

x++, x--, ++x, --x,這個你應當把它看成是乙個表示式,所以看到這如下:

y = x++或 y=++x,這是把這個自增或自減的表示式的值賦給y,而這些表示式的值是這樣的:

表示式 表示式取值 表示式計算完後x的取值

x++ ....... x ........... x+1

x-- ....... x .............. x-1

++x ....... x+1 .............. x+1

--x ....... x-1 .............. x-1

2樓:匿名使用者

這是自增運算~~~ 比如說:a++ 的效果等於 a=a+1

你的程式是在想給程式迴圈賦值並輸出(挺廢話的)我想你因該知道

3樓:匿名使用者

c[s[i]]++ 相當於 c[s[i]] = c[s[i]] + 1

c語言乙個最最基礎的問題——include的用法。

4樓:念菡車森

#include

void

main()

printf("1到100的所有偶數和為%d\n",s);

}希望能幫到你,不懂的地方追問

5樓:匿名使用者

首先你要弄清楚#include<>和#include" "的區別就可以了,第乙個是自動把系統的標頭檔案鏈結進去,第二個是把你自己寫的標頭檔案連線進去.

6樓:匿名使用者

1、c語言預處理器指令#include用於在編譯期間把制定檔案的內容包含進當前檔案中,又稱檔案包含指令。

在原始檔中,任何形如

#include "檔名"

或#include 《檔名》

的行都被替換為由檔名指定的檔案的內容。如果檔名用引號引起來,則在原始檔所在位置查詢該檔案;如果在該位置沒有找到檔案,或者如果檔名是用<>括起來的,則將根據相應的規則查詢該檔案,這個規則同具體的實現有關。

2、被包含的檔案本身也可以包含#include指令。如果某個被包含檔案的內容發生了變化,那麼所有依賴於該包含檔案的原始檔都必須重新編譯。

7樓:萬楊

main.c

#include

//#include "myprint.h"

void myprint()

裡面有了myprint()函式了,當然可以編譯過了。

你試試改成:

main.c

#include

//#include "myprint.h"

myprint()//這樣應該會出錯的!

/*void myprint()*/

8樓:匿名使用者

#include //stdio.h 就是乙個標頭檔案

乙個c語言基礎知識問題

9樓:

#include//加上這行!

#include

void main() //加上void比較好。

10樓:

這裡傳入的事b陣列的乙個首位址。希望我的回答對你有幫助

11樓:匿名使用者

int b="\x34\034";

改為string b="\x34\034";

關於c語言的基礎問題

12樓:三天打魚

?:是三元運算 條件?成立返回這個:

不成立返回這個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

上機測試結果

你那題目是錯的…………

13樓:匿名使用者

主要是考察對於各種運算符號以及運算優先順序別的知識掌握;

優先級別:

先算術運算,然後

最高:!

>、>=、<、<=

==、!=

&&最低:||

第乙個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

14樓:小卒丶蹴

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語言問題,關於C語言的問題

迴圈3次 5成立,結果 x 1,y 4,z 2。5成立,結果 x 2,y 3,z 1。5成立,結果 x 3,y 2,z 0。5失敗且不再執行 右側的 x,退出迴圈。所以最後結果是x 3 y 2 z 1,b正確。關於c語言的問題 巨集定義與賦值不同,而是字串的帶入,因此參與計算時要特別注意計算的優先順...

關於C語言的,關於C語言

看了下你的程式,並親自執行了一下,是沒有錯誤的,正常輸出的結果如下圖 所以對於你的 而言,可以得出一下分析結果 1 在語法 和 邏輯上都是正常的,可以正常執行並列印出結果。2 我猜測,你的這道題應該是針對 static 的練習。static定義的變數,在程式啟動時被建立,直到程式終止才被殺死,在整個...

關於C語言左移右移的問題,關於C語言左移右移的問題

hbyte later hbyte 8 這裡並沒有使hbyte成為0!而是hbyte later 0 0100 1010 這是4a的二進位制 1000 0000 這是80的二進位制 4a左移8位 0100 1010 0000 0000 對應的10進製值為18944,且80對應的10進製為127 18...