|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
! l) ~6 S$ S* H
0 U8 ?& s# M0 f3 K3 W8 D- R
书名:《一站式学习C编程》* g, Z4 _8 w% G
作者:宋劲彬. h, q8 U5 u j0 O) x5 i1 |
出版社:电子工业出版社
' N& X, G& u5 o$ P) d出版年:2011年3月1日(第1版)
) v. D& X B, s J( C定价:59.00元
; C1 ~8 ^: C5 F装帧:平装
7 z1 z3 c/ B0 |- u6 C! |! D0 SISBN:97871211298278 I/ o3 C7 }9 j' K9 T
5 f) B6 E9 g: O2 R O2 z购买链接:- c0 ?" d! F" i2 Q
5 J( ]- q7 a2 I0 |# H
) e* n9 t, u/ o# \
亚马逊(kindle)-> 传送门3 ^; ^# R, T: H* {$ M( \8 F
2 e1 q4 r! g% e# d
当当网 -> 传送门
; d" j: ]+ k) ^" ]% ^% r1 o T! S# ^3 x' r m* M( J# _
京东 -> 传送门4 |9 u/ _; F; |& }% M. }
) R/ M' x& B* j$ P
! i8 a% a1 T1 p7 u D内容简介:
% [3 v" D" b/ ^6 s* Z% Z. b
4 J# T" T6 e- c 8 B: r9 _/ h5 |6 L) S- e, e2 Q
《一站式学习C编程》有两条线索,一条线索是以 Linux 平台为载体全面深入地介绍 C 语言的语法和程序的工作原理,另一条线索是介绍程序设计的基本思想和开发调试方法。《一站式学习C编程》分为两部分:第一部分讲解编程语言和程序设计的基本思想方法,让读者从概念上认识 C 语言;第二部分结合操作系统和体系结构的知识讲解程序的工作原理,让读者从本质上认识 C 语言。4 E' m s5 @7 l. ]$ N
9 B O) b8 y1 w3 h( o/ k/ ^6 b
《一站式学习C编程》适合做零基础的初学者学习 C 语言的第一本教材,帮助读者打下牢固的基础。有一定的编程经验但知识体系不够完整的读者也可以对照《一站式学习C编程》查缺补漏,从而更深入地理解程序的工作原理。《一站式学习C编程》最初是为北京亚嵌教育研究中心的嵌入式 Linux 系统工程师就业班课程量身定做的教材之一,也适合作为高等院校程序设计基础课程的教材。《一站式学习C编程》对于 C 语言的语法介绍得非常全面,对 C99 标准做了很多解读,因此也可以作为一本精简的 C 语言语法参考书。! E+ Y' ~/ f9 ^" ~$ u
3 [4 w, o6 S( l5 }+ ^& w" v目录:. Q. ~1 A2 F* P* C, M
$ D' E* I! [# p( f% Z, }
* s3 y) F3 S1 y% C% l' A% E4 |
上篇 C语言入门( x) x# R- n- m9 i9 P/ u5 m p
* ?3 p7 I* I: @. X第1章 程序的基本概念- p( o2 x" i' o* j8 r, G& y4 R
& Y" G* E S/ a6 c: d$ e0 @1.1 程序和编程语言
% V: }/ @ b5 u$ E1.2 自然语言和形式语言3 h7 m& D9 y" {
1.3 程序的调试
' g: P! F s: b/ }; C3 z1.4 第一个程序; a" C- m8 v. E- x! P$ b3 _% j6 L
5 g, z2 C0 u, J" p
第2章 常量、变量和表达式
1 b7 u6 t! ]; C+ }8 ]& e
4 V, s J A/ z% b4 Q- R2.1 继续Hello World: ~5 G C s* w- u7 I1 H5 K2 J
2.2 常量9 W0 \! i* g' H2 v! P- D+ [5 l2 T
2.3 变量$ a! P/ \; f- x
2.4 赋值
$ g6 p4 N0 B* k8 U2.5 表达式1 t3 m& N8 X$ W: n3 Q
2.6 字符类型与字符编码
' z* q3 T; z; C- W) ~9 _* ?. h
' E4 j% t" S5 B0 D3 b: F" M第3章 简单函数
' Q7 n0 B& {& n2 |( a* A7 m/ ?/ w' S: S
3.1 数学函数6 J+ N, r: L; C0 U6 r' J1 s
3.2 自定义函数
, O& w7 T3 F; k3 m; }- K3 j9 ^3.3 形参和实参
2 P' B g8 P6 f' d' S1 e# O" W h3.4 全局变量、局部变量和作用域
( @3 M w+ Y! X6 c8 T8 d$ U2 b
- h4 T* r* B# r; |) R- P第4章 分支语句+ ?& Q* ~( q1 v; A* z+ P% e
: @* h$ M* O3 F* ~: C, j' G
4.1 if语句; f4 Y* Y% W! B2 J
4.2 if/else语句& M! n3 C7 e5 D7 I5 L& ^
4.3 布尔代数" p) P, A N7 U2 Y. e$ P
4.4 switch语句 h8 x( ^7 |8 }
; o9 ]4 w7 d3 ], |- L" `$ U
第5章 深入理解函数
! @( n8 @/ F% [0 C4 `
: P4 b. @$ [: i/ z) n1 E3 |& A5.1 return语句( }& U, G4 \: J0 k; W
5.2 增量式开发
2 k3 a" R) t: F) M4 P" [5.3 递归
! L) Q- }- T) S' w
6 `, b- Y3 ]0 X! G* x1 e7 w第6章 循环语句
) o X, T: f4 x: i) M' v4 @
3 `1 o4 o) J- m1 ]+ s6 D n N6.1 while语句4 P+ D3 L( K6 b- N. M# ~
6.2 do/while语句/ ^) u( w F- h8 S" F
6.3 for语句
8 b, ~ m0 x) u/ t" u# T6.4 break和continue语句
: S' J0 P6 e4 ~/ [7 s7 s8 z; ]# k; u6.5 嵌套循环 i/ X+ B+ e' y* [# R" n
6.6 goto语句和标号+ [: q/ P* Z# k8 n( }" S. T, I* t
8 N& T+ w$ \$ `* G& z/ Y第7章 结构体1 q; Q1 e( j6 |$ K
- D- t* {: h, Q4 @; T" C+ I w7 @9 h' g7.1 复合类型与结构体9 z/ {& \8 b# |
7.2 数据抽象/ u1 H. n5 m% E
7.3 数据类型标志
& P4 a# d$ T* ~" `7 i7 z7.4 嵌套结构体% D1 V1 U8 s" i* d& I( e
J& q# C: ?. c( \4 ?; C
第8章 数组+ p, r6 E; [8 j
0 ~$ I I/ y7 D# M& z. X
8.1 数组的基本概念9 |5 e/ M9 Y7 ]7 J
8.2 数组应用实例:统计随机数7 ]4 `8 m5 u! ^0 H( J8 N; K* M/ }
8.3 数组应用实例:直方图
& T- n5 W- ?. u/ z8.4 字符串
, r$ G5 v* ]) I& M8.5 多维数组) n- S3 W, F" ^. s4 d
0 T$ N* E( X W2 d
第9章 编码风格
7 @, ^9 \% D& G& d% n" M0 R9 B* J" @& N& i& Y
9.1 缩进和空白6 i2 b: G% H, o$ B& z8 s6 ?
9.2 注释
* {2 L% \& ~% N0 ]0 A0 s9.3 标识符命名
. i p3 i" e1 s6 J3 K- e9.4 函数
) K' F- ^8 D3 ~( m. p+ H% A+ v6 v9.5 indent工具
7 \. w% u1 ^0 X$ _+ t5 b( x* ~. _7 m( A7 q* R
第10章 gdb% o! T( r4 G, a, o5 \
! k) K/ ]% }/ ]# { T$ g
10.1 单步执行和跟踪函数调用+ E% A- H% L, ^# s1 O: }. l+ A0 X
10.2 断点2 F; \6 a. ^2 m8 u* f2 g
10.3 观察点
0 j. P0 j9 b+ i2 r10.4 段错误6 F' ?0 D0 b$ ^% i
% M8 e; B) f/ W+ [第11章 排序与查找7 W6 v; s6 F( s7 w# x
0 N3 p6 ]9 x& y$ J2 P
11.1 算法的概念
g5 \5 j, Z0 v4 f: r11.2 插入排序
( H4 T2 h6 E8 g/ d9 E; U11.3 算法的时间复杂度分析6 g4 r1 f. t7 w; K9 t
11.4 归并排序3 Z5 C3 K! Y v) g/ z
11.5 线性查找
J3 B8 L" W1 e' {' }; t11.6 折半查找
* h7 c' N, _1 b; c0 h; u! Q
! @7 M Z, t$ r* n7 M1 h9 i* d7 i第12章 栈与队列
) X* X& k6 o8 [& Q3 J& c" V$ T' G" P3 c f) v+ q* i
12.1 数据结构的概念
/ _2 T9 R( ]' N" x( q8 O12.2 堆栈* y# L, {/ E+ Y' g8 U9 I9 v6 `" h" J
12.3 深度优先搜索: [$ f, B8 J2 d" t7 U( H
12.4 队列与广度优先搜索
1 ?) r; u) W8 f* \' I& u12.5 环形队列
& @) S( o2 O( Z3 l- [; h本阶段总结0 A5 T b. I2 [ D
" |: l1 U! S/ b# b下篇 C语言本质6 @ w0 {+ }6 c
8 L4 {) h0 h7 c; Y& b7 j; g第13章 计算机中数的表示
& Q. l% i$ b, J0 f' n% ~/ d& w
4 E* ~& h) V S. b# Y; o+ V; d+ i% g13.1 为什么计算机用二进制计数
8 U0 V5 }" F* Q13.2 不同进制之间的换算- K& d4 H) V3 D) t) [: E* a
13.3 整数的加减运算
1 p# }) Y! o3 o- f* ]13.3.1 Sign and Magnitude表示法
$ `% Z4 ?; [8 s$ p/ O; Q13.3.2 1's Complement表示法2 h r, }3 w8 |' A
13.3.3 2's Complement表示法4 {0 j, z; Y1 v0 }
13.3.4 有符号数和无符号数1 w8 y; u5 U; C: q8 N
13.4 浮点数" b. G* ], D4 X
% ~2 l+ D( W: ^第14章 数据类型详解
7 H/ l8 G E" b, y2 N3 c! R4 x6 O7 G0 o, |
14.1 整型
$ ^6 |7 F5 v+ k% C14.2 浮点型2 H: _6 l" u! x) I# I1 ~7 _3 d; U
14.3 类型转换
- S! b, V* c( Y, H; r14.3.1 Integer Promotion
# ]: R ^7 s/ w- E0 D$ t# H; v9 h14.3.2 Usual Arithmetic Conversion3 x" X* I# k% v' ]
14.3.3 由赋值产生的类型转换% }, L9 ]8 E7 B# _7 D
14.3.4 强制类型转换9 i, F$ Q: M" _
14.3.5 编译器如何处理类型转换6 ~3 n0 F& Z: E6 x. R
; z8 |2 p& C6 ?/ a* ?
第15章 运算符详解
: j* [. B2 `9 T* f$ k
$ w5 y$ X+ Y: ]0 { P# t$ q% l15.1 位运算
8 ?4 W6 z& F( ~3 d15.1.1 按位与、或、异或、取反运算
6 p" a, i. H2 |9 E$ k. k/ p' \4 o15.1.2 移位运算2 [& S/ p+ a3 F7 Z. p! m
15.1.3 掩码
/ o, ~( |: C% d7 Y) v15.1.4 异或运算的一些特性& k+ s t) K( \
15.2 其他运算符- H3 Q. O/ c3 S( y' I
15.2.1 复合赋值运算符
+ y C% k$ f' ~8 s' x0 W15.2.2 条件运算符
& Y/ F9 M; [5 k. M2 Y15.2.3 逗号运算符9 L# h7 j+ H" s) m
15.2.4 sizeof运算符与typedef类型声明' Z6 A% _3 p- y9 e- n
15.3 Side Effect与Sequence Point
8 g J. n2 ~! T8 W! A5 q0 `15.4 运算符总结, {$ }9 s9 C/ E+ \
M+ K4 Q! \( W& D9 ]第16章 计算机体系结构基础
; N0 r. R4 k! I/ F2 U
' R% j- @# x6 l ^. q/ w* {4 B- J16.1 内存与地址
o' e: X3 b- X8 T) h5 r! I16.2 CPU m& k& F* B+ `/ ]3 G
16.3 设备
6 c# A) f- g7 N! j8 R( x16.4 MMU
b( \0 E" I7 D3 a; c- N7 T! o" `16.5 Memory Hierarchy
8 t7 e, ^& O2 z% W/ B/ r
* r2 O0 [$ `+ e# D, u l第17章 x86汇编程序基础) `! U: u' r2 B- U
: z j2 V1 O' [( M9 j; F8 g17.1 最简单的汇编程序, B9 ?9 ?0 O, h! g% G
17.2 x86的寄存器
) w/ d) |* Y9 {17.3 第二个汇编程序
3 Z7 r$ M; v' w5 E+ \17.4 寻址方式
* j- m$ q% E5 g4 D1 j17.5 ELF文件2 q5 j1 d5 W5 Z2 c$ F' f2 f
17.5.1 目标文件
* e6 k% B) m Q. M% a! @17.5.2 可执行文件
& t' b* {8 i5 C* E6 O" `
& n# d7 \( j' b- B0 x+ f5 i$ x8 T第18章 汇编与C之间的关系
) U. J# @/ ~; H d! o2 k3 X ]( \2 K' P/ Z! ~9 |
18.1 函数调用% e4 l" [+ Z0 h* `- ]$ F
18.2 main函数、启动例程和退出状态
# ?* }6 |/ l2 n/ R18.3 变量的存储布局, `% o0 O/ m+ I% F( ~
18.4 结构体和联合体
1 h7 ~+ T$ b# @5 L$ {/ i: r' z18.5 C内联汇编
8 b9 n k# E3 L3 \+ ^18.6 volatile限定符+ |7 ^9 q0 w/ r9 r$ Z P1 s
, F- G) U0 ]3 O+ r$ \: G( Y3 W) s
第19章 链接详解
0 c! e% d: @/ q7 e2 B) d2 d4 U7 G. W. D$ n0 v' V/ D7 S
19.1 多目标文件的链接/ [! M& n8 Q( |2 y" P
19.2 定义和声明
# X" ]0 m% M7 u' i& S19.2.1 extern和static关键字
8 E- ?/ @1 m M2 l7 T U# L. K0 {19.2.2 头文件
( t8 r0 c/ B, I19.2.3 定义和声明的详细规则' ~% y4 _1 g: [. i: e
19.3 静态库% A. Z# g/ P( l1 a
19.4 共享库
% x2 I8 P' s! n( B, `, ]19.4.1 编译、链接、运行; Z7 g, y& w( B9 U6 a/ L% R
19.4.2 函数的动态链接过程
) f% ^6 s3 V1 M9 K' d19.4.3 共享库的命名惯例- ]4 {5 j' r! y, n8 v1 U7 a
19.5 虚拟内存管理
6 [4 I2 q( |0 z8 Z6 X, f0 D# f7 A4 q+ y) q6 b4 b" j3 Z1 F) ^6 O
第20章 预处理
& {; C5 i8 }7 b2 W- e `4 x
% {3 w' [: s* ~7 ?- g3 }; ?, u/ }. f20.1 预处理的步骤
. G' W) p) Z* w0 X20.2 宏定义+ r, b0 A) F# ^4 v7 }1 l3 m& x
20.2.1 函数式宏定义9 Q9 j7 ~) E0 V2 U( j+ L
20.2.2 内联函数
: y# N6 I. w, q7 b$ f20.2.3 #、##运算符和可变参数
# N% c$ o3 F: B9 l20.2.4 #undef预处理指示: A$ f) h! d. j6 \, K
20.2.5 宏展开的步骤
9 V" D) n2 ?6 z2 R: t20.3 条件预处理指示
1 G# F" p' p \: X20.4 其他预处理特性
% Q- z `' @$ ?# m. ?% |8 `$ j+ O/ M. t9 q7 W! E7 |9 m' v
第21章 Makefile基础8 T+ b3 e+ K: ~* r' j* a; ~
' w# U6 ~7 u. f. z
21.1 基本规则
9 L% q! i( r9 s/ u7 H21.2 隐含规则和模式规则 c: e/ D1 b, k$ V) I
21.3 变量
7 S( T# Q A2 n2 \; M7 ^7 Y21.4 自动处理头文件的依赖关系
2 b T# x8 @- W21.5 常用的make命令行选项7 E4 A* p2 C# M. b1 r
( K8 G% o" ^7 @9 k+ P& Z4 N/ b第22章 指针
. ^6 t: X) H4 [
x3 N8 j* d q5 l" i* p22.1 指针的基本概念, d8 V% s! A o$ D! e. q) w
22.2 指针类型的参数和返回值
% L1 p" Z: ^" v7 d22.3 指针与数组
0 e9 a/ Z) p9 {. ^22.4 指针与const限定符
, Y( B3 O. G: P2 W6 f+ v* X7 d3 s22.5 指针与结构体% [1 s$ b0 E5 ?* s& L7 C' I5 J
22.6 指向指针的指针与指针数组
/ U3 L: t: m* m4 z, M3 f2 a22.7 指向数组的指针与多维数组
5 N) b) T4 _* J! `, C V22.8 函数类型和函数指针类型2 S0 y7 {2 _% I& A
22.9 不完全类型和复杂声明
* H3 `+ I1 ]; N; q4 ]0 h9 i7 h1 r- U4 _. R; ?, e4 a8 P
第23章 函数接口- s# e! w9 ?" w: \. Z
4 \- P- `* w+ I u e( l. m
23.1 本章的预备知识
' e* U+ g' ]4 h. B7 M b23.1.1 strcpy与strncpy
) N3 N! s3 n$ ?1 P9 ]23.1.2 malloc与free3 t% h3 x2 G* a1 x2 ^
23.2 传入参数与传出参数
I% C- \3 V9 F# y8 g23.3 两层指针的参数
4 u) L/ F4 Y3 q* v- L23.4 返回值是指针的情况8 c7 ~; ]; ^# i8 P) K! X5 z
23.5 回调函数% i/ O" C6 y8 k; H8 W5 x+ R/ @8 ?. N
23.6 可变参数3 ~/ V+ Q+ p9 I0 h h; w# t K
# E+ @; O$ c, J第24章 C标准库
, T) b! ]9 ~% m# ?/ i4 e; Y5 l6 h% c) \' ^8 ~
24.1 字符串操作函数 n7 v' i! V6 C5 U! a
24.1.1 给字符串赋初值( c5 x5 _$ l) ^9 r: m1 G- \% G
24.1.2 取字符串的长度* `) ^/ n/ A* s4 Q5 k
24.1.3 拷贝字符串' b: j5 j3 M0 U5 u7 n5 `" d) x
24.1.4 连接字符串
! @ T- X: r2 O- J2 ?24.1.5 比较字符串
/ _+ L5 u% l, V5 X6 @24.1.6 搜索字符串- l3 m+ i% N4 N4 z" g
24.1.7 分割字符串0 u! d! f' d5 B0 [: {# ]
24.2 标准I/O库函数
7 U O. C" S3 {4 k' P, @4 q24.2.1 文件的基本概念
7 |+ N P6 l( F) p3 f2 O, r24.2.2 fopen/fclose" R* W G8 ~( | r0 M
24.2.3 stdin/stdout/stderr! m2 e4 o6 o: I" x$ l3 c. m7 D) d1 k, G
24.2.4 errno与perror/strerror函数% C( Z* |: `* w C! e( X
24.2.5 以字节为单位的I/O函数
; d/ H, v1 [- E8 P8 T. R z; p24.2.6 操作读写位置的函数, n$ J* O8 C& v8 t
24.2.7 以字符串为单位的I/O函数
$ H( z) c" e+ G" f: m% e24.2.8 以记录为单位的I/O函数( W' P( m+ F6 p7 @/ H% ] ^# M
24.2.9 格式化I/O函数
: j' I1 w7 ~: S- U24.2.10 C标准库的I/O缓冲区
# p) b+ J, e; D! H Z24.2.11 本节综合练习
8 J7 G1 O" Q6 ~8 [% Y" M b) c24.3 数值字符串转换函数
7 N0 [6 p1 ~/ ~+ l# j- b3 q! O" U24.4 分配内存的函数4 `' s8 \' \% j7 | S' j+ E- `
; Z+ l. Z3 d% i2 ]) ~5 b第25章 链表、二叉树和哈希表) O4 G( i* W: Y: m2 P* a: Z! y' @) c
6 w& n1 ^% e8 z
25.1 链表
! y* U; \1 O4 k9 T25.1.1 单链表$ |* D/ T+ b* d4 c
25.1.2 双向链表; d& W" I# s3 d; V9 U
25.1.3 静态链表
; [7 K. I: X3 S5 {9 @25.1.4 本节综合练习
" w0 j1 z+ H, e* R8 V# ^& k25.2 二叉树
" @ L, }9 {' j1 G- t25.2.1 二叉树的基本概念7 z3 J- O. { W
25.2.2 排序二叉树6 |: E1 t# y4 w; l
25.3 哈希表
! z6 M g }5 u S2 Y2 ~9 s本阶段总结7 L8 T& p" M5 E" Q
+ e% P# `. `9 W
附录A 字符编码. Q9 ?3 W$ e8 W% R
: o1 U( r9 _# A s; c3 m
索引
! e, F+ _" g; y$ \9 t, c
7 ?1 Y2 f( w) R: y) ?7 u参考文献" v' n. a: a7 E/ k0 E$ D% H% ?
+ [+ g* m0 }6 U, ~
$ g! C' P/ {( o! F4 [, ]* n
|
|