請教C語言學習問題,C語言的幾個問題,請高手指教

時間 2023-04-18 13:18:06

1樓:洛切鵬

死記硬背學c語言是不可能的。

c語言是程式設計師和計算機交流的語言,所以要把它當一門語言來學習,好在c語言的大部分單詞跟英語差不多,比如你分不清「什麼時候用printf什麼時候用scanf」,那你知道print 和 scan的意思吧?現在如果有人告訴你一個是列印資訊到螢幕,一個是獲取使用者的輸入,你現在能從字面上來區分這兩個函式嗎?

關於資料型別float與double,你要知道的是這兩種型別的資料所佔的記憶體空間是不一樣的,換言之就是資料的精度不一樣。至於為什麼會「明明都能輸出但是結果是不同的而且是在整數部分不同」,這個就要你在除錯**的時候去看記憶體了。

說了這麼多,歸根結底還是要對c語言有興趣,沒有興趣要會培養興趣。不要怕麻煩,先把書上的**在計算機上敲一敲,試著跑一下,弄清楚每一句**的含義是什麼,然後再單步除錯一下,看一下每句**會幹些什麼。等你理解了一個程式後,你會很有成就感,而成就感就是培養興趣的動力。

等你把書上的程式都弄清楚以後,之前你覺得頭痛的問題就迎刃而解了。從簡單的做起,慢慢地培養自己的信心和興趣,你會成功的。

2樓:明天陽光男孩

那還是因為寫的少,你要是每天寫1000行,估計就不會苦惱了。寫的時候,還要明白為什麼這麼寫,多看別人的demo,自己試著去模仿,模仿的過程中試著去理解。

3樓:敏望

建議參考一些大學教材如清華和交大的。最好是基礎入門型的。從小程式開始,理解了每個語句之後再進階。不斷努力,你一定會成功的!

4樓:射手亓官弘新

把一些概念性東西理解了就行,先理解,後程式設計。

c語言的幾個問題,請高手指教

5樓:張三**

分類: 電腦/網路 >>程式設計 >>其他程式語言。

問題描述:1.在c語言中,char型資料在記憶體中的儲存形式是___

a)補碼 b)反碼 c)原碼 d)ascii碼。

答案是d,但是在某些資料中說到「資料在記憶體中是以補碼形式存放的」,這使我有些迷惑不解,請各位不吝指教。

2.表示式18/2*sqrt(的資料型別為___

a)int b)float c)double d)不確定。

答案是c,我不清楚,為什麼不能是b選項。

3.已知 int k=7,x=12

求:1. x%=(k%=5)

2. x%=k-k%5

3. x%=(k-k%5)

4. (x%=k)-(k%5=5)

4.設變數n為float型,m為int型,則以下能實現將n中的數值保留小數點後兩位,第三位進行四捨五入運算的表示式是___

a) n=(n*100+

b) m=n*100+,n=m/

c) n=n*100+

d) n=(n/100+

答案是b,請問a,c,d錯在**。

謝謝各位前輩指教,後輩謝謝了。

解析: 1 概念模糊。補碼,反碼,原碼; 在彙編書上稱為機器數的「碼制」,大部分機器使用補碼制。

ascii碼其實是一種字元**,通用的。一臺計算機的碼制是不能改變的,他是計算機的硬體屬性。ascii碼是軟體屬性,在ascii碼中,32h代表的是空格鍵,你也可以設計一種介面程式,讓32h代表別的字元。

c語言中,char的儲存型別是:「佔用一個位元組的型別」(就叫位元組型吧),機器數的碼制是補碼,儲存的數值所代表的字元符合ascii規則。

2 sqrt()函式的儲存型別是double型。(可檢視數學函式表)

3 這個沒營養哦,(1)x=0 k=2 (2)x=0 k=7 (3) x=2 k=7 (4) error!

4 建議你複習資料型別一章吧,a 的效果僅僅是數值加大了,b 的正確,輸出n仍然有六位小數點,但是,充千分位開始,後面的都是零。

c 明顯錯誤,數值n很明顯的加大了100多倍。

d 數值加大了。

功夫呀。

c語言中的問題新手不太明白麻煩說一下?

6樓:匿名使用者

選擇4

陣列a的初始化方法隱含最末有一個字串結束符'\0'也包含在陣列中,

所以陣列a要比數字b的大小大1,所以1和2都錯誤

陣列b都沒有字串結束符'\0',都不是一個字串,所以3錯誤

7樓:匿名使用者

選擇4 陣列長度是10,元素的下標範圍是0-9,共10個元素,10越界了;陣列下標應該是整數 陣列應該使用方括號,而不是圓括號。

求助,c語言問題

8樓:鹹魚君的學習館

請把題目資料貼完整。比如隨機的這六個數字的範圍是多少。以及彩票中獎號碼會不會重複這些。

假設數字範圍是1~10 且號碼要求不重複。那麼**如下。若範圍不一致請自行修改。

**截圖。執行截圖。

手打不易,望採納~

請教c語言的問題

9樓:紀景明枚書

既然sum_power(n,k)=pow(n,k)+sum_power(n-1,k)

你至少要定義sum_power(0,k)及sum_power(1,k)兩個初值。

另外你的k是什麼?好象沒有意義喲。

c語言學習過程中的問題

10樓:

1、把c語言當一門數學來看。計算機語言雖有「語言」之名,但無「語言」之實,說到底就是數理邏輯。如果覺得自己很難有什麼提高,不如回過頭去再去看看演算法結構和離散數學。

這樣,你提高的不僅是c語言能力,對計算機程式設計的理解也會有所提高。

2、瞭解計算機是如何執行你編寫的每條語句的。建議認真去看編譯原理,這樣才能編出巧妙的、效率高的**。

11樓:及寅

提高程式設計的方法:

程式設計程式設計再程式設計!!!

建議你去看《c專家程式設計》,看懂後,你可以在簡歷上寫「精通c語言了!」

再次提醒,程式設計程式設計再程式設計!!!

12樓:匿名使用者

能幫我看看程式麼?我也在寫一個簡單的學生管理系統,能幫忙看看嗎?

?oldq=1

13樓:網友

c語法遇到瓶頸,你可以往演算法和某一平臺下的庫發展。

14樓:時間扯出距離

圍觀中 多看點書吧。

c++學習的問題

15樓:匿名使用者

學習c++ 最經典的書, 《thinking in c++》看看這個吧,絕對有用的。

16樓:匿名使用者

數學和英語有一點基礎就ok了。

c++很好學的 只要入門就很快了。

新手求教關於c語言的問題

17樓:匿名使用者

debts[20] 你首先要理解他是在棧裡面申請了20個浮點型別長度的空間,然後指定空間裡面的數值代表的是浮點數,也就是說從起始開始32位*20的空間都是他所佔的記憶體。

然後看你的問題。

1、二十個元素可以一樣也可以不一樣,它只是表示一段空間,你可以強制轉換成其他型別,不過目前你還不需要理解這些東西。就像我說的debts[5]相當於從陣列開頭的那個地址開始數到底6個32位的地方(0-5)然後往那個地址裡面寫入的二進位制碼。

也就是付給你所申請的二十個元素中的第6個元素。

2、就合開頭的說法一樣,其實debts[20]算錯也不算錯,從陣列意義上來說他超出了申請範圍,所以是錯的,但是從計算機而言,它相當於代表了從陣列開始按浮點32位計算第21個記憶體空間中的數值,同理33也是,所以他們都是對的,你可以手動給他們寫數值。

3、相當於隊第五個元素做覆蓋動作,和4完全沒有關係。相當於你一幢20層樓的房子,5樓住了一戶人家,關你四樓什麼事情。

從你的問題看,應該確實是剛開始學c的人,建議不要考慮問題二里面提到的問題,因為考試裡面絕對不會考慮到這些的,你如果寫了肯定就算你錯。而且容易讓你搞混。

18樓:萬條拙手

1、每個元素是獨立的,其地址依序排列。每個元素的取值可以相同。該值賦給了陣列的第6個元素。

2、宣告debts[20]意味著這個陣列只有20個元素,[20]是第21個元素,[33]是第34個元素,訪問不存在的元素當然會報錯。

3、不是。是向debts[4]這個變數所在的地址寫入資料,也即給debts[4]賦值。

19樓:木瓊玥

不對的float a[20]相當於是定義了float a[0],a[1],a[2],.a[19]就完了 沒有a[20] 也就更沒有a[33]了 每一個陣列下標都是從0開始 到n-1結束。

那麼debts[4]就是第五個元素懂了嗎。

有關c語言學習的困惑,有關C語言學習的困惑

1.一個多月就開始看資料結構有些早了 2.我覺得現在你應該開始熟悉c的函式庫了 一個庫一個庫的過 不要覺得沒什麼用 到時候現查就行。你把所有函式功能記住了 在見多了呼叫形式 基本上你就知道c是怎麼程式設計的了 3.我高中學的c語言 我這個年齡算的早了 那時候電腦遠沒有普及 大學的時候覺得老師講的太沒...

C語言問題請教,C語言的幾個問題,請高手指教

i sum i這裡麵點問題。應該是i sum i 吧。上面那個迴圈前sum的值是0,經過一次迴圈sum i,此時i的值是1,sum的值變成1 i 變成2了後,退出迴圈,所以i的值就是2 了,輸出i 是2是因為這個必須等到printf 函式之後才能變成3 下面這個就不一樣了,迴圈的是i 與sum i ...

C語言中的問題,幾個C語言中的問題???

將憶梅僑寶 getchar和putchar是c語言中的函式 getchar從鍵盤讀入字元 putchar在螢幕上顯示字元 吳幼珊佘溶 getchar和putchar是c語言中的函式,叫作標準字元輸入輸出函式,這裡的標準表示輸入是從標準裝置輸入的,即鍵盤,輸出是從標準裝置輸出的,即顯示器。這兩個函式包...