1樓:匿名使用者
先放張圖,規律bai很容易看出來吧
du首先,逗號
zhi運算子是
dao取右邊
這裡涉及到引數的求回值順序,即確定答最右側y++輸出是5後,自增1,導致下一步中間y++輸出是6,之後再自增1,最後y的輸出自然就是7。
是不是眼熟,這不就是棧嘛,後進先出,這題不太會考察,出題人估計都沒想到這一層,只是單純想考逗號和自增運算。
2樓:wuli學粑粑
這樣想行不行,最後printf((%d%d),y,y++);
應該先把y++算出來(++二級運算子比分隔運算子高)
y++取10,y為11
3樓:手機使用者
我覺得是這樣的,首先逗號運算子輸出的是最後一個表示式的值,這是毋庸置疑的,逗版號表示式中y的值是11,權(上面的回答已經解釋得很清楚了,我就不做解釋了),至於之後的那個y++的值,問題出在printf函式上,程式只呼叫了一次該函式,在這次呼叫中,既把y放在逗號表示式中輸出第一個結果,又讓y執行y++操作輸出第二個結果,所以兩個輸出都是針對一開始初始化的y進行的,若是呼叫兩次printf函式,y++的結果才是11
4樓:啦啦啦種太陽
printf先算(x++,y)後算y++是10 10
後算(x++,y)先算y++是11 10
所以是printf計算順序的問題?我也不知道是不是,小白弱弱的猜一下
5樓:匿名使用者
int main()
輸出:11,10 (因為你的y的值是x而不是x加1)
6樓:匿名使用者
「(x++,y) 是逗號表達du式zhi,取第一個dao子表示式的值作為整個表
回達式的值,故整個表示式的值為11,然答後x達到12」 非也。「逗號表示式」這種說法我不置可否,逗號運算子在此處起連線作用,相當於「·····然後····」的意思,最終生效的是最後那一串**。第一輸出的是y,第二輸出的也是y。
上述**中,y只有初始化,沒有賦值(除了y++以外,但此處對後輸出的y沒有影響),因此輸出結果必然是相同的。
「y++ 整個表示式的值是10,然後y達到12」 這也太說不過去了吧,y最終達到12了?
問問題的這位大概是沒有自己動手操作的吧?如果是的話,這裡就勸一句:盡信書不如無書,實際操作才是硬道理。
7樓:亮劍和
printf(「%d,%d」,(x++,y),y++)?
寫錯了沒
8樓:
int y=x++; 這個是先把x的值賦值給y,然後x自身在++明白否?
如何學習c語言?
9樓:z不可替代
學習方法是:
1、課前預習,課後複習,認真做課堂、課後的作業,理解理論知識。
2、記住語法規則。
3、加強邏輯思維。
4、多動手,通過練習上機瞭解它的執行過程。
5、實踐—>理論—>再實踐,剛開始學習c語言時,按示例練習,並推動理論的學習,然後再自己多思考,多上機實踐。
c語言是一門通用計算機程式語言,廣泛應用於底層開發。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。
儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。
10樓:雲南新華電腦學校
怎樣才能學好c語言
1、學好c語言,你可以很好地應付任何一種程式設計工具。
2、一定要多上機練習,通過程式瞭解相關知識。幾經反覆方得正果。
3、不要把學習c語言當成一種任務,更不要把它看成很難完成的任務。要充滿自信,只要是一個智力正常的人都能學好c語言。始終保持遊戲的心態,多發現其中的樂趣。
當感到程式設計趣味無窮,那你在電腦方面將前程無量。
4、如果一個程式一時無法弄清楚最後暫時放在一邊,過一段時間你可能會從其他的程式中悟出道理。
5、c語言是一個整體,各個方面是有機聯絡的,要從總體上把握它,不要把它割裂成互不關聯的部件。
6、不要完全相信教材(包括本講義),所有結論最好都上機驗證。
怎樣學好c語言
1. 工欲善其事,必先利其器
準備工作:一個開發環境,如turbo c 2.0、visual c++等開發工具;一本好教材,如譚浩強主編的《c語言程式設計》(第二版)。
我當時看的是他的第一版,就為它的簡潔、完美所吸引,簡直愛不釋手,用了兩個星期一口氣看完。
2. 祕密**
初學者學習計算機語言要會「讀程式」,要對小型的應用型、遊戲型程式感興趣,並模仿去加深對c語言程式設計的理解和操作,只有不斷地寫程式、除錯程式才能得到編寫程式的經驗和加深對程式的理解,這也是學習編寫優秀高階程式的祕密**。
3. 發揚探索精神
學習c語言程式設計有點像做數學難題,只要我們善於思考,善於探索,發揚探索精神去尋找好的設計思想和方法,才能把c語言的精髓真正地掌握。
備戰c語言考試要訣
1. 瞭解大綱,臨陣不亂
各類筆試中,大多數考題是與大綱要求的基本內容一致的,難度不高,但內容十分廣泛,應牢固掌握c語言考試大綱要求的基礎部分。只有熟悉題型,理解語法、句法,做到心中有數,才能臨陣不亂。
2. 善於歸納,強化記憶
對於需要記憶的計算機基礎知識和基本概念,如果考試時因此失分就十分可惜。如:c語言中有幾種不同的資料型別?
運算的優先順序別是怎樣的?因此我們需要善於歸納這些計算機基礎知識,並在理解的基礎上強化記憶。
3. 重視實踐,善於除錯
11樓:用士恩屈凰
程式設計只有一個捷徑:程式設計程式設計再程式設計!!至於你說的厭學情緒,你可以試試這樣,用一個星期左右的時間把書全過一遍,看不懂的地方做上標記,跳過去。。。
然後再去看第二遍,做課後習題,把第一遍不會的再看看,實在不會的,再做上標記,跳過去。。。三個星期左右的時間就差不多了,然後就開始第三遍,重點看那些不會做的題目。。。實在還是不會的,就不要浪費時間了,去網上找高手幫你看看,說下演算法,思路,學習下,想想自己為什麼做不出來。。。
其實c語言是入門語言,有它的道理的,它最重要的部分就是一個」指標「,c學好了沒,很大程度上就是看你的指標掌握的怎麼樣。。。學習要有重點,不要什麼都抓!!
12樓:賈秀榮矯鶯
1.如果是初學者的話,在學習好課本之後建議多敲程式(可以照書上的或者別人成型的比較簡單的程式照扒下來),多改程式,這樣做的目的是更多更好的驗證書中所講的語句和函式,而且在修改程式得到你預期的結果的時候,你會感覺到很強的成就感,這樣對你樹立自信心有很大的幫助,另外,也會對tc介面的熟練操作(編譯、連結、執行、dos下的複製、剪下等等操作)和鍵盤的熟練操作有很大幫助;
2.一般來講學c最大的難點多在指標(一維、二維、三維指標以及指向指標的指標等等),除了掌握好書本知識之外應儘量多讀程式,分析程式設計者的思路,以開闊自己的想象空間(程式設計的技巧變化多端啊,呵呵);
3.可以找一些鍛鍊自己空間思維能力的方法;
4.當學習到一定程度的時候,當書本上及試卷上的「題」應付自如的時候,如果想學好c的話,就別在鑽那些所謂的「題」了,那些東西是用來鍛鍊你的技巧的,再想提高水平的話就多找些實際應用的例子,比如自動提款機(存入款額累加,取款扣除,提款次數累計,每日最多提款次數限制報警,利息計算,日總帳等等),再比如倉庫資料庫的建立、管理及日常呼叫等等。此時建議多讀程式設計師程式集,放心這裡的程式並不難,但是很專業。
13樓:晁諾譙昌
向過程的,c++是物件導向的。學c的話 不像學 vb 這些介面化程式設計一樣,因為我本人不是專業計算機系的,程式設計用的是易語言和vb差不多的介面化程式設計,自己學習c++。 因為易語言用4年了,而程式設計理念相同,所以c++學起來 很輕鬆 就看書 也不操作什麼的。
至於想邊學習邊實踐的話,推薦自己編寫對數字數學簡單的問題處理程式,簡單實用。
推薦使用軟體:c-free 5 小巧功能全書籍看:譚浩強 著作的
另,本人建議你既然學c 就學c++不如 因為c++比c強大了很多,支援物件導向的程式設計了。至於說學了c學習c++容易,我不是很贊同,有頭腦沒什麼差別,而且c和c++畢竟有些不同,c++優化 人性化 更強。 你學了c 等 實際 運用後 肯定 還會在學c++ 所以 直接學c++建議
c語言程式設計怎樣入門
14樓:匿名使用者
一、工欲善其事,必先利其器
這裡介紹幾個學習c語言必備的裝置和書籍:
a)開發環境
例如turbo c 2.0,這個曾經佔據了dos時代開發程式的大半個江山。但是現在windows時代,用turbo c有感覺不方面,編輯程式起來很吃力,並且拖放,更沒有函式變數自動感應功能,查詢參考資料也不方便。
建議使用visual c++,這個平臺雖然體積大,但是一旦安裝好了,用起來很方便。
b)一本學習教程
現在c語言教材多如牛毛,推薦大家使用《c語言程式設計》第二版。此書很適合初學者,並且內容也很精到。
c)利用輔助學習軟體
畢竟現在是windows時代了,學習軟體多如牛毛,這裡向大家推薦一個「整合學習環境(c語言)」,裡邊的知識點總結和例程講解都非常好,有好幾千題的題庫測試環境,包括一個windows下的trubo c,初學者甚至不用裝其它的編譯器,就可以練習程式設計了。還有一個「c語言學習系統」軟體,不過感覺只是一個題庫系統,如果你覺得題做的不夠,不妨也可以試試。
二、葵花寶典
學習計算機語言最好的方法是什麼?答曰:讀程式。
沒錯,讀程式是學習c語言入門最快,也是最好的方法。我們大家都應該有個體驗——在最初學習windows系統操作或microsoft words如果操作的過程中,剛開始總是正兒八經地買來教材,結果讀來讀去卻雲裡霧裡,而當我們將教材丟在一邊,拿起滑鼠反覆地試,幾個小時就搞定。包括學習j#,c#等其他語言,在今天的windows時代,也不再提倡抱著書本逐行啃,而是學習它們的例程。
當然,對於沒有學過任何計算機語言的初學者,多少要先閱讀教程,認真體會所有概念,然後不放過這一章中提到的所有例程,仔細研讀,直到每一行都理解了,再找幾個程式設計題目,最好是和例程類似的或一樣的,自己試圖寫出這段已經讀懂的程式。如果寫不出來,回過頭來再繼續研究例程,想想自己為什麼寫不出來,然後再去寫這段程式,反反覆覆,直到你手到擒來為止。
三、登峰造極
寫程式的最高境界其實就是掌握各種解決問題的手段(資料結構)和解決問題的方法(演算法)。
是不是寫出底層程式就是程式設計高手呢?非也,寫底層程式,無非是掌握了硬體的結構,況且硬體和硬體還不一樣,要給一個晶片寫驅動程式,無非就是掌握這塊晶片的各種暫存器及其組合,然後寫值讀值,僅此而已。這不過是熟悉一些i/o函式罷了。
那麼怎樣才算精通程式設計呢?怎樣才能精通程式設計呢?舉個例子:
你面前有10個人,找出一個叫「張三」的人,你該怎麼辦?第一種方法:直接對這10個人問:
「誰叫張三」。第2種方法:你挨個去問「你是不是張三?
」,直到問到的這個人就是張三。第三種方法:你去問一個人「你認不認識張三,指給我看」。
不要小看這個問題,你說當然會選第一種方法,那麼恭喜你答對了,因為這個方法最快,效率最高,但是在程式設計中找到解決問題的最優方法和你用的手段卻是考驗一個程式設計師程式設計水平的重要標誌,而且是不容易達到的。剛才這個問題類似於資料結構和演算法中的:map資料結構,窮舉查詢和折半查詢。
所以掌握好資料結構和一些常用演算法,是登峰造極的必然之路。
下列程式段的輸出結果是void fun int
選c啦fun y,x 把y的地址傳遞給x,把x的地址傳遞給y,即執行到printf d d x,y 時x 2,y 1 然後 x 3 y 4 給x,y賦值,但是x,y在網下傳時,想,y的值是交換了的 即fun y,x 把y的地址傳遞給x,把x的地址傳遞給y 所以執行到x 3 y 4 時其實主函式中的x...
下面程式的執行結果是,下面程式的輸出結果是什麼?
首先這裡的for迴圈沒有打 號括起 來,所以他只是迴圈緊跟著下面的一句 也就是這句,s 10 s ch i 0 這裡的整形運算加字元還是整形 i 0,s 0,for第一次迴圈 ch 0 1 滿足for迴圈條件,s 10 s ch i 0 所以s 10 0 1 0,s的結果為1,再運算 i 2 所以i...
c語言題下面程式段執行後輸出結果是
c沒有錯 static的變數 系統會全部初始化為0的 j 3,實際上第三列 從來沒賦過值 當然是0 答案是對的,你想一下,在兩個for 迴圈中,a 0 0 0,a 0 1 1,a 0 2 2,a 0 3 a 0 7 都是為0的,下面以此類推,這個的原理很簡單,就是我們已經定義了一個二維陣列a 8 8...