本文目錄一覽:
- 1、電腦的C語言一些基礎知識
- 2、電腦編程C語言入門(自學)
- 3、學習C語言要些什麼基礎?
- 4、C語言入門什麼是編程語言
- 5、c語言的基礎知識入門有哪些?
- 6、C語言入門
電腦的C語言一些基礎知識
我先寫幾個例子:
void main
( int x,y,temp;
printf(“\nplease input two int number:”);
scanf(“%d%d”,x,y);
printf(“\nbefore changed x=3d% y=%3d”,x,y);
temp=x;
x=y;
y=temp;
printf(“\n after changed x=%3d y=%3d”,x,y);
}
第一個問題:就是那個%3d是什麼意思,可不可以省掉?
答:這個代表輸出的內容佔3位空間,省略的話會使表達式失去原本的意義。
第二個問題:就是最後的那個printf好象有好多種表達形式,比如printf(“%f mile=%f km\n”,mile ,km); printf(“%5.2f”,s)等等,到底用哪種形式表達比較簡單易懂一點啊,
答:printf(“%f mile=%f km\n”,mile ,km); 這個的意思是:%f表示是float,也就是要求結果按照字符型輸出,而mile=可以有也可以沒有。結果不會影響但是顯示的內容有一點不同。
如果有的話結果就是“mile=****”,如果沒有的話結果就是“****”。
(****表示最後的內容)
printf(“%5.2f”,s)的意思是輸出的結果為小數點前佔5位,小數點後佔2位,如果小數點後有3位的話則會自動四捨五入。
其實這些都是最後表現出來的形式,主要是您想要最後的結果怎麼樣體現。
自己去網上查啊,這樣印象深
電腦編程C語言入門(自學)
C語言是Combined
Language(組合語言)的中英混合簡稱。是一種計算機程序設計語言。它既具有高級語言的特點,又具有彙編語言的特點。它可以作為工作系統設計語言,編寫系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬件的應用程序。因此,它的應用範圍廣泛,不僅僅是在軟件開發上,而且各類科研都需要用到C語言,具體應用比如單片機以及嵌入式系統開發。
學習C語言要些什麼基礎?
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
由於C語言簡單易學,已經成為學習編程的入門語言之一。在大學一年級,已經安排C語言相關的學習課程。由此可見,C語言的學習並不需要前置課程,可以輕鬆入門。附件是一本適合初學者入門學習的C語言書籍。其中包括:基本數據類型,運算符與表達式,控制流,函數,指針,數據結構,輸入輸出等基本基本知識的介紹。能夠熟練運用上述的C語言規則,就可以完成C語言入門學習的內容。
一般要掌握基本的微機原理的知識、英文閱讀的能力。學習語言注意要多動手,多思考調試,還要能堅持不懈,最重要的還有興趣。
只要同學們掌握一些方法,多讀,多寫,克服心理上畏難情緒,C語言是完全可以學好的並且靈活應用的。
至於看什麼書,推薦幾本:
1.C語言入門經典
《C語言入門經典》例子簡單生活化,而且每個例子分析很細。章節安排合理,章末的例子還特別注重思路的引導,而且分析起來特別有成就感。
這本書是自學過程的一本好書。
2.C primer plus
這本書很適合希望系統學習C語言的讀者,正如他的名字,是一本不錯的入門和進階的書。書中的每一個知識點都有很多生動簡單的示例,並給出了相應的運行結果。總之,在看這本書的過程中,有一種一氣呵成的感覺。
3.C和指針
這本書和《專家編程》《C缺陷和陷阱》可以並稱C語言(進階書)三傑。本書的部分內容更適合有C基礎的人看。如ADT、遞歸、指針和數組的部分,書中所述的思想是國內教材所缺乏的。看完本書,能得到一個正確的C語言觀。
4.C程序設計語言
難以置信的是,這樣一本C語言的入門書籍,從hello world開始講起,卻在短小的篇幅里,手把手教你寫了stdio.h stdlib.h
string.h當中大部分例程,實現了二分查找、快速排序、二叉樹、哈希表這些重要的數據結構和算法。這本書傳遞着一種簡單、優雅、平實和閑適。
5.C專家編程
《C專家編程》展示了最優秀的C程序員所使用的編碼技巧,並專門開闢了一章對C++的基礎知識進行了介紹。書中C的歷史、語言特性、聲明、數組、指針、鏈接、運行時、內存以及如何進一步學習C++等問題進行了細緻的講解和深入的分析。
C語言入門什麼是編程語言
學習編程語言之前,首先要搞清楚“編程語言”這個概念。
很小的時候,父母就教我們開口說話,也教我們如何理解別人講話的意思。經過長時間的熏陶和自我學習,我們竟然在不知不覺中學會了說話,同時也能聽懂其他小朋友說話的意思了,我們開始向父母要零花錢買零食和玩具、被欺負了向父母傾訴……
我們說的是漢語,是“中國語言”,只要把我們的需求告訴父母,父母就會滿足,我們用“中國語言”來控制父母,讓父母做我們喜歡的事情。
“中國語言”有固定的格式,每個漢字代表的意思不同,我們必須正確的表達,父母才能理解我們的意思。例如讓父母給我們10元零花錢,我們會說“媽媽給我10塊錢吧,我要買小汽車”。如果我們說“10元給我汽車小零花錢媽媽”,或者“媽媽給我10億人民幣,我要買F-22”,媽媽就會覺得奇怪,聽不懂我們的意思,或者理解錯誤,責備我們。
我們通過有固定格式和固定詞彙的“語言”來控制他人,讓他人為我們做事情。語言有很多種,包括漢語、英語、法語、韓語等,雖然他們的詞彙和格式都不一樣,但是可以達到同樣的目的,我們可以選擇任意一種語言去控制他人。
同樣,我們也可以通過”語言“來控制計算機,讓計算機為我們做事情,這樣的語言就叫做編程語言(Programming Language)。
編程語言也有固定的格式和詞彙,我們必須經過學習才會使用,才能控制計算機。
編程語言有很多種,常用的有C語言、C++、Java、C#、PHP、JavaScript等,每種語言都有自己擅長的方面,例如:
C語言和C++主要用於PC軟件開發、底層開發、單片機和嵌入式系統;
Java和C#不但可以用來開發軟件,還可以用來開發網站後台程序;
PHP主要用來開發網站後台程序;
JavaScript 主要負責網站的前端工作(現在也有公司使用 Node.js 開發網站後台)。
可以將不同的編程語言比喻成各國語言,為了表達同一個意思,可能使用不同的語句。例如,表達“世界你好”的意思:
漢語:世界你好;
英語:Hello World
法語:Bonjour tout le monde
在編程語言中,同樣的操作也可能使用不同的語句。例如,在屏幕上顯示“XX電子社區”:
C語言:puts(“XX電子社區”);
PHP:echo “XX電子社區”;
Java:System.out.println(“XX電子社區”);
編程語言類似於人類語言,由直觀的詞彙組成,我們很容易就能理解它的.意思,例如在C語言中,我們使用puts這個詞讓計算機在屏幕上顯示出文字;puts 是 output string(輸出字符串)的縮寫。
使用 puts 在屏幕上顯示“XX電子社區”:
puts(“XX電子社區”);我們把要顯示的內容放在(“和”)之間,並且在最後要有;。你必須要這樣寫,這是固定的格式。
總結:編程語言是用來控制計算機的一系列指令(Instruction),它有固定的格式和詞彙(不同編程語言的格式和詞彙不一樣),必須遵守,否則就會出錯,達不到我們的目的。
C語言(C Language)是編程語言的一種,學習C語言,主要是學習它的格式和詞彙。下面是一個C語言的完整例子,它會讓計算機在屏幕上顯示”XX電子社區“。
這個例子主要演示C語言的一些固有格式和詞彙,看不懂的讀者不必深究,也不必問為什麼是這樣,後續我們會逐步給大家講解。
#include
int main(){
puts(“XX電子社區”);
return 0;
}
這些具有特定含義的詞彙、語句,按照特定的格式組織在一起,就構成了源代碼(Source Code),也稱源碼或代碼(Code)。
那麼,C語言肯定規定了源代碼中每個詞彙、語句的含義,也規定了它們該如何組織在一起,這就是語法(Syntax)。它與我們學習英語時所說的“語法”類似,都規定了如何將特定的詞彙和句子組織成能聽懂的語言。
編寫源代碼的過程就叫做編程(Program)。從事編程工作的人叫程序員(Programmer)。程序員也很幽默,喜歡自嘲,經常說自己的工作辛苦,地位低,像農民一樣,所以稱自己是”碼農“,就是寫代碼的農民。也有人自嘲稱是”程序猿“。
c語言的基礎知識入門有哪些?
c語言入門基礎知識點有:c語言的命名;變量及賦值;基本數據類型;格式化輸出語句;強制類型轉換;不可改變的常量;自動類型轉換。C語言是一種通用的、面向過程式的計算機程序設計語言。
C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。儘管C語言提供了許多低級處理的功能,但仍然保持着跨平台的特性,以一個標準規格寫出的C語言程序可在包括類似嵌入式處理器以及超級計算機等作業平台的許多計算機平台上進行編譯。
c語言入門基礎知識:
1、c語言的命名編程時給變量或者函數起的名字就是標識符。C語言的標識符是不可以隨便起名字的,必須遵守一定的規則。C 語言規定,標識符可以是字母(A~Z,a~z)、數字(0~9)、下劃線_組成的字符串,並且第一個字符必須是字母或下劃線。
在使用標識符時還有注意以下幾點:
(1)標識符的長度最好不要超過8位,因為在某些版本的C中規定標識符前8位有效,當兩個標識符前8位相同時,則被認為是同一個標識符。
(2)標識符是嚴格區分大小寫的。例如Imooc和imooc 是兩個不同的標識符。
(3)標識符最好選擇有意義的英文單詞組成做到見名知意,不要使用中文。
(4)標識符不能是C語言的關鍵字。想了解更多C語言關鍵字的知識,請查閱WIKI。
2、變量及賦值變量就是可以變化的量,而每個變量都會有一個名字(標識符)。變量佔據內存中一定的存儲單元。使用變量之前必須先定義變量,要區分變量名和變量值是兩個不同的概念。就好比:住在房間里的客人與房間號是兩個不同的概念。變量定義的一般形式為:數據類型 變量名;多個類型相同的變量:數據類型 變量名, 變量名, 變量名…;變量名和標識符的命名規範完全相同。
注意:在定義中不允許連續賦值,如int a=b=c=5;是不合法的。
變量的賦值分為兩種方式:1.先聲明再賦值2.聲明的同時賦值。
3、基本數據類型C語言中的數據也是有類型的,C語言中,數據類型可分為:基本數據類型,構造數據類型,指針類型,空類型四大類。
4、格式化輸出語句格式化輸出語句,也可以說是佔位輸出,是將各種類型的數據按照格式化後的類型及指定的位置從計算機上顯示。這樣做的好處,是有利於計算機能夠準確的將我們所要類型數據給我們。其格式為:printf(輸出格式符,輸出項);
5、不可改變的常量在程序執行過程中,值不發生改變的量稱為常量。C語言的常量可以分為直接常量和符號常量。直接常量也稱為字面量,是可以直接拿來使用,無需說明的量,比如:整型常量:13、0、-13;實型常量:13.33、-24.4;字符常量:‘a’、‘M’字符串常量:I love php!在C語言中,可以用一個標識符來表示一個常量,稱之為符號常量。符號常量在使用之前必須先定義,其一般形式為:#define 標識符 常量值;符號常量的標示符一般習慣使用大寫字母,變量的標示符一般習慣使用小寫字母,加以區分。
6、自動類型轉換數據類型存在自動轉換的情況,自動轉換髮生在不同數據類型運算時,在編譯的時候自動完成。自動轉換遵循的規則就好比小盒子可以放進大盒子裡面一樣,下圖表示了類型自動轉換的規則。
7、強制類型轉換強制類型轉換是通過定義類型轉換運算來實現的。其一般形式為:(數據類型) (表達式);其作用是把表達式的運算結果強制轉換成類型說明符所表示的類型。
注意:double類型的數據的格式符 %f或%lf。
C語言入門
學習任何知識,循序漸進總是最好的方式。不幸的是,很多人明知這個道理,卻總是想走所謂的捷徑。如果你是一個剛剛開始學習編程的中學生,或者你是一個剛剛進入計算機學院的本科生,又或者你是一個決心在計算機領域有所建樹的初學者,你一定迫切地想知道,學習計算機技術,究竟應該從哪裡下手。
我的建議是:數學、英語、C語言。
數學和英語的重要性已經不需要我來強調,大家也許從幼兒園就開始學習它們了,請時刻把它們放在最重要的位置,無論你是否學習計算機。
為什麼C語言如此重要?我們從學習方法開始說起。書本上描述的東西,倘若不經過我們的親自實踐,是難以被徹底消化吸收的。計算機組成原理講解了浮點數的格式,如果我們能看到並分析內存或寄存器中某個浮點數的表示,那比單純的紙上談兵要強一千倍;數據結構與算法似乎很難,如果你能把書上的例子實現出來,然後把習題做完,只需啃完一本好書,你也可以是算法高手;操作系統原理其實不僅僅是原理,只有做一些內核方面的實驗才能真正有深刻理解;還有許多新潮的技術,比如JavaEE、PHP、Ajax、.NET等等等等,很多高手學習這些技術只需要很短的時間,不必說,他們肯定是C語言的高手。C語言幾乎是一切計算機技術的通用工具,包括計算機的各種基本理論。沒有精通C語言的決心,就不要涉足計算機領域。
為什麼是C語言而不是C++不是Java不是其它?因為C語言最簡單。你需要掌握一個語言工具,但也許並不需要“面向對象”、“模板”、“函數重載”等等一大堆概念。C語言足夠低級,非常非常地貼近計算機的底層結構,不會讓你迷失在概念的汪洋大海。除了“指針”,C語言沒有真正意義上的難點,而“指針”,恰恰是理解計算機底層結構精髓的關鍵所在。
所以,初學者們不必思考應該學什麼,等把C語言精通了,你自己便會知道下一步如何去走。如果你對操作系統內部感興趣,你便可以試着研究一下Unix的內核,除了C語言,你還需要一些彙編語言和保護模式的知識;如果你對算法感興趣,那麼恭喜你,C語言足夠使用了;如果你對Windows編程感興趣,去看看《Windows程序設計》吧,作者清楚的告訴你“只需要C語言的基礎”;如果你對任何其它語言感興趣,儘管去學吧,不過還是建議先學C++,因為你需要一些“面向對象”的知識。
學習C語言不是一朝一夕的事情,但也不需要花費十年時間才能精通。如何以最小的代價學習並精通C語言是本文的主題。請注意,即使是“最小的代價”,也絕不是什麼捷徑,而是以最短的時間取得最多的收穫,同時也意味着你需要經歷艱苦的過程。
一、要讀就讀好書,否則不如不讀
所有初學者面臨的第一個問題便是:如何選擇教材。好的開始是成功的一半,選擇一本優秀的教材是事半功倍的關鍵因素。不幸的是,學校通常會幫你指定一本很差勁的C語言課本;而幸運的是,你還可以再次選擇。
大名鼎鼎的譚浩強教授出了一本《C語言程序設計》,據說發行量有超過400萬,據我所知,很多學校都會推薦這本書作為C語言課本。雖然本人的名字(譚浩宇)跟教授僅僅一字之差,但我是無比堅定地黑他這本書的。這本書不是寫給計算機專業的學生的,而是給那些需要考計算機等級考試的其它專業學生看的。這本書的主要缺點是:例子程序非常不專業,不能教給你程序設計應該掌握的思考方式;程序風格相當地不好,會讓你養成亂寫代碼的惡習;錯誤太多,曾經有人指出過這本書的上百個錯誤,其中不乏關鍵的概念性錯誤。好了,這本書我也不想說太多了,有興趣大家可以百度一下:)
Kernighan和Ritchie的《The C Programming Language》(中譯名《C程序設計語言》)堪稱經典中的經典,不過舊版的很多內容都已過時,和現在的標準C語言相去甚遠,大家一定要看最新的版本,否則不如不看。另外,即使是最經典最權威的書,也沒有辦法面面俱到,所以手邊常備一本《C語言參考手冊》是十分必要的。《C語言參考手冊》就是《C Reference Manual》,是C語言標準的詳細描述,包括絕大多數C標準庫函數的細節,算得上是最好的標準C語言的工具書。順便提一句,最新的《C程序設計語言》是根據C89標準修訂的,而《C語言參考手冊》描述的是C99標準,二者可能會有些出入,建議按照C99標準學習。還有一本《C和指針》,寫得也是相當地不錯,英文名是《Pointers on C》,特別地強調指針的重要性,算是本書的一個特點吧。不過這本書並不十分適合初學者,如果你曾經學過C語言,有那麼一些C語言的基礎但又不是很紮實,那麼你可以嘗試一下這本書。我相信,只要你理解了指針,C語言便不再神秘。
如果你已經啃完了一本C語言教材,想要更進一步,那麼有兩本書你一定要看。首先是《C Traps and Pitfalls》(中譯名《C陷井與缺陷》),很薄的一本小冊子,內容非常非常地有趣。要注意一點,這本書是二十多年前寫成的,裡面提到的很多C語言的缺陷都已被改進,不過能夠了解一些歷史也不是什麼壞事。然後你可以挑戰一下《Expert C Programming》(中譯名《C專家編程》),書如其名,這本書頗具難度,一旦你仔細讀完並能透徹理解,你便可以放心大膽地在簡歷上寫“精通C語言”了。
切記一個原則,不要讀自己目前還看不懂的書,那是浪費生命。如果你看不懂,那你一定是缺失了某些必需基礎知識。此時,你要仔細分析自己需要補充哪些內容,然後再去書店尋找講述的這些內容的書籍。把基礎知識補充完畢再回頭來學習,才會真正的事半功倍。
二、Unix/Linux還是Windows,這是個很大的問題
不同的編程環境會造就出不同思維的程序員。Windows的程序員大多依賴集成開發環境,比如Visual Studio,而Unix程序員更加鍾愛Makefile與控制台。顯而易見,集成開發環境更容易上手,在Windows上學習C語言,只需要會按幾個基本的Visutal C++工具欄按鈕就可以開始寫Hello, World!了,而在Unix下,你需要一些控制台操作的基本知識。有人也許認為Unix的環境更簡潔,但習慣的力量是很大的,大家都很熟悉Windows的基本操作,而為了學習C語言去專門裝一個Unix系統,似乎有點不划算。
對於一個只懂得Windows基本操作、連DOS是什麼都不知道的新手而言,儘快做一些有趣而有意義的事情才是最重要的。用C語言寫一個小程序遠比學習ls、cat等命令有趣,況且我們要專註於C語言本身,就不得不暫時忽略一些東西,比如編譯鏈接的過程、Makefile的寫法等等等等。
所以我建議初學者應該以Visual C++ 6.0(不是VisualC++ .NET)或者Dev C++作為主要的學習環境,而且千萬不要在IDE的使用技巧上過多糾纏,因為今後你一定要轉向Unix環境的。Visual C++ 6.0使用很方便,調試也很直觀,但其默認的編譯器對C標準的支持並不好,而Dev C++使用gcc編譯器,對C99的標準都支持良好。使用順帶提一下,很多大學的C語言課程還在使用Turbo C 2.0作為實驗環境,這是相當不可取的,原因其一是TC 2.0對C標準幾乎沒有支持,其二是TC 2.0編譯得到的程序是16位的,這對今後理解32位的程序會造成極大的困擾(當然,用djgpp之類的東西可以使TC 2.0編譯出32位程序,不過那過於複雜了)。
等你學完一本C語言的教材,你一定要轉向Unix平台繼續學習,幾乎所有的C語言高級教程都是基於Unix平台的(比如《C專家編程》)。轉變的過程是痛苦的,你需要面對的是各種紛繁複雜的命令,完全不同於Windows平台的思考方式,但是這種痛苦是值得的。Unix與C是共生的,Unix的思考方式和習慣更加符合C語言的思考方式和習慣。在Unix下,你可以找到無數優秀的源代碼供你盡情閱讀,你可以方便地查看某個庫函數的聯機手冊,還可以看到最優秀的代碼風格(說到代碼風格,我會專門寫一篇文章詳細敘述)。
歸結起來就是一句話:初學C語言,建議使用Windows系統和集成開發環境,在準備向“高手”方向努力時,請先轉向Unix平台。
三、萬事俱備,你就是東風
書已選定,環境配置完成,正所謂萬事俱備,只欠你自己的努力了。請從書的前言開始,仔細地閱讀手頭的教材,很多人看書喜歡直接從第一章開始看,這是錯誤的做法。前言是作者對整本書的大體介紹,作者一般會告訴你需要什麼基礎才能夠順利閱讀本書,這可以幫助你檢驗自己的基礎知識是否已經具備。看完前言,還要瀏覽一下目錄,了解一下書的整體結構,順便給自己安排一下學習計劃。
學習C語言,必需注意每一個細節,書上的例子代碼一定要自己親自敲一遍,編譯執行輸出都跟書上說的一致才能算是學完了一個例子,如果不一致,就要仔細找原因。出了書本上有的例子,自己還要“創造”一些例子,比如學習運算符優先級的時候,可以寫幾個相同的表達式,在不同的位置加上括號,看看有哪些不同的行為,比如*p++和(*p)++,又比如a = b == c、(a = b) == c和a = (b == c)等等。自己抄的書上的例子以及改造之後的例子,還有自己“創造”的例子,都應該仔細地歸類保存,並且要在源代碼中寫上簡短的注釋,闡述這個例子的意圖。
例子之後就是習題了,我建議初學者把所有的習題都獨立做一遍,然後對照答案的代碼,看看自己的代碼有那些不足,再試着修改自己的代碼。很多人不重視習題,這是極大的錯誤,因為作者通常會在習題中說明一些重要的道理,而不是單純地檢驗前面的知識。
也許你認為這樣學習太慢,其實不然。學得細緻就不用走回頭路,等你學到後面才發現自己前面沒搞清楚,那才是真的得不償失。一般說來,整本書讀完,你應該完成數千行乃至上萬行的代碼,無論是原封不動照抄書上的,還是自己心血來潮寫就的,都是今後繼續學習的一筆財富。以我自己舉例,閱讀《Windows核心編程》時(我只閱讀了3/4的內容),除了抄書上的代碼,還自己寫了很多例子,一共有5574行(用unix下的wc工具統計),時隔多日,我早已記不清Windows的系統編程了,但只要花幾分鐘翻出以前的代碼看看,便會重新瞭然於胸。所謂好記性不如爛筆頭,就是這個道理。
仔細讀書、認真抄寫源代碼、獨立完成習題外加更進一步的實驗,最後將所有的代碼留下,成為自己的經驗和財富,絕對的辛苦,也絕對的事半功倍。當然,這種方式只適合學習需要精通的技術,如果不是學習C語言,你還要具體情況具體分析。
寫到最後,還有非常非常重要的一點沒有提及——代碼風格,從最開始學習就必須強迫自己模仿最優秀的代碼風格。因為代碼風格太重要內容也太多,我會用專門的一篇文章來詳細討論,請大家關注《程序員之路——關於代碼風格》。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/185359.html