c語言深度解剖
⑴ 零基礎的我如何學習c語言
1、首先是雞湯,也就是為什麼要學C語言。你可以先問自己,為什麼我要學C語言?是為了應付考試,還是為了應聘,還是為了提高自己的編程能力。我想說的是,如果你打算以後長期從事計算機方面的工作,你就必須會一門編程語言,讓C來做你的啟蒙伴侶再好不過了。為什麼?
①通用。
②語法簡單,C語言學起來真的很簡單,關鍵字就那麼幾個。
③貼近硬體,讓學會編程的同時,對計算機的有初步了解。
④C語言無處不在。電飯鍋,路由器,操作系統 and so on 。
⑤對以後學其他語言都是有很大幫助的,具體你會知道什麼是堆,什麼是棧,內存的分配與釋放。。。。。。這些都是所有語言都會涉及到的。
2、學習方法。多寫代碼,多寫代碼,多寫代碼,重要的事說三遍!有一種感覺加「碼感」。還有一件重要的是:多思考,多總結,多看別人的文章。推薦你去【CSDN】,或者【博-客-園】開通博客,記錄自己的學習點點滴滴。
遇到很頭疼的知識點怎麼辦,先跳過去,過一段時間再回頭來看。
實在解決不了就去Google,網路。你的問題很特別,搜不出來,就去論壇提問吧。
提問的藝術:不要問一些網路就能出來的語法問題。
具體學習方法:
第一階段 《C Primer Plus》藍皮+郝斌的C語言視頻
我沒推薦經典的《The C Programming Language》,因為我舉得《C Primer Plus》比較啰嗦一點,當然這里的啰嗦是對完全初學者有很大幫助的。看你自己的基礎吧。郝斌的視頻也是很重要的,初學者往往需要一個「瓢」,一步一步的照著畫,最後才會寫出自己的代碼。
第二階段
《C與指針》 學完C,不熟練指針,就是白學。
《C語言深度剖析》來自陳正沖前輩,這是一本關於C語言的「野史」,很有味道,強烈推薦。
《C缺陷與陷阱》 多看別人掉坑史,前車之鑒後事之師。
第三階段 數據結構結構學習。
再往後,學習一門面向對象的語言吧!
⑵ C語言中 局部變數和全局變數都是存儲在什麼區
C語言中局部變數存在棧里,全局變數存靜態存儲區。
局部變數在棧空間上分配,這個局部變數所在的函數被多次調用時,每次調用這個局部變數在棧上的位置都不一定相同。局部變數也可以在堆上動態分配,但是記得使用完這個堆空間後要釋放之。
全局變數全部存放在靜態存儲區,在程序開始執行時給全局變數分配存儲區,程序行完畢就釋放。在程序執行過程中它們占據固定的存儲單元,而不動態地進行分配和釋放;
(2)c語言深度解剖擴展閱讀
C語言中局部變數和全局變數示例:
#include<stdio.h>
#include<malloc.h>
staticints1=0,s2=0,s3=0;//靜態變數放在靜態區
intg1=0,g2=0,g3=0;//全局變數放在靜態區
voidmain()
{
staticints4=0,s5=0,s6=0;<spanstyle="font-family:Arial,Helvetica,simsun,u5b8bu4f53;"></span>//靜態變數
inta1=0,a2=0,a3=0;<spanstyle="font-family:Arial,Helvetica,simsun,u5b8bu4f53;"></span>//局部變數放在棧區
charc1[]="aabb";//局部變數放在棧區
char*c2="aabb";//字元常量放在靜態區
char*m1=(char*)malloc(1);//堆區
char*m2=(char*)malloc(1);//堆區
char*m3=(char*)malloc(1);//堆區
printf("動態數據區 ");
printf("a1 a2 a3 ",&a1,&a2,&a3);
printf("c1 ",c1);
printf("m1 m2 m3 ",&m1,&m2,&m3);
printf("靜態數據區 ");
printf("s1 s2 s3 ",&s1,&s2,&s3);
printf("g1 g2 g3 ",&g1,&g2,&g3);
printf("s4 s5 s6 ",&s4,&s5,&s6);
printf("c2 ",c2);
}
⑶ 學習C語言的書籍都有哪些
《C語言教程》《c和指針》《C語言深度解剖》
1:《C語言教程》是一本經典的教材,這本教材的特點是通俗易通,很適合於自學或者入門的,缺點是教材的深度不夠。
2:《c和指針》很好的彌補了《C語言教程》的不足,這本教材很系統的介紹了C語言,比較的全面細致,但是沒有《C語言教程》的通俗易懂。
3:前兩本教材適合於入門,想更加深入學習C語言的話《C語言深度解剖》是個很不錯的選擇,這本書言語深刻幽默,通俗易懂,很適合於進階的學習,也很適合與實際的工程開發。
⑷ 如何學習C語言
淘寶一些視頻課程,幾塊錢也有,跟著視頻學和寫(一般VC6即可)。
如果有一些C基礎,會簡單的if switch while main等運用後。淘寶"51開發板",便宜的開發板不到100元,會贈送針對此開發板的視頻課程和軟體包。看著視頻學著對開發板進行編程操作,會簡單的流水燈,按鍵檢測、動態數碼管。
基本的完成後,用開發板做一個日歷/時鍾吧,顯示當前時分秒,通過按鍵改變當前時間。
此時已經屬於單片機C語言的小入門了,離參與工作還需要經驗和C語言的熟悉深造。此時可以參與一些校園或者省、國家電子競賽,一定要主動找老師想參加比賽。如果是大專的話部分學習可能沒有參加省比賽的習慣,部分會有。
<<C語言深度解剖>>加深對C語言的理解,書的內容極少,基本就是對 指針、共同體、結構體、結構體鏈表等等對新手來說極少用到的知識。基本用VC6軟體就可以檢驗和學習。推薦。
⑸ C語言的詳細知識點
1.先學譚浩強的<<C程序設計>>,對編程有個基本了解。
2.然後找個《精彩百例》之類的書,學著做些小程序,對程序有點了解。
3.可以買本《VCXX技術內幕》,當資料翻。《C++ Primer》也是本必備的資料書。
4.這時候應該就算入門了,提高的書大把,最主要是實踐!寫程序練手吧。推薦林銳的《高質量C++程序設計》,然後就是侯捷的N本書,全部經典!
5.後面就是看《設計模式》,《編程思想》之類的書,提高自己的境界。。。。
孫鑫C++視頻教程 rmvb格式 全20CD完整版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=156290
C++視頻教程 邊用邊學Visual C++ 6 (ASF格式)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=177500
中山大學蔡培興 C++語言視頻教程 全51講 精品推薦
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=158073
C++程序設計視頻教程 東南大學何潔月主講 全80講(上) 48講
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=181543
C++程序設計視頻教程 東南大學何潔月主講 全80講(下) 32講
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=181546
錢能 c++程序設計教程 第二版 高清PDF版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=166018
Essential C++ 中文版+英文版 侯捷譯
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=167578
編程點金之Visual C++(電子教程) iso
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=181036
C++程序調試實用手冊 PDF版下載
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=181037
C++面向對象多線程編程 PDF版下載
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=181038
C++高級編程參考手冊
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=145562
C++ Primer 第三版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=145858
C++ Primer 第四版 中文版高清晰
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=177763
高質量C++編程指南
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=177759
C++ 編程思想 第1卷 標准C++導引
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=177774
C++ 編程思想 第2卷 實用編程技術
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=177770
More Effective C++ 簡體中文版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=146871
C++ Templates 中文版+英文版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=176004
C++ Coding Standards[Addison Wesley]
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175999
Absolute C++ 全彩頁代碼剖析
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175578
Accelerated C++ - Practical Programming by Example
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=177489
Inside the C++ Object Model
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175359
More Exceptional C++ [Addison Wesley]
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175358
Exceptional C++ [Addison Wesley]
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175357
Sams出版 C++ Unleashed
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=163617
C++ GUI Programming with QT4
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=146734
Visual C++ 6傻瓜書 快速參考
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173217
Visual C++ 6.0 編程實例與技巧(PDF中文版)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173210
Visual C++ 21天自學教程
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173174
跟我學Visual C++ 6
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174442
Visual C++ 6 資料庫編程 21天自學教程 CHM
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173173
The C++ Programming Language 第三版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175018
深度探索C++對象模型
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=176965
Special Edition Using Visual C++ 6
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173171
Professional MFC with VC 6
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=166005
Practical C++ Programming
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173744
Cross-Platform Development in C++
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174168
Iterative UML Development Using VC++ 6
http://bbs.topsage.com/dispbbs.asp?boardID=124&ID=174831
Ace Programmer's Guide
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174449
Visual C++高級界面特效製作百例
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=168630
精通GDI+編程 清華大學出版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=170571
⑹ 嵌入式學習書籍有哪些
以下是華清遠見·星創客嵌入式精英訓練營提供的學習嵌入式必看的100本書:
001《大話數據結構》
002《鳥哥的 linux 私房菜》
003《瘋狂 android 講義》
004《第一行代碼》
005《linux 內核設計與實現》
006《驅動設計開發》
007《linux 內核解密》
008《unix 環境高級編程》
009《linux 內核設計與實現》
010《essential C++》
011《嵌入式 linux》
012《linux 設備驅動》
013《c 語言深度解剖》
014《linux 下的 c編程》
015《C Primer Plus(第五版)》
016《ARM 體系結構與編程(第二版)》
017《lINUX 設備驅動開發詳解(第三版)》
018《android 開發藝術探討》
019《c++plus》
020《Unix 環境高級編程》
021《與大數據同行——學習和教育的未來》
022《用戶體驗的要素》
023《編程與藝術》
024《ARM 嵌入式體系結構與介面技術》
025《cortex-m0 介面編程》
026《C 語言程序設計:現代方法》
027《C++ Primer》
028《數據結構》(嚴蔚敏)
029《演算法導論》
030《Linux 設備驅動開發》
031《代碼大全》
032《深入理解計算機系統》
033《UNIX 環境高級編程》
034《計算機安全原理》
035《UNIX 網路編程》
036《HeadFirst 設計模式》
037《linux 驅動》(宋保華)
038《C++ primer4》
039《qt5 精彩實例》
040《ldd3》
041《C++高級編程》
042《C語言教程》
043《實戰 linux 編程精髓》
044《ARM 教程》
045《JAVA 編程思想》
046《HTML+CSS 網頁設計與布局從入門到精通》
047《C 語言深度解剖》
048《深度實踐嵌入式 Linux 系統移植》
049《unix 高級編程》
050《c 嵌入式一站式教學》
051《編譯原理》
052《深度實踐嵌入式 Linux 系統移植》
053《UNIX 環境高級編程》
054《linux 網路編程》
055《C 語言程序設計》
056《unix 環境高級編程》
057《嵌入式 linuxc 語言程序設計基礎教程》
058《Java 編程思想》
059《TCP/IP 詳解》
060《linux 技術手冊》
061《C 語言深度剖析》
062《Unix 高級環境編程》
063《C++primerplus》
064《QT》
065《C 程序設計》
066《C 和指針》
067《C++primer》
068《C 程序設計語言》
069《ProgrammingC#》
070《thinking in C++》
071《Linux Device driver》
072《Linux kernel development》
073《軟體工程》
074《C 和指針》
075《Android 核心代碼》
076《Android 技術內幕》
077《Android 底層移植》
078《Unix 編程手冊(上下卷)》
079《Linux 驅動設計第三版》
080《ARM 實戰開發》
081《unix 環境高級編程》
082《tcp/ip 編程詳解》
083《Linux 網路編程》
084《Unix 編程藝術》
085《計算機程序的構造和解釋》
086《C Primer plus》
087《LINUX 權威指南》
088《LINUX 設備驅動程序》
089《The C Programming Language》
090《ajax 高級程序設計》
091《angula js 權威教程》
092《ARM 體系結構》
093《Unix 環境高級編程》
094《Linux 設備驅動程序》
095《現代操作系統》
096《TCP/IP 協議詳解》
097《嵌入式 C 語言設計模式》
098《Struts In Action》
099《c 程序設計語言(第二版)》
100《深入理解 Linux 內核(第三版)》