瘋狂c語言講義
Ⅰ c語言:瘋狂英語
下面的都是直譯!!
Sample Input -- 采樣輸入
rage ---繼續下去
is --是
economic -- 合算的
merry --歡快
END --結束
Sample Output -- 示例輸出
is --是
rage --繼續下去
merry --歡快
economic --合算的
Ⅱ c語言基礎教程(c99版)
C語言基礎教程別看了,學習C語言不能脫離具體的系統,不能不了解計算機體系結構和操作系統原理、編譯原理,推薦你看這本開源的書:
《linux C編程一站式學習》
如果是在Windows上學習,可以安裝cygwin來模擬linux環境,下載地址:
下面貼一下這本書的介紹,磨刀不誤砍柴工,看過之後你就會愛上這本書了:
這本書有什麼特點?面向什麼樣的讀者?
這本書最初是為北京亞嵌教育研究中心的嵌入式Linux系統工程師就業班課程量身定做的教材之一。該課程是為期四個月的全日制職業培訓,要求學員畢業時具備非常Solid的C編程能力,能熟練地使用Linux系統,同時對計算機體系結構與指令集、操作系統原理和設備驅動程序都有較深入的了解。然而學員入學時的水平是非常初級而且參差不齊的:學歷有專科、本科也有研究生,專業有和計算機相關的也有很不相關的(例如會計專業),以前從事的職業有和技術相關的也有完全不相關的(例如HR),年齡從二十齣頭到三十五六歲的都有。這么多背景完全不同、基礎完全不同、思維習慣和理解能力完全不同的人來聽同一堂課,大家都迫切希望學會嵌入式開發技術,投身IT行業,這就是職業教育的特點,也是我編這本書時需要考慮的主要問題。
學習編程絕不是一件簡單的事,尤其是對於零基礎的初學者來說。大學的計算機專業有四年時間從零基礎開始培養一個人,微積分、線代、隨機、離散、組合、自動機、編譯原理、操作系統、計算機組成原理等等一堆基礎課,再加上C/C++、java、資料庫、網路、軟體工程、計算機圖形學等等一堆專業課,最後培養出一個能找到工作的學生。很遺憾這最後一條很多學校沒有做好,來亞嵌培訓的很多學生就是四年這么學過來的,但據我們考查他們的基礎幾乎為零,我不知道為什麼。與之形成鮮明對比的是,只給我們四個月的時間,同樣要求從零基礎開始,最後培養出一個能找到工作的學生,而且還要保證他找到工作,這就是職業教育的特點。
為什麼我說「只給我們四個月的時間」?我們倒是想教四年呢,但學時的長短我們做不了主,是由市場規律決定的。四年的任務要求四個月做好,要怎麼完成這樣一個幾乎不可能的任務?有些職業教育給出的答案是「實用主義」,打出了「有用就學,沒有用就不學」的口號,大肆貶低說大學里教的基礎課都是過時的、無用的,只有他們教的技術才是實用的,這種炒作很不好,我認為大學里教的每一門課都是非常有用的,基礎知識在任何時候都不會過時,倒是那些時髦的「實用技術」有可能很快就過時了。
四年的任務怎麼才能用四個月做好?我們給出的答案是「優化」。現在大學里安排的課程體系最大的缺點就是根本不考慮優化。每個過來人都會有這樣的感覺:大一大二學了好多數學課,卻不知道都是干什麼用的,為什麼要學。連它有什麼用都不知道怎麼能有興趣學好呢?然後到大三大四學專業課時,用到以前的知識了,才發現以前學的數學是多麼有用,然而早就忘得一干二凈了,考完試都還給老師了,回頭重新學吧,這時候才發現很多東西以前根本沒學明白,現在才真的學明白了,那麼前兩年的時間豈不是都浪費了?大學里的課程體系還有一個缺點就是不靈活,每門課必須佔一個學期,必須由一個老師教,不同課程的老師之間沒有任何溝通和銜接,其實這些課程之間是相互依賴的,把它們強行拆開是不符合人的認知規律的。比如我剛上大學的時候,大一上半學期就被逼著學C語言,其實C語言是一門很難的編程語言,不懂編譯原理、操作系統和計算機體系結構根本不可能學明白,那半個學期自然就浪費掉了。當時幾乎所有學校的計算機相關專業都是這樣,大一上來就學C語言,有的學校更瘋狂,上來就學C++,導致大多數學生都以為自己會C語言,但其實都是半吊子水平,到真正寫代碼的時候經常為一個Bug搞得焦頭爛額,卻沒有機會再系統地學一遍C語言,因為在學校看來,C語言課早在大一就給你「上完了」,就像一頓飯已經吃完了,不管你吃飽沒吃飽,不會再讓你重吃一遍了。顯而易見,如果要認真地對這些課程做優化,的確是有很多水份可以擠的。
本書有以下特點:
*
不是孤立地講C語言,而是和編譯原理、操作系統、計算機體系結構結合起來講。或者說,本書的內容只是以C語言為載體,真正講的是計算機的原理和程序的原理。
*
強調基本概念和基本原理,在編排順序上非常重視概念之間的依賴關系,每次引入一個新的概念,只依賴於前面章節已經講過的概念,而絕不會依賴後面章節要講的概念。有些地方為了敘述得完整,也會引用後面要講的內容,比如說「有關XX我們到XX章再仔細講解」,凡是這種引用都不是必要的依賴,可以當它不存在,只管繼續往下看就行了。
*
盡量做到每個知識點直到要用的時候才引入。過早引入一個知識點,講完了又不用它,讀者很快就會遺忘,這是不符合認知規律的。
這是一本從零基礎開始學習編程的書,不要求讀者有任何編程經驗,但讀者至少需要具備以下素質:
*
熟悉Linux系統的基本操作。如果不具備這一點,請先參考其它教材學習Linux系統的基本操作,熟練之後再學習本書,《鳥哥的Linux私房菜》據說是 Linux系統管理和應用方面比較好的一本書。但學習本書並不需要會很多系統管理技術,只要會用基本命令,會自己安裝系統和軟體包就足夠了。
*
具有高中畢業的數學水平。本書會用到高中的數學知識,事實上,如果不具有高中畢業的數學水平,也不必考慮做程序員了。但並不是說只要具有高中畢業的數學水平就足夠做程序員了,只能說看這本書應該沒有問題,數學是程序員最重要的修養,計算機科學其實就是數學的一個分支,如果你的數學功底很差,日後還需惡補一下。
*
具有高中畢業的英文水平。理由同上。
*
對計算機的原理和本質深感興趣,不是為就業而學習,不是為拿高薪而學習,而是真的感興趣,想把一切來龍去脈搞得清清楚楚而學習。
*
勤於思考。本書盡最大努力理清概念之間的依賴關系,力求一站式學習,讀者不需要為了找一個概念的定義去翻其它書,也不需要為了搞清楚一個概念在本書中前後一通亂翻,只需從前到後按順序學習即可。但一站式學習並不等於傻瓜式學習,有些章節有一定的難度,需要積極思考才能領會。本書可以替你節省時間,但不能替你思考,不要指望像看小說一樣走馬觀花看一遍就能學會。
又是一本C語言書。好吧,為什麼我要學這本書而不是譚浩強或者K&R? 請點評
譚浩強的書我就不說什麼了。居然教學生include一個.c文件。
K&R 是公認的世界上最經典的C語言教程,這點毫無疑問。在C標准出台之前,K&R第一版就是事實上的C標准。C89標准出台之後,K&R跟著標准推出了第二版,可惜此後就沒有更新過了,所以不能反映C89之後C語言的發展以及最新的C99標准,本書在這方面做了很多補充。上面我說過了,這本書與其說是講C語言,不如說是以C語言為載體講計算機和操作系統的原理,而K&R就是為了講C語言而講C語言,側重點不同,內容編排也很不相同。 K&R寫得非常好,代碼和語言都非常簡潔,但很可惜,只有會C語言的人才懂得欣賞它,K&R是非常不適合入門學習的,尤其不適合零基礎的學生入門學習。
這本書「是什麼」和「不是什麼」 請點評
本書包括三大部分:
*
C語言入門。介紹基本的C語法,幫助沒有任何編程經驗的讀者理解什麼是程序,怎麼寫程序,培養程序員的思維習慣,找到編程的感覺。前半部分改編自[ThinkCpp]。
*
C語言本質。結合計算機和操作系統的原理講解C程序是怎麼編譯、鏈接、運行的,同時全面介紹C的語法。位運算的章節改編自亞嵌教育林小竹老師的講義,鏈表和二叉樹的章節改編自亞嵌教育朱老師的講義。匯編語言的章節改編自[GroudUp],在該書的最後一章提到,學習編程有兩種Approach,一種是Bottom Up,一種是Top Down,各有優缺點,需要兩者結合起來。所以我編這本書的思路是,第一部分Top Down,第二部分Bottom Up,第三部分可以算填了中間的空隙,三部分全都圍繞C語言展開。
*
Linux系統編程。介紹各種Linux系統函數和內核的工作原理。Socket編程的章節改編自亞嵌教育衛劍釩老師的講義。
這本書定位在入門級,雖然內容很多,但不是一本網路全書,除了C語言基本要講透之外其它內容都不深入,書中列出了很多參考資料,是讀者進一步學習的起點。 K&R的第一章是一個Whirlwind Tour,把全書的內容簡單過了一遍,然後再逐個深入進去講解。本書也可以看作是計算機專業課程體系的一個Whirlwind Tour,學習完本書之後有了一個全局觀,再去學習那些參考資料就應該很容易上手了。
為什麼要在Linux平台上學C語言?用Windows學C語言不好嗎? 請點評
用 Windows還真的是學不好C語言。C語言是一種面向底層的編程語言,要寫好C程序,必須對操作系統的工作原理非常清楚,因為操作系統也是用C寫的,我們用C寫應用程序直接使用操作系統提供的介面。既然你選擇了看這本書,你一定了解:Linux是一種開源的操作系統,你有任何疑問都可以從源代碼和文檔中找到答案,即使你看不懂源代碼,也找不到文檔,也很容易找個高手教你,各種郵件列表、新聞組和論壇上從來都不缺樂於助人的高手;而Windows是一種封閉的操作系統,除了微軟的員工別人都看不到它的源代碼,只能通過文檔去猜測它的工作原理,更糟糕的是,微軟向來喜歡藏著揶著,好用的功能留著自己用,而不會寫到文檔里公開。本書的第一部分在Linux或Windows平台上學習都可以,但第二部分和第三部分介紹了很多Linux操作系統的原理以幫助讀者更深入地理解C語言,只能在Linux平台上學習。
Windows平台上的開發工具往往和各種集成開發環境(IDE,Integrated Development Environment)綁在一起,例如Visual Studio、Eclipse等。使用IDE確實很便捷,但IDE對於初學者絕對不是好東西。微軟喜歡宣揚傻瓜式編程的理念,告訴你用滑鼠拖幾個控制項,然後點一個按鈕就可以編譯出程序來,但是真正有用的程序有哪個是這么拖出來的?很多從Windows平台入門學編程的人,編了好幾年程序,還是只知道編完程序點一個按鈕就可以跑了,把幾個源文件拖到一個項目里就可以編譯到一起了,如果有更復雜的需求他們就傻眼了,因為他們腦子里只有按鈕、菜單的概念,根本沒有編譯器、鏈接器、Makefile的概念,甚至連命令行都沒用過,然而這些都是初學編程就應該建立起來的基本概念。另一方面,編譯器、鏈接器和C語言的語法有密切的關系,不了解編譯器、鏈接器的工作原理,也不可能真正掌握C的語法。所以,IDE並沒有幫助你學習,而是阻礙了你學習,本來要學好C編程只要把語法和編譯命令學會就行了,現在有了IDE,除了學會語法和編譯命令,你還得弄清楚編譯命令和IDE是怎麼集成的,這才算學明白了,本來就很復雜的學習任務被IDE搞得更加復雜了。Linux用戶的使用習慣從來都是以敲命令為主,以滑鼠操作為輔,從學編程的第一天起就要敲命令編譯程序,等到你把這些基本概念都搞清楚了,你覺得哪個IDE好用你再去用,不過到那時候你可能會更喜歡vi或emacs而不是IDE了。
Ⅲ 電子商務專業最重要的一門課程是什麼我在大一時學習了C語言,想學習Java,可以學從哪些基礎的書學起
最基礎的就是vb,其次是C語言,如果C語言學好了,學java相對來說要輕松一點。在大學學的java一般都是最基礎的。所以要多多練習。把java學好了出來在一些大公司做編程比較不錯。java是這些語言最難的,運行時一個標點出現問題都不能通過。java最重要的就是調用程序。
如果是要做前站的,一般是網站建設和網路營銷比較重要,如果是做後台,那就是C語言和JAVA,後台更重要的是編程和調用程序。
Ⅳ 用安卓手機怎麼練習c語言編程
我想我是有資格來回答你的問題的,我算是徹底的從編程白痴一步步學習過來的。 之前寫了一篇博客 Android學習之路 被瘋狂轉發,帶起了一陣學習Android的大風,我不曉得具體影響了多少人,但是這篇博客已經成為Android新手學習必備的資料。很多人問我是怎麼一路過來的,姑且借這個機會說說我的故事吧。 =============================== 內容有點長,大家姑且當做勵志小說來看吧,對這些經歷不感興趣的可以直接看最後「如何自學Android」部分 =============================== 大學 大學上的是全國二流本科,專業主要就是數學專業。大學的總結就是:逃課、掛科、籃球、泡妞、Dota。 目前為止可以說我的大學是我這輩子過的最爽的時期,大一開始就逃課,好點的理由是我對大學那些課程完全沒興趣,其實本質上是因為高考太壓抑了,大學之後沒人管了,開始無止境的放縱自己。毫不誇張的說大學四年上的課應該沒有逃的課多。逃課最直接的影響就是掛科,從大一掛到大三,專業課數學分析特么每年都掛,後來聽說補考考不過要重修,還得交錢,這特么讓家裡人知道還了得,於是發憤圖強,最終補考每門都以優秀的成績過了。 相信英語四級應該是大學必考吧,英語四級這輩子我都忘不了,我考了三次才過,每次考試說是裸考都褒獎了,大學英語全是吃高中的底子,第一次沒過,少了十幾分,第二次他媽睡覺睡過了,就沒有去考,現在想想當時的自己真是腦殘,終於在第三次勉強過了。現在想想幸虧當時過了,之後畢業找工作時英語四級是最低要求。做編程這行,英語真的挺重要的,大學的時候一定得想辦法把四級給過了。 現在想想大學和編程唯一相關的課程就是C語言了,但是對於我們專業是屬於全校公開課,最終這門課雖然考過了,但是連i++ 和++i我都弄不明白,可想而知你們應該能猜到我是怎麼過的。 由於高中就開始打籃球,大學時毫無疑問就入了學院籃球隊,而且擔任隊長,所以大一、大二過來基本就是一大半是在籃球場度過的,也是因為籃球征服了我現在的老婆。大二下學期周圍的人都在玩Dota,於是也開始了游戲之路,籃球也基本放棄了,那時候玩的瘋狂,記得最長的一次和同學在網吧連續包夜兩星期,不過白天是回來睡覺的,不然估計早猝死在網吧了。 轉眼間大四了,這一年終於在我老婆的監督下不再掛科了,而且在畢業前的最後一次評比竟然拿到了三等獎學金,真是受寵若驚啊,後來錢也被狐朋狗友們拿去腐敗了。周圍的同學都在准備考研,我卻唯獨對考研沒興趣,自始至終都沒有為考研花過一分錢,買過一本書。後來證明我的決定是正確的,周圍的小夥伴放棄的放棄,考不上的考不上,考上的後面也沒見混的有多好,當然如果能考上好的學校還是很有幫助的。 畢業 又一轉眼畢業了,去參加了學校幾個招聘會也是醉了,全是沒聽過的小企業,一去參觀都是各種廠房,根本不需要任何學歷,是個人出點力都可以乾的那種,要麼就是各種電話銷售。。。那時候真的有點急了,大學四年,畢業一份像樣的工作都找不到,回去怎麼面對鄉親父老。 三月份的時候一家IT測試培訓機構來做宣講會(具體什麼名字我就不說了,免得認為是廣告),聽完之後就說培訓之後包就業,培訓地點在大上海的最中心,當然是自費,但是可以工作之後分期付款。那時候哪知道測試是幹嘛的,更不懂IT是幹嘛的,回來就查了下這個機構確實存在,網站也有的,知道不是騙子遍決定來上海試一試。當時下定決定要來上海培訓之後,幾個狐朋狗友毫不猶豫的跟著我一起來了,總共應該是7個人,決定之後沒幾天便毅然而然的背著大包小包來到上海,我們之中一部分是一次性付費,另一部分是分期。後來證明我們當時來上海的決定是正確的。 培訓之路 這里並不是宣傳大家去培訓,只不過被工作所逼,學校不好,大學也沒學啥真本事,稍微有點出路都不會去培訓! 培訓的日子還是蠻輕松的,一周就上四天課,朝九晚五,畢竟大家家庭都不富裕,家裡辛苦攻讀了四年大學,畢業還要再交錢去培訓,打心裡大家都很愧疚。一開始卯足了勁要好好學習,但是堅持了沒多久就有點放鬆了,但是好歹也是都有學習的。 培訓的時候算是接觸了點編程吧,課程有C語言、Oracle、Linux,然後其他都是軟體測試的理論,其實都是非常基礎的東西,算是帶你入行吧,Orace就學習一些基本SQL語句,Linux就學了幾個命令,但是起碼知道原來電腦可以干這么多事,之前還一直以為電腦就是用來看電影、聊天、打游戲的呢。現在回頭看給我一周的時間我可以看完整個培訓課程,但是當時的培訓周期要四個月。 第一份工作--SunNet 7月份拿到畢業證書就直接來了上海,四個月的時間對於我來說實在太漫長了,我等不及了,於是在課程還有最後一個月的時候我提前出來單獨找工作,當時培訓老師說工作後的工資大多是3500左右,我覺得我學的比別人好,所以必須要比別人高,做好了長期准備面試的過程。沒想到面試第一家就直接錄取了(後來才知道原來是公司的測試懷孕在家,急需測試),公司名叫SunNet,中文名山諾,工資4000。收到offer的時候欣喜若狂! 真正接觸編程 之後便在SunNet正式入職,工作就是測試,但是就在SunNet我才真正的接觸了什麼是編程。SunNet是一家小型外企,總部在休斯頓,上海這邊主要是研發部。研發人員總共不到10人,主要業務是以web為主,使用語言是.NET。當然我的職責就是web測試了,工作倒是沒什麼難點,主要測試就我一個,一進來就有好幾個項目等著我測試,還好自己是數學專業,邏輯思維能力還不錯,加加班總算能按時完成任務。 三個月的時間順利轉正,之後的某一天偶然得知公司一開發人員工資比我高2000,其實也就比我早畢業一年而已,才知道原來開發和測試工資差距這么大,於是當時就下定決心要轉行做開發,所以說起我從測試轉行開發的原因是因為錢,一開始說因為興趣堅持下來的都是扯淡。。。 編程之路 由於在公司我的主要任務仍然是測試,任務也挺多,基本每天要9點能到家。下定決心之後只能利用業余時間來學習,由於公司主要業務是.NET,很自然我一開始學習的方向便是.NET,後來才了解到.NET是基於C#的,學習.NET之前必須要先學習C#,於是像公司借了一本C#學習資料,就這樣學習了大概兩周吧,還仔仔細細做了一大堆筆記。之後覺得語法學的差不多了,便又借了本.NET的書開始學習web開發。 但是web開發遠沒有學習一門語言這么簡單,後來才知道web開發涉及到html, css, javascript, ajax, database等,范圍太廣了,於是為了效率,我只能每一項掌握住基礎,於是網上搜索找到 w3school 在線教程 這個好東西,裡面的東西都是基礎的,我把教程整理到手機里,每天上下班的地鐵上,吃飯的時候,回家的時候等等利用一切時間來學習,也是差不多大概2周的時間掌握了html, css, js的一點基礎,接下來准備正式學習.NET的時候,被我們老大知道我正在學習開發,我們老大叫Aaron,是一位典型的程序員,比較胖,人品超好,知道後不建議我學習.NET,說.NET出來都十來年了,已經很成熟了,很多人在學校都有.NET教程,現在學習已經比別人晚了。現在移動開發剛嶄露頭角,也沒多少人會,建議我直接學習移動開發。真是一句點醒了我啊!! 移動開發 聽了老大的建議,於是放棄了.NET,開始准備學習移動開發。那時候是12年初,整個移動互聯網也是剛起步階段,iPhone4還是非常火的時候,毫無疑問我把目標鎖定在了iPhone開發上。 這次有經驗了,知道了iPhone開發首先肯定得有一門編程語言的,了解到是Objective-C,於是又從公司借了一本OC的書(公司書很多,老大每月都會買來好多書,雖然看的人很少),又花了將近一周的時間來了解了基本語法,因為之前學了C#,這次沒完全看完的情況下想直接上手實踐。正打算學習的時候,才知道iOS開發必須得在mac上才可以,也就是說我得自己有台mac電腦,雖然當時公司是有的,但是回家的時候不能繼續學習練習,肯定影響效率的,一台mac對於當時的我簡直是奢侈品,雖然現在也依然是奢侈品,但當時根本不可能買得起。於是只有放棄iPhone開發轉向Android(後來才知道有虛擬機這東西。。。) Android學習之路 幾經波折,終於才確定自己的方向,這期間已經耽誤了不少時間,走了不少彎路了,但是仍然阻擋不住我轉行開發的腳步。公司關於Android的書竟然沒有,於是我自己親自買了一本Android書籍,叫《瘋狂Android講義》,作者是李剛!!不說這本書有多好吧,這本書比較厚,非常厚,所以講的一些基礎比較細,新手按照上面的完全可以看懂,現在不知道這本書內容更新了沒,之前內容對於現在來說有點老。這個時候應該是12年的3月份,說起來也巧,這個月公司剛好接了個移動端項目,iOS有人來做,但是公司上下沒有會Android開發的,其他人都有自己的項目在忙,老大看出我的興趣,就問我想不想試一下,我當然欣然同意了,只此就開始正式的邊做邊學習Android。 那個時候的測試任務仍然很重,於是我只能擠出時間來做這個項目,基本是每晚以及周末都會自動加班來完成這個項目,現在看來那個項目真是太簡單不過了,快的話一周都不要就可以搞定了,但在當時我摸爬滾打了一個多月總算搞定了。 做完這個項目自己有了點信心,但當時自己的主要任務還是測試,自己開發的時間是少之又少,於是下定決心離職找一個專門做Android的工作。說明原因之後老大很理解,也是建議我想做開發的話就放手去找一個專門做開發的職位,這樣進步會比較快。 第一份工作能遇到我的老大Aaron,真是我的福分!
Ⅳ C語言極度瘋狂BT超級問題
應該是指針吧,我也不是很清楚,呵呵
Ⅵ 關於計算機編程c語言,java,自學看哪些書比較淺顯易懂
其中《Head First Java》被亞馬遜評為十大好書之一。在京東計算機類書籍中熱度排名第16位,在Java類書籍中排名第2位。豆瓣評分為8.8分,有百分之54.4%的讀者給出了五星評價。在知乎社區中有來自無數位的大神做推薦。哪本書適合推薦給 Java 初學者? - 書籍推薦
密碼:380p以上都是小編收集了大神的靈葯,喜歡的拿走吧!喜歡小編就輕輕關注一下吧!