初學C語言,有什麼好書推薦?
昨天給公司人力同事提了一份面向嵌入式軟體開發工程師的書單/線上資源,正好有幾本C語言或相關書籍,單列在此。其中大部分書我至少讀過一遍。
基礎(C語言入門,初學,程式設計基礎)
- 《C語言程式設計:現代方法》(第2版)(C Programming: A Modern Approach, 2nd Edition, K.N.King)
- 《深入理解計算機系統》(修訂版或第2版)(Computer Systems: A Programmer's Perspective, Randal E. Bryant et al),閱讀建議
- 《C語言程式設計》(第2版)(The C Programming Language, Brian W. Kernighan & Dennis M. Ritchie)
- 《程式設計師修煉之道》(The Pragmatic Programmer: From Journeyman to master, Andy Hunt & Dave Thomas)
核心/驅動
- 《Linux核心設計與實現》(第3版)(Linux Kernel Development, 3rd Edition, Robert Love)
- 《Linux裝置驅動程式》(第3版)(Linux Device Driver, 3rd Edition, Jonathan Corbet et al)
- 《深入Linux核心架構》(Professional Linux Kernel Architecture, Wolfgang Mauerer)
應用
- 《UNIX環境高階程式設計》(Advanced Programming in the UNIX Environment, W. Richard Stevens)
- 《UNIX網路程式設計》(Unix Network Programming, W. Richard Stevens)
- 《C陷阱與缺陷》(C Traps and Pitfalls, Andrew Koenig)
- 《C專家程式設計》(Expert C Programming, Peter van der Linden)
- 《ARM嵌入式系統開發:軟體設計與優化》(ARM System Developer's Guide: Designing and Optimizing System Software, Andrew Sloss et al)
基礎
- MOOC課程《C語言程式設計》,翁愷 請擇期學習課程,並參加考試,申請認證證書。
- Python簡明教程:A Byte of Python 學習Python,編寫並執行所有示例程式碼。
- Linux Shell簡明教程 熟悉Linux Shell,掌握基本的shell指令碼程式設計。
- LeetCode OJ線上試題 獨立、自主完成至少2/3或更多題目,目前支援C++、Java和Python三種語言答題。
- 劉未鵬:怎樣花兩年時間去面試一個人? 建議提前兩年參考這篇文章,做好面試準備。
StackOverflow有一份C語言圖書指南(The Definitive C Book Guide and List),分為Reference Style(參考、大全)、Beginner(初學)、Intermediate(中階)、Above Intermediate(高階)四類。
以下為引文
-------------
Reference Style - All Levels
- The C Programming Language (Second edition) - Brian W. Kernighan and Dennis M. Ritchie
- C: A Reference Manual - Samuel P. Harbison and Guy R. Steele
Beginner
Intermediate
Above Intermediate
相關推薦
初學C語言,有什麼好書推薦?
2014年下半年到東北某地校招,面試了12人,其中有當過C語言助教,有自學C語言程式設計的,問了4人,全都還在用譚浩強的C教材。老實說,聽到這樣的回答,我很是詫異,現在市面上有這麼多好書可選,有不少學校和學生(非計算機專業)卻還在用譚浩強的書。 昨天給公司人力同事提了一份面向嵌入式軟體開發工程師的書單/線上
C語言,有N個硬幣面值為a[1]...a[N],給一個非負數m,用這些硬幣湊成m,求有多少種方法?
#include <stdio.h> #include <memory.h> #define N 1000 #define M 100000 int a[N]; int DP[M]; int dpItUnlimited(int m, i
初學C語言,幾種利用巢狀迴圈的字母列印格式
1、最簡單的換行巢狀,一個for迴圈控制行數,一個for迴圈控制每行輸出量。 #include <stdio.h> /*輸出類似於 $ $$ $$$ $$$$ $$$$$ */ int main(void) { int m,n;
初學C語言編程時最容易犯的錯誤,你踩坑了嗎?
不同的 類型 alt 結果 如何 wid text size can C編譯的程序對語法檢查並不像其它高級語言那麽嚴格,這就給編程人員留下“靈活的余地”,但還是由於這個靈活給程序的調試帶來了許多不便,尤其對初學C語言的人來說,經常會出一些連自己都不知道錯在哪裏的錯誤。看著有
C語言,實現兩個整數m和n的二進位制序列中有多少不同的位
新手學程式設計,大佬寫的太高深,看看本人小白寫的,一起學習一起交流 #include <stdio.h> int main() { int m = 0; int n = 0; int i = 0; int count = 0; scanf("%d%d", &
初學C語言(5):逆序輸出片語 ,判斷迴文數
#include #include<assert.h> using namespace std; void reverse(char *pbegin, char *pend ) // 將一句話 片語逆序輸出 { char tmp = 0; while (pbegin < p
萌新初學c語言;求質數,請大家幫忙看看
#include<stdio.h> int main(){ int a,b,c,d,e,f; c=0;d=0; printf("請輸入範圍:__至__\n"); scanf("%d %d",&e,&f); for(a=
C語言實現有一個字元陣列的內容為:"student a am i",請你將陣列的內容改為"i am a student"。
//有一個字元陣列的內容為:"student a am i",請你將陣列的內容改為"i am a student"。 要求:不能使用庫函式。 只能開闢有限個空間(空間個數和字串的長度無關)。 解題思路:
ACMNO.38 C語言-報數 有n人圍成一圈,順序排號。從第1個人開始報數(從1到3報數),凡報到3的人退出圈子,問最後留下的是原來的第幾號的那位。
題目描述 有n人圍成一圈,順序排號。 從第1個人開始報數(從1到3報數),凡報到3的人退出圈子。`在這裡插入程式碼片` 問最後留下的是原來的第幾號的那位。 輸入 初始人數n 輸出 最後一人的初始編號 樣例輸入 3 樣例輸出 2 來源/分類
ACMNO.44 C語言-平均分 有N個學生,每個學生的資料包括學號、姓名、3門課的成績,從鍵盤輸入N個學生的資料,要求打印出3門課的總平均成績,以及最高分的學生的資料(包括學號、姓名、3門課成績)
題目描述 有N個學生,每個學生的資料包括學號、姓名、3門課的成績, 從鍵盤輸入N個學生的資料, 要求打印出3門課的總平均成績,以及最高分的學生的資料 (包括學號、姓名、3門課成績) 輸入 學生數量N佔一行每個學生的學號、姓名、三科成績佔一行,空格分開。 輸出 各門
C 語言:有一個班4個學生,5門課程。
題目:有一個班4個學生,5門課程。1、求第一門課程的平均分;2、找出有兩門課程以上不及格的學生,輸出他們的學號和全部課程成績及平均成績;3、找出平均成績在90分以上或全部課程成績在85分以上的學生。分別
如何學習 Objective-C 語言,這方面最好的書有什麼?
最近我也在學習Objective-C和iOS開發,我就簡單說下我在蒐集相關內容的時候總結出來的經驗吧,希望能對你有所幫助。 我個人的經驗是,如果之前有過程式設計基礎(無論是C、C++還是Java),那麼《Objective-C基礎教程》(圖靈程式設計叢書,人民郵電出版社)是不錯的選擇。而如果是第一次學習程
c語言:有1、2、3、4個數字,能組成多少個互不相同且無重複數字的三位數?打印出來?
有1、2、3、4個數字,能組成多少個互不相同且無重複數字的三位數?打印出來?解:程式:#include<stdio.h>int main(){int i, j, k;int count =
C語言:有5個學生,每個學生有3門課的成績,從鍵盤輸入學生資料,計算平均成績
有5個學生,每個學生有3門課的成績,從鍵盤輸入學生資料(包括學生號、姓名、三門課成績),計算平均成績,將原有資料和計算出的平均分數存放在磁碟檔案“stud”中 對於平均成績的思路就是:把平均成績當做結構體的一項 在輸入3門課成績以獲得平均成績時,要注意在c語言中,三門成績
初學C語言:輸入10個整數,將其中最小的數與第一個數對換,把最大的數與最後一個數對換。
#include<stdio.h> void input(int a[10]) { int i; for (i=0;i<10;i++) { scanf("%d",&
C語言,鏈表操作
char next count 鏈表 刪除節點 free etc turn getchar() #include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <
C語言中 有符號數、無符號數、整數溢出 (轉)
alt 原因 () tar sig 重新 detail copyto 想象 [cpp] view plain copy print? #include<stdio.h> void main() { int l=-1; unsigned
c語言,實際上就是函數調用
mar oci noi oos left info 函數調用 blank tor 嬌44趴JZP5VLB陀汗http://shequ.docin.com/cfrlv671 2735T吠rD輾氯譾5http://shequ.docin.com/adb78175 U2i75AQ
首先不談C語言,我們先來談談編程工具
3.0 windows 7 最好 微軟 windows10 理由 平臺 window 以及 系統環境: 推薦Windows xp sp1 軟件: Tb2.0或3.0 推薦理由:最好的一個系統環境 系統環境: 推薦Windows xp/ Windows 7/ Wi