1樓:
1.首先先給你算下優先順序的問題
第一個等於 ++a||(++b&&++c)第二個等於 (++a&&++b)||++c第三個等於 ++a&&(++b&&++c)第四個等於 (++a&&++b)||++c第五個等於 ++a||(++b&&++c)第六個等於 ++a&&(++b&&++c)都是自左向右結合運算,這個知道吧。
2.然後是邏輯運算本身問題
&&運算,如果左邊 的為0,那麼整個值為0,就不需要再換算右邊了。但如果是1,那麼依然要看右邊是否為0.為0則整個為0,否則為1.(抓到0就是0)
||運算 如果左邊為1,那麼整個值為1.就不需要再換算左邊了。但如果是0,那麼依然要看右邊是否為1。為1整個為1,否則為0.(抓到1就是1)
3.現在再用這個思路來算,全部明朗了吧。
2樓:匿名使用者
編譯器原因,編譯原理。
因為++a先滿足了,所以或條件一定滿足,後邊就不去算了,我是這麼理解的。
話說這書好眼熟,高等教育出版社的?
3樓:燕返
樓主是都看不懂還是怎麼的?
問題可不可以清楚一點?這樣也好解答一些嘛。
c語言,答案看不懂,我怎麼解出來的答案是a
4樓:匿名使用者
第一次迴圈後:
a=-1,b=1
第二次迴圈後:
a=0,b=2
此時注意,在進行第三次迴圈判斷時,由於a++的作用,參與迴圈條件判斷的量是a現在的值,即0,取值之後,a值增1變成1。由於取a值0參與條件判斷致使a++!=0不再成立,所以在短路求值規則的作用下,後面的++b不再執行,而是直接使條件判斷表示式返回0從而結束while迴圈,因此:
最終情況是:
a=1,b=2
故選 d
5樓:匿名使用者
while語句中,條件為假時,跳出迴圈。條件為真時,一直執行迴圈體語句。
邏輯與(&&)運算子,當且僅當左側運算子物件為真時才對右側運算物件求值。
遞增運算子(++)
前置版本,首先將物件加1,然後將改變後的物件作為求值結果。
後置版本,仍會將物件加1.(但求值結果是運算物件改變之前那個值的副本)
int i=0,j;
j=++i; //j=1,i=1 前置版本得到遞增後的值
j=i++; //j=1,i=2 後置版本得到遞增之前的值
在此題中,條件表示式(a++&&++b)判斷了三次後,跳出迴圈。
假設j=a++,k=++b
第一次判斷(a=-2,b=0):j=-2,a=-1,邏輯與左側為真;判斷右側,k=1,b=1。條件為真
第二次判斷(a=-1,b=1):j=-1,a=0,&&左側為真,判斷右側,k=2,b=2。條件為真
第三次判斷(a=0,b=2):j=0,a=1,&&左側為假,不用判斷右側,直接條件為假,跳出迴圈。
故而,最後輸出時,a=1,b=2。選d
6樓:喵不語
當a=0,b=2時,再執行while迴圈,這時退出迴圈但是已經執行a++了,,a當然由0變為1啊!
c語言看不懂怎麼辦啊
7樓:匿名使用者
我的專業軟體工程,大學第1學期學的就是這個,下面說說個人的一些體會:
1,開始的時候先是學好基礎,如int ,char各代表什麼,要記憶的東西要記牢並且要好好理解;
2,通過1段時間的學習要對c語言的基本特點有個大概的認識,找些參考書籍看看簡短的語句表示什麼意思,和一些改錯題,要十分注意,有可能這些就是你要犯的錯誤哦。
3,當然是多多的練習編寫程式了,最起碼要能快速的打完程式,因為考試可是有時間限制的。這時候就要注意了,開始編寫程式的程式的時候可能不知道自己編的是什麼東東,這要多聽老師的講解。最主要的是老師編寫程式的思想和邏輯,這時候你就要把自己所學的迴圈,陣列,指標,函式的聲名呼叫等等運用到你的程式中去了,而且要形成1種c語言的思維。
強烈介意多看點思維邏輯方面的閒書(總不能都看c語言吧,那真是太痛苦了),培養自己的思維。
4,程式要從簡單的寫起,不要一下子渴望能寫出什麼來,主要還是你要在編寫程式時候要培養思維方式的,等你能寫出老師規定的程式和一般程式都沒什麼問題的時候,要規範你的程式了,形成自己獨有的風格啊,讓人1看這就是你的程式
5,多多注意你程式編寫執行時候出現的錯誤,要對每個錯誤要有深刻的理解,還有注意細節,不要出現丟個分號什麼的。
6,還有就是不要灰心和輕易說自己不會,可以明確的告訴你,剛學c語言是覺的困難正常,全班1班人不過正常,只要你堅持就行了,我第1次考試才48,但之後就都是80多了,所以開始沒學好沒什麼的,想想我考了40,你的心理總有些安慰吧。
總之,想學好c語言就是理解基礎,培養思維和多多編寫程式了
8樓:匿名使用者
學習c語言始終要記住“曙光在前頭”和“千金難買回頭看”,“千金難買回頭看”是學習知識的重要方法,就是說,學習後面的知識,不要忘了回頭弄清遺留下的問題和加深理解前面的知識,這是我們學生最不易做到的,然而卻又是最重要的。學習c語言就是要經過幾個反覆,才能前後貫穿,積累應該掌握的c知識。
9樓:矮漢恨天高
看不懂就算了,不要強求自己,該背誦的背誦。剩下時間專心去看看vb和易語言,把vb和易語言學習深入一點,再回頭來看c你會有意想不到的收穫。
因為學些程式設計最終結果是要計算機這個機器來驗證結果的,他很客觀,你不要鑽牛角尖或者淺嘗輒止,寫**也是一個道理,寫不完整的**是編譯通不過的。什麼時候你能領悟到程式設計的整體思路,你才算入門,門都沒入你怎麼看得懂。有時候我也經常抱怨,為什麼中國人一開始製造不出計算機,研究不出程式語言,全是英文還不完整名稱都是縮寫。
知道後來真的有了易語言,又發現還是老老實實回去搗鼓老外發明的東西,這種學習方法叫觸類旁通。淵博淵博你得先“博”,後才“淵”,廣泛學習才能觸類旁通,觸類旁通後才能領悟真理深入理解。
c是程序導向的語言,學習下思路可以,實用起來可不好用哦,單憑c想做一個軟體直觀顯示給別人看,需要編譯哦,還需要引用系統api和com+元件。這些在程式設計界都是比較深層次的東西。
10樓:
先從基礎的看起,看例子,做習題。
自學c語言,看不懂,怎麼辦啊
c語言程式設計看不懂,怎麼辦啊
11樓:樑良鹹鳥
我的專業軟體工程,大學第1學期學的就是這個,下面說說個人的一些體會:
1,開始的時候先是學好基礎,如int,char各代表什麼,要記憶的東西要記牢並且要好好理解;
2,通過1段時間的學習要對c語言的基本特點有個大概的認識,找些參考書籍看看簡短的語句表示什麼意思,和一些改錯題,要十分注意,有可能這些就是你要犯的錯誤哦。
3,當然是多多的練習編寫程式了,最起碼要能快速的打完程式,因為考試可是有時間限制的。這時候就要注意了,開始編寫程式的程式的時候可能不知道自己編的是什麼東東,這要多聽老師的講解。最主要的是老師編寫程式的思想和邏輯,這時候你就要把自己所學的迴圈,陣列,指標,函式的聲名呼叫等等運用到你的程式中去了,而且要形成1種c語言的思維。
強烈介意多看點思維邏輯方面的閒書(總不能都看c語言吧,那真是太痛苦了),培養自己的思維。
4,程式要從簡單的寫起,不要一下子渴望能寫出什麼來,主要還是你要在編寫程式時候要培養思維方式的,等你能寫出老師規定的程式和一般程式都沒什麼問題的時候,要規範你的程式了,形成自己獨有的風格啊,讓人1看這就是你的程式
5,多多注意你程式編寫執行時候出現的錯誤,要對每個錯誤要有深刻的理解,還有注意細節,不要出現丟個分號什麼的。
6,還有就是不要灰心和輕易說自己不會,可以明確的告訴你,剛學c語言是覺的困難正常,全班1班人不過正常,只要你堅持就行了,我第1次考試才48,但之後就都是80多了,所以開始沒學好沒什麼的,想想我考了40,你的心理總有些安慰吧。
總之,想學好c語言就是理解基礎,培養思維和多多編寫程式了
12樓:匿名使用者
不懂就耐心學習,一點點提高。
1、程語語言其實是一個很初級的工具,但是又必須熟練的掌握它,學懂一門程式語言就好像學會了寫字,但是會寫字的人不見得會寫文章,而會寫文章又不見的寫得好。可是如果不會寫字,那就一定寫不出文章來。
2、在學習c語言之前,應該學好計算機基礎。裡面的很多概念對於c程式設計師都是非常重要的。如果在著手學習c之前,或者已經開始學習c,但是碰到了很多問題,應該再把計算機基礎的書拿來好好看看。
如果有足夠的耐心,十足的毅力,應該再學習c語言之前學學彙編,這會對許多比較細膩的概念有清醒的認識。那麼可以在看完一遍c語言的教材後再看,但是一定要看一遍,一定會受益匪淺。不管看什麼書,先認真地看懂,不要貪速度,應該力求深入的理解。
如果能夠比較熟練的解決一本教材上的所有習題,那麼就應該轉入對演算法的學習,儘管此時的c語言還稱不上精通,有許多細節問題還不瞭解,許多問題還沒有碰到,但是這些問題會在後面的工作和學習中得到解決的。
3、不需要多少資料,掌握一本《the c programming language》就足夠了。繼續學習就更加容易。建議不要找捷徑,通過考試除外,真正的水平提高是建立在程式設計實踐積累基礎上的,必須一個一個程式的完成才能提高。
13樓:匿名使用者
c無非就是你與計算機之間溝通的橋樑,也就是把你的想法告訴給計算機,然後讓它執行。最基本的要做到它能懂你說的,而且你說的必須是它認為對的才行。函式是很抽象,不過能解決一些實際問題,看多了就懂了~其實計算機處理事件是比較笨的,所以我們的遷就它,按它能理解的方式,告訴它該做什麼。
good luck~
14樓:匿名使用者
多做例題,對比分析。
多上機實踐,理解掌握計算機的脾氣。
不死扣細節,掌握巨集觀後再回頭看,不過如此。
勤能補拙是良訓,一分辛苦在分才。
堅定自信,去實踐吧。
15樓:沙大普
浮躁 你看了多久??自學看一兩個月看不懂再說吧 估計你才看了幾天 學習程式設計很枯燥的
16樓:神一般的聖人
看不懂c語言,有以下幾種可能:
沒學過c語言。
沒認真學習c語言,比如一些概念,很模糊。
有一些庫函式不知道。
看的是windows程式,一些windows機制你不懂。
解決方案
認真學習c語言,學明白指標。
重學一遍c語言。
看關於預處理以及庫函式的書籍或者教程。
瞭解windows機制,學windowsapi。
主觀?有你我他麼?這個認證我不要了= =
C語言,答案看不懂,我怎麼解出來的答案是A
第一次迴圈後 a 1,b 1 第二次迴圈後 a 0,b 2 此時注意,在進行第三次迴圈判斷時,由於a 的作用,參與迴圈條件判斷的量是a現在的值,即0,取值之後,a值增1變成1。由於取a值0參與條件判斷致使a 0不再成立,所以在短路求值規則的作用下,後面的 b不再執行,而是直接使條件判斷表示式返回0從...
怎麼學習C語言啊。我怎麼看就是看不懂函式。。是什麼原因啊
建議你去買一本譚浩強的c語言程式設計來看看,反覆看幾遍,第一遍可不比去深究他,以後再循序漸進,函式從最簡單的字串處理函式開始,函式嘛,他有引數,返回值,其中你應該了解的是他們的型別是什麼,把最基本的變數型別以及某些演變的型別 實際上就是基本型別,只是表達形式變了而已,沒那麼恐怖 對了。英語相當重要。...
c語言 試題 求答案,C語言 試題 求答案
呵呵,問題比較簡單,屬於入門級的。1 輸入3個int型的整數,求其最大數。main int max int x,int y 2 輸入一批整數,統計出其中的整數和負數的個數,輸入0則結束。main printf d,d n i.j 2 閱讀如下程式,寫出程式執行結果 每題各5分,共20分 1 輸出 a...