關於C語言的問題,我是新手。新手如何入門C語言?

2023-03-21 23:05:06 字數 4512 閱讀 5156

1樓:匿名使用者

不大明白樓主的真正意思,我就按我對樓主問題的理解解釋了。

指標變數儲存的是十六進位制記憶體地址的值,他也是一個值,為什麼叫他指標,因為他儲存的是一個地址。所謂函式的地址傳遞,也是值傳遞(地址值傳遞),如果你有一個指標不管他指向或不指向任何記憶體地址,他都有一個類似0x0012ff2c的值,所以不要把指標想的太特殊,他就像一個int型變數能儲存一個10000一樣,就是儲存一個值,這個值是他指向記憶體區域的首地址。

為什麼變數可以儲存指標,說再通俗點,指標也相當是一個int變數,0x0012ff2c也是一個整型常量啊!sizeof(int)是4,sizeof(指標)也是4,他兩個很像。變數儲存指標就是存了一個地址的值。

int a = 0;

int b = int)&a;

*(int*)b = 1;

cout 《整型變數b也有點像指標的性質了麼。只不過他不知道定址的便宜量罷了。

當然最好不要這樣使用很危險,很典型的例子就是用浮點型儲存指標,那麼指標就面目全非了,具體可以研究網上看浮點型的記憶體補碼形式。

2樓:大兵黃帝

這個跟儲存單元有關,變數分配到一個儲存單元,但是內部沒有存變數,而指標只是指向你這個變數的地址,如果要把指標存到一個變數裡,存的是指標所指的那個變數的地址。地址也是一個資料,比如,變數i的地址是100.那麼,要把指向i指標存到k變數對應的儲存單元中,實際存的是100,而不是把i存到k中。

新手如何入門c語言?

3樓:淦悅凌幻玉

首先要有恆心,c語言很難學。尤其是月往後才難呢!!!有一本書教《21天學通c語言》挺不錯的。您可以看看。裡面附帶光碟。

4樓:網友

樓上的先搞懂,人家不是現在要考計算機二級啊。

先看一些基礎的教材,有一個比較好的方法是你到工科學校那邊,往屆生好多都把自己的書籍賣掉了,你就買他們賣掉的教材就好了,既便宜,又容易入門,因為學校選的教材都還不錯,等看懂了也就入門了,當你把迴圈,檔案,連結串列,結構體,指標,條件等語句搞透了之後就去考試國家計算機二級考試吧,一定能過。

5樓:k流星雨

首先選好一本教材,這是最關鍵的,我推薦譚浩強的《c程式設計第二版》及其輔導書第二版,也是譚浩強版的。其次,選一個執行環境,推薦visual

0.希望你能學好c語言。

6樓:匿名使用者

看譚浩強的《c程式設計》,這本書基本上是最好的入門書了,然後多上機操作。

新手c語言問題

7樓:梅秀雲焉嫻

問題一:c語言中int

main()和void

main()有什麼不同?

答:intmain()必須返回一個int的數值。

voidmain()不需要返回資料。

問題二:在網上看到一段話:

「可以指定一個整型常量為二進位制、八進位制或十六進位制,如以下語句:

-129,0x12fe,0177

常量的前面有符號0x,這個符號表示該常量是十六進位制表示。如果前面的符號只有一個字母0,那麼表示該常量是八進位制。

有時我們在常量的後面加上符號l或者u,來表示該常量是長整型或者無符號整型:

22388l,0x4efb2l,40000u」

答:前面加-代表是有符號數。

0x代表(hex十六制)

0代表oct八進位制,不過八進進位制用的少,而且並不通用,你可以放棄八進位制了。

進位制的就不多說了,一門語言的基礎了,l就是long,u就是unsigned.

組合就多了,long

int;long

float等,unsigned

char;unsigned

int等;

關於c語言小問題

8樓:匿名使用者

在c語言中邏輯「真」bai的du定義是:非0即為真。

在a中\0'不被編譯zhi器認,dao報錯,再說也回沒有使用「答'」的轉譯字元;

在b中,0為假;

在c中0'不被編譯器認,報錯;

在d中null在編譯時認為是假。

所以本題應該是沒有答案的。不過如果c中的「'」為何運算還不被確定,在c語言中應該沒有這個運算。

這題要是勉強的話只可以選擇d。

9樓:葛朋

是選項有問題還是認為選d可以。

10樓:鏡奇買以南

#include

#define

letter

1//預處理bai語du句zhi,後下邊。

dao有關係的。

intmain()

return0;}

#ifdef 識別符號 //當識別符號已經被#define定義過,則編譯程式段1,否則編譯程式段2

程式段1#else

程式段2#endif*/

c語言初學問題 15

有關c語言 我是初學者

11樓:

以一個位元組為例,一個二進位制形式為「11111111」的數。

當它為有符號數時,第一位是符號位,「1」表示它為負數,之後7個「1」為該數的數值。因為負數採用補碼形式儲存,所以這個數是-1

當它為無符號數時,第一位也是數值位,8個「1」表示255有符號數向無符號數轉變時,第一位符號位變成數值位,這樣「-1」變成了「255」

無符號數想有符號數轉變時,第一位數值位變成符號位,這樣「255」變成了「-1」

希望能幫到你,望^ ^

12樓:匿名使用者

nani_z 的已經大概說明了有符號和無符號的區別。

預設情況下,基本的幾個整數型別的最高位被預設為符號位,實際上不管是有符號還是無符號,它在記憶體中,都只有一種形式,那就是0-ffffffff。

有符號和無符號整數型別的區分,只針對編譯器,編譯器會根據有符號和無符號來選擇如何編譯它的運算過程,而最終輸出的東西,還是取決於你自己,在標準輸出流中,是在ostream中直接有型別的過載,所以cout能直接根據有符號和無符號的正確型別來選擇輸出。

unsigned int n = 0xffffffff;

printf("%u, %d", n, n);

coutprintf("%u, %d", n2, n2);

cout《如果要了解有符號和無符號的具體運算過程,你可以寫幾個加減乘除的**下個斷,看看反彙編。

13樓:匿名使用者

這本書講的不好,等下我給你解釋一下。其實很簡單,就是有符號數可能是負數,如果是負數呢,就需要轉符號,需要加個數在計算,無符號本身如果很大就會存在溢位,所以就需要看最高為了。

14樓:淡騰搖銘

c語言中有符號整數型別通過最高位來判斷他是不是最高位。最高位時1時,代表有符號,最高位時0時,代表無符號。在做強制型別轉換時,當然就是書上說的那樣。

c語言,初學者問一問題。

15樓:匿名使用者

既然是初學者,我想告訴你一點基本的知識,首先那個scanf函式,是個輸入流函式,即是從終端(即鍵盤)讀取資訊,你的那條語句是要輸入三個資料,首先就有個怎麼用鍵盤輸入三個資料的問題,我想讓你知道,你輸入資料的時候,最好用空格來分隔三個資料,這些你慢慢就會知道為什麼這麼做。

然後,是那個 a=x/; 這條語句,我想說,兩個整形相除還是整形,是下取整的,舉個例子(你也可以自己程式設計去試試),1/2=0 4/3=1。就沒有必要減去了。

最後,是那個三元操作符。首先a==20?21:

20;這條語句,是三元操作符是有個結果的,即如果a==20,則結果是21,反之結果是20;所以你應該用a來存貯這個結果,因為你的意思應該是,如果上面的表示式的結果是20的話,那就是21世紀(這什麼要+1,我也理解你的想法),反之是20世紀(這個想法其實是初學者的通病,即想的都是那麼現實,其實程式跟人的想法和現實是有差距的,程式是呆板的,不能用人的邏輯去寫程式),你是想著人一般不是20世紀,就是21世紀,這無可厚非,但總歸有侷限性。其實,這樣的話,就可以大可不必用這條語句了。

我的答案是:

#include

main()

如果非要用那個三元表示式的話(是存在侷限性的):

#include

main()

希望等幫你解決一些難題,都是這麼過來的,當時有人幫過我,我也想幫助別人。

16樓:匿名使用者

你的程式裡 有些錯誤。

#include

main()

程式可改為:

#include

main()

17樓:網友

main()

//算出生 世紀就這樣就可以了。

// 輸入的時候要加/ 比如:2012/11/24

關於c語言的一個入門問題

新人,關於c語言,這句話怎麼理解,不懂啊。 40

C新手問題,超級簡單啦,新手C語言問題

int c a int b 這樣的c就是int型的。double c a b 這樣的c就是double型的。c語言中,double的級別比int高,所以從int轉換到double可以自動轉換,只要加號兩邊有一個double,結果就會變成double的。但是從double轉換為int需要寫明,例如 i...

C語言新手陣列問題,C語言陣列問題

a i j a i j 理解運算優先順序就好了,裡面的那個括號 可有可無 原解析有誤。二維陣列其實就是i個具有j個元素的一維陣列,因此a i j a i j a i j c語言陣列問題 你的 問題有以下幾個 1 min和max沒有初始化 2 對於a min 和a max 沒有做迴圈參考 如下 inc...

新手c語言的簡單問題

include include void main else if num 2 應該用 else zx printf 你選擇了周逍 n xianshi 沒有定義這個標籤 h1 sh printf 敵人hp n while h1 0 xianshiz printf n我方hp n h1 hp whil...