|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
9 w: `; k$ W- Z$ [+ H1 i3 U* O) m) c+ }8 Z+ ]& k* g: M- K
书名:《一站式学习C编程》) s+ L% G, H) n8 Q' e
作者:宋劲彬
. v2 b: _% @9 R* d; x出版社:电子工业出版社) [. y- V2 P* l* w8 R
出版年:2011年3月1日(第1版). b# }+ W8 U5 {# b- g7 H1 g5 |! I
定价:59.00元
4 a, r5 k. f; Z# f6 v b装帧:平装
0 g; w7 W) S7 i8 {ISBN:9787121129827 e* N }1 C: `. o! p4 N
8 W% |- W- v2 Q7 f$ v) x W购买链接:
1 Z8 m, V2 Z4 [9 N1 r @2 P2 z( p/ v$ l; w' }+ J
0 W: s! J: ?. N) h+ _亚马逊(kindle)-> 传送门
$ m/ K& n5 `0 I0 P, X9 R
" f- w# U4 q* h7 J5 j当当网 -> 传送门6 _! e6 Y$ g; P- O' H
2 H5 g4 C7 u. G' H0 j: a4 c3 }京东 -> 传送门
& A) I2 V) g; q6 f/ Q/ w6 e
3 R3 Y% X8 |. c# T9 E" K
% g/ f( i: m7 ?5 }8 [4 ?内容简介:
" u4 _8 J$ H7 A X6 b
; ?; Y V# P; X
9 z1 \0 Z$ f- @ 《一站式学习C编程》有两条线索,一条线索是以 Linux 平台为载体全面深入地介绍 C 语言的语法和程序的工作原理,另一条线索是介绍程序设计的基本思想和开发调试方法。《一站式学习C编程》分为两部分:第一部分讲解编程语言和程序设计的基本思想方法,让读者从概念上认识 C 语言;第二部分结合操作系统和体系结构的知识讲解程序的工作原理,让读者从本质上认识 C 语言。
) k6 S* M6 x% E# R& Z* E- ` X, j, K% Q* T, g3 S4 C) A( L) z
《一站式学习C编程》适合做零基础的初学者学习 C 语言的第一本教材,帮助读者打下牢固的基础。有一定的编程经验但知识体系不够完整的读者也可以对照《一站式学习C编程》查缺补漏,从而更深入地理解程序的工作原理。《一站式学习C编程》最初是为北京亚嵌教育研究中心的嵌入式 Linux 系统工程师就业班课程量身定做的教材之一,也适合作为高等院校程序设计基础课程的教材。《一站式学习C编程》对于 C 语言的语法介绍得非常全面,对 C99 标准做了很多解读,因此也可以作为一本精简的 C 语言语法参考书。- l8 d3 w& e2 b. G Q8 ^
! q; H. t* G$ M- ^9 r* w
目录:# w1 a* a# g1 |/ \, x0 Q
7 D! N7 t8 F/ X2 Q
3 d8 B* b( B/ @. Z/ ]7 a上篇 C语言入门* v4 q8 ~5 s! u7 V) ~2 t
8 y" L4 Z5 m( d, l第1章 程序的基本概念
7 F4 Z V* e+ t
4 H& Z! i$ l% T# J& D" ?# ?1.1 程序和编程语言6 I" @4 \! T0 _% W! \, m: u1 b8 J
1.2 自然语言和形式语言
; s; Z) f, |' P' a1.3 程序的调试% Z/ k7 q, o/ _4 W7 n. ?
1.4 第一个程序3 D' ?! q# d) n0 i2 g! {
4 I T" |: G: |! |6 t* l
第2章 常量、变量和表达式0 G& l! L% R. A, i; P+ K( U; p8 x
* A, R# R) }# [. j2.1 继续Hello World
- x8 y0 ` v$ |5 |) r2.2 常量- C, V% @4 r3 ], b
2.3 变量. N$ C+ I) a# o/ o
2.4 赋值- y! t6 j0 y) l: n
2.5 表达式5 s% e0 R% V" B; ~- e6 d. o5 y
2.6 字符类型与字符编码
/ U% X) ~9 }0 }* O. C. S
9 e, F, E- Z' P4 a1 d! i第3章 简单函数7 V8 G. D/ R' N% s
: q" U( J* g/ A0 q
3.1 数学函数
( l9 }1 z+ k$ k9 R( {. N8 ~4 B c# ^3.2 自定义函数
( o7 B5 {3 G0 f) V! X4 S3 b- p3.3 形参和实参
( m* t3 a7 ?. A3 s, Z2 {6 y5 v! ^+ Q3.4 全局变量、局部变量和作用域# E1 Y9 \6 {9 A: U. K
1 g( Y7 U6 @2 t1 a6 ~4 ~+ {# \$ @# U
第4章 分支语句
l. b5 M+ X# Y% E0 v
) z6 k& E% c5 h4.1 if语句
]9 P+ [0 a5 r7 r" o5 |4.2 if/else语句
4 p9 x8 d7 C- }3 f# Z. E4.3 布尔代数0 \/ u9 L" @" t, m' [# \! H3 ^
4.4 switch语句
! h8 r$ ` u" |: t U, W! X- {3 V! d# u T
第5章 深入理解函数
1 R3 f/ u* J- n6 [( F; p! ?0 b. u: q! I( ~4 b5 A9 @. ~+ D
5.1 return语句
1 g( p8 C+ i k% g& z# \5.2 增量式开发4 v( D! b# e, v! j m W3 A
5.3 递归
1 [, O% }( I; L+ U- S6 W5 k* m4 c9 F- c0 z' @
第6章 循环语句
% _& b4 S. Y$ U: @- [* I# @# r2 j
% R K- r$ c J8 S8 ^1 @1 V& b! b, z6.1 while语句
' ]6 _( e N d" p- d* _3 t0 }; I6.2 do/while语句
- d9 b+ z% C2 h6.3 for语句/ W3 @( R7 J- ^" M' b5 [ I
6.4 break和continue语句
5 n% @/ b7 Q3 u( v/ S; @ o! L6.5 嵌套循环
( `5 B6 a7 C" q, ]& [8 _. X6.6 goto语句和标号
5 ?! S! {! |! L' l4 l, ]9 I: X- o4 Y7 }% ^! Q5 e. K" Z
第7章 结构体) z5 p5 [! u# j
1 L* Y j3 ]0 p* s) Z( ]5 D7.1 复合类型与结构体2 ?, P; Z; L5 K; G9 I
7.2 数据抽象* `+ i9 _5 \% t: r, Q& D1 \
7.3 数据类型标志
$ M: L" O0 f/ }7.4 嵌套结构体 b5 V/ \3 K u: z* k
8 T+ A% \- a" L" y* z Q) a
第8章 数组
2 t6 _7 b" B/ j( s1 L; ~3 {2 z: K, h! @: z/ e0 `( q/ R8 ?
8.1 数组的基本概念
! C7 y7 C+ x. C$ N$ Q8.2 数组应用实例:统计随机数
( C( D8 P) Q# u7 c$ O% \5 ~8.3 数组应用实例:直方图
3 ~2 k5 a- Z# j3 e$ I3 j8.4 字符串# X: A/ A8 c$ X/ r. S5 M& u* e
8.5 多维数组& U) \8 S( z( d+ B/ J
8 S8 \1 H; r% V( F" I, k第9章 编码风格
/ e* J6 _) ?: I. T! z g
, _# [' _* q z' [: S, w" p0 \6 ^9.1 缩进和空白2 `; l# S: M# ~( C: j) P: x, N
9.2 注释( ?0 N& m. i* F
9.3 标识符命名1 u: ^" K' d9 I7 h3 e& L: H% C
9.4 函数$ I7 ^/ H+ y" Z- C1 ?5 {# a8 ]
9.5 indent工具
8 ?8 @+ i4 u1 G5 [% U* A7 L4 N7 [' j6 a/ m; @3 Q! C
第10章 gdb
; \/ q4 v& z! `, p" p( ^5 F5 M) Z9 b
10.1 单步执行和跟踪函数调用
5 H' o) p: s% c- q( L: Y$ _10.2 断点. ]/ v( p( V! H! {2 \& a% l4 D. y4 G
10.3 观察点. [, F( h. ~- R, ?& B; s/ _* ^( |
10.4 段错误* V: W) l4 V- @# x# @
1 d/ R2 \! z! M4 {第11章 排序与查找7 _7 C7 r7 m& c' d# _
* Z9 `# ~, k& z, B11.1 算法的概念) ~! M3 v6 }& ]7 o9 U% h3 e
11.2 插入排序- N4 Y. ]2 `, a1 Z) F0 x8 n
11.3 算法的时间复杂度分析; l0 o m5 V- Z8 m+ @7 b
11.4 归并排序
7 I0 W$ H, g7 t3 @' g% p5 I2 s) f l11.5 线性查找; Y" `( c1 [) S* A3 o
11.6 折半查找2 P) b$ o; u4 R/ b% ^ ~2 J
" M! U9 i4 q" J( w第12章 栈与队列1 t$ f/ l; A) k E1 F4 D
. B5 p( v- t* s' g
12.1 数据结构的概念
! G4 j- W% ~% R12.2 堆栈
& W$ e6 d \0 {9 W12.3 深度优先搜索
! V. V5 B M& g/ r, z12.4 队列与广度优先搜索
9 R) {6 V( c3 u; A+ o+ w12.5 环形队列3 v& [; c$ [# q9 }6 y0 Y$ m' W' e$ f
本阶段总结* H9 T7 c# K5 o
1 ~5 [ i3 d; \. \- V; ]1 N
下篇 C语言本质
! y1 ^# r2 g6 x% r& u" n2 e. k* Z+ k: r
第13章 计算机中数的表示
) R/ d. E6 J4 t8 M- M& \8 S' R3 x0 s$ A, O
13.1 为什么计算机用二进制计数
6 t8 H6 d/ I! s1 k' z% M13.2 不同进制之间的换算! v) ]4 L3 c* c i2 W8 |. ?0 B8 t
13.3 整数的加减运算
4 s7 i" f& r4 H" ?5 V& [0 ~13.3.1 Sign and Magnitude表示法
8 a1 g& |6 y$ [6 o; w2 s6 M, f+ N% O13.3.2 1's Complement表示法
5 I! e- I" N. j( }13.3.3 2's Complement表示法2 d/ A8 S2 u8 H' `5 B1 w) y+ H2 k1 L
13.3.4 有符号数和无符号数( t8 g* M: P3 Z2 O& o1 O3 {
13.4 浮点数
R% w; r1 g5 F7 M" b
5 u/ Q5 O3 L" D. F! V% M# R第14章 数据类型详解
: B7 h7 q3 [. J6 W
$ F- y( T6 ^# [' L% w, Y& _14.1 整型
# S- ]4 z* V/ @: d0 E* A14.2 浮点型 v$ v+ L. X! S7 D# n7 l( |# {
14.3 类型转换
! | l/ G# e# k* k Z+ k1 G! _14.3.1 Integer Promotion
+ N/ w2 @' v2 q( W& a' E14.3.2 Usual Arithmetic Conversion1 i* f$ q& n6 f5 H+ H G' O# J
14.3.3 由赋值产生的类型转换
0 y. S( c' ?. ?14.3.4 强制类型转换4 x5 t% g a. L- o
14.3.5 编译器如何处理类型转换
/ b8 H8 {7 G, A/ d
# j( G7 M. N2 x1 H% Y' r! B& g第15章 运算符详解
4 Q$ J3 ~4 y7 T% b8 G: E
9 u. V. W- x" x+ q E4 a1 E5 D0 a15.1 位运算
3 Q$ h2 M1 b& r15.1.1 按位与、或、异或、取反运算
9 v# a% a8 C9 m2 l+ G" c15.1.2 移位运算1 n# ^! I- Z" I( Z
15.1.3 掩码
! Y( l/ {# N8 E& k+ q+ i- m15.1.4 异或运算的一些特性
7 p: _: V6 H* T: H8 U z15.2 其他运算符7 V. q: ?. w- S( f* i" n" u) u
15.2.1 复合赋值运算符5 y. a, X- B: H- _) ]
15.2.2 条件运算符- G% U& K2 X, z( b: o2 C* d; x1 l6 y
15.2.3 逗号运算符
2 e- y3 F8 l H15.2.4 sizeof运算符与typedef类型声明
+ e+ j8 h- ?# ?* x! P( G+ I15.3 Side Effect与Sequence Point
/ M$ N& Z. S4 p( f/ W' _15.4 运算符总结
4 ~0 I* u" X6 q8 S( n9 Q
1 x: B7 g) H# g2 ]- [; C; N" g, o, P第16章 计算机体系结构基础2 o5 K: `; p) o! v0 r
2 {" T, R% l) |, n
16.1 内存与地址
1 f V; M; q1 t0 @/ b4 p @# R F16.2 CPU2 ?7 u/ C; q7 K! H/ ]: u
16.3 设备
8 @9 _( f8 F' \/ r: U( v# w+ B16.4 MMU
. [+ {- c& Z( S' w- v- ~1 L: E16.5 Memory Hierarchy
9 o+ F4 w2 |" c5 \$ `5 @+ m5 d4 R/ I! [/ b( M9 \3 T$ }
第17章 x86汇编程序基础
; |3 c0 {& h! g: O, c* |* i
% F& {1 ^3 @. \" P+ C5 y17.1 最简单的汇编程序
, }/ f7 I& _: X# M% r# b$ r17.2 x86的寄存器
+ x& e/ K. h$ ?, x4 r! A4 f; ]$ ^3 U" g' L17.3 第二个汇编程序( H3 \! L" v5 [, B! Y6 J
17.4 寻址方式
: y$ M! e, \' G) U- P; J& T# C17.5 ELF文件/ @* y% M. c- q8 E+ q1 ^
17.5.1 目标文件
6 Z! F# G7 }& j0 q8 ^. S) b" T6 S3 E17.5.2 可执行文件
3 M3 ?0 S* I/ z! m) A/ U
& C' S7 h% \6 ^& X2 E" K P第18章 汇编与C之间的关系
6 H' j5 D, _3 N9 d0 H( q9 S. [0 _! ~3 b3 R% _4 Z
18.1 函数调用$ N# v% a& @$ c3 M. T& c' C4 r
18.2 main函数、启动例程和退出状态
. Z$ S- x, K. X0 X- `6 C18.3 变量的存储布局& K; A: Q' }% o4 C. O* Q z
18.4 结构体和联合体; ~4 R. ~6 M/ K9 F$ O
18.5 C内联汇编* e, h6 z/ G) v
18.6 volatile限定符, K5 _5 R# i) D! T3 u) X7 T( B
( S$ G4 U7 m6 A. V第19章 链接详解9 o4 D1 r- W2 h! c* P2 s
4 x$ t. U+ y* n+ ?" X2 R) q; k
19.1 多目标文件的链接; n, Y7 ^% Y* _
19.2 定义和声明
( L+ w) x# M( L3 K4 a19.2.1 extern和static关键字
: M" [$ H4 \; V- n! [) c: r19.2.2 头文件3 N5 {3 k. \8 C0 f: V+ b
19.2.3 定义和声明的详细规则# N8 z' H0 P8 w" u/ t9 C) X
19.3 静态库
: E: K) o5 M8 h; U, q$ B19.4 共享库
& _, }0 w7 X4 z0 H) K1 I h19.4.1 编译、链接、运行
% z7 ?! e; O: s+ x. E6 }19.4.2 函数的动态链接过程
' }% R" ]' B1 W2 v1 s! N19.4.3 共享库的命名惯例
( ~ \4 H: M# _% E- n8 {19.5 虚拟内存管理( \& Q) o8 A) E4 p" E6 ]/ h4 M7 I+ j
/ U/ N$ o2 p& Y/ g8 ]
第20章 预处理6 ^3 r8 Y/ @. r+ ]
" v! l( A; n9 K
20.1 预处理的步骤! |2 K& a) a5 R/ F
20.2 宏定义- D3 O8 t U/ y: X/ \& B' X+ @0 i6 U
20.2.1 函数式宏定义
8 `% ^; ~3 w9 h% }! C0 E# ~7 ?20.2.2 内联函数
. z! z& V* n m Y4 _- q20.2.3 #、##运算符和可变参数
2 l( y" u) R: y20.2.4 #undef预处理指示- c" \, U0 n" u# t; q% w8 e
20.2.5 宏展开的步骤
( \" Q; J2 e' C# U3 \5 e20.3 条件预处理指示# g3 p4 D5 M* M* }& m( P$ ^9 y, L
20.4 其他预处理特性
) ]. S$ ^5 q L, U! d, X
- Y) Z( V |5 T: v! `( m \: C第21章 Makefile基础' C+ T% y6 t% ]( X6 \
7 p7 s0 M. Y' T# T
21.1 基本规则( t6 f/ s2 I; [+ y3 x' s
21.2 隐含规则和模式规则+ m7 W; y* P9 z2 n) ^: r9 @
21.3 变量
" M* g8 l, L K4 O5 m8 {- L) i21.4 自动处理头文件的依赖关系
. F6 R& e |. C- E1 N/ _1 g# z21.5 常用的make命令行选项
. f4 T l+ j% v5 p8 J
9 f8 u* p% F; {1 H8 n. o _第22章 指针0 c% m2 J3 S1 `
- ^: r" ^% W' u; Y) e! x
22.1 指针的基本概念
4 j! L& U9 C; V9 l22.2 指针类型的参数和返回值
8 T' {# H# s- @) G+ a3 V/ C22.3 指针与数组7 H( |+ g: L) O+ N* k: \, ?! g& {
22.4 指针与const限定符; y/ e% z5 f8 Y6 C5 O Z4 r
22.5 指针与结构体
* Q: x- B, [2 {! r8 n- h22.6 指向指针的指针与指针数组
6 Z0 b* t% A& n22.7 指向数组的指针与多维数组/ m, T' [* R* {
22.8 函数类型和函数指针类型0 Q8 T, c5 r. Z# j$ m
22.9 不完全类型和复杂声明8 i# _; A, F0 l [# j# }
$ L- K, \( ]6 b* y
第23章 函数接口
) F9 v. I! [; F; j9 U$ Y
8 q! \7 E+ Q" c" V z6 t5 `23.1 本章的预备知识7 Q0 M: l" S2 q. g( G s
23.1.1 strcpy与strncpy# w$ j j2 |. m- w
23.1.2 malloc与free
; R8 m! o$ L4 _/ c& s, h% e23.2 传入参数与传出参数
( u3 l2 g4 U: M6 x+ Y0 n0 F0 o: J23.3 两层指针的参数# [' J2 Q2 F5 E' V
23.4 返回值是指针的情况
4 W0 X J" j8 d. r$ N23.5 回调函数
6 T: l/ d/ r# e3 x+ v& M0 q7 S23.6 可变参数9 f; b2 w/ B7 g7 c2 O/ o
: t0 _5 V# N3 w第24章 C标准库% E) I3 X) Y' v- G: R5 `8 M
6 }' `, s! o% b6 h u
24.1 字符串操作函数8 b: ?- X, o) s( b
24.1.1 给字符串赋初值" `/ h6 a' M; v
24.1.2 取字符串的长度
( Y, y, w/ m/ b0 P5 l! a; f24.1.3 拷贝字符串( d5 I2 {8 p7 k; L/ r& u- @7 q5 F
24.1.4 连接字符串
( c5 L, g! d( D& Y" l# K24.1.5 比较字符串
( J e0 f$ [ \+ ]) w24.1.6 搜索字符串
8 X. \ u" t+ E4 l* ]+ U* [24.1.7 分割字符串5 b+ y: E( A4 n/ d
24.2 标准I/O库函数' f1 y% ?$ x4 A" Y
24.2.1 文件的基本概念
; o c# h( C( ~& B+ e: A24.2.2 fopen/fclose
% j2 Z) U+ c( {6 n1 I; B) u. k24.2.3 stdin/stdout/stderr
8 o5 O* @1 P/ B5 [, F9 ^8 G% M, `0 H24.2.4 errno与perror/strerror函数
9 x# I8 @7 \3 }7 n7 S3 @7 Q; l% l24.2.5 以字节为单位的I/O函数
6 B. w$ N K/ X8 l% B. c24.2.6 操作读写位置的函数
% x8 v6 [" U8 ~2 S* P9 R1 N24.2.7 以字符串为单位的I/O函数0 }; D b- B9 C. r
24.2.8 以记录为单位的I/O函数
+ x9 w8 |& X) V& Z4 R+ b" S+ |" ]24.2.9 格式化I/O函数3 M- b9 s$ a5 Z, N
24.2.10 C标准库的I/O缓冲区
9 m7 o$ o9 H: t! ^9 L/ ~24.2.11 本节综合练习
& l- i! Z' {2 R/ J# f) d24.3 数值字符串转换函数* w: `9 U4 a, ?6 S/ x6 r
24.4 分配内存的函数, \, l8 y9 f* |5 ]: |$ E4 z" ]
7 V- w# ~0 d: R4 ? ^7 w4 s第25章 链表、二叉树和哈希表
5 u( P! }0 Q1 ^% \9 r3 n8 {9 p \! G& K3 ?$ V2 t, p. |" o
25.1 链表
p+ R4 r$ W$ f5 v25.1.1 单链表
4 ?7 x5 M h, j& n5 C/ J25.1.2 双向链表7 \ G% x3 j5 e; u
25.1.3 静态链表) T0 J& V3 G8 T) W$ ~2 y
25.1.4 本节综合练习; _" w: b2 p4 x" h2 T- N5 C
25.2 二叉树
5 z% X. ?4 n; S7 v4 M25.2.1 二叉树的基本概念% P" D" y6 U; m7 p' ]2 N( x
25.2.2 排序二叉树7 n. P7 T- F( J# Q' o0 c, i: O
25.3 哈希表- q7 ~1 u5 p4 I, _, B
本阶段总结
: N; \6 Z1 x1 s
$ ^- f2 g% Z3 c, m5 [/ N附录A 字符编码. |9 S# t: n- c" y, C
& v( R* T$ a& H R/ Z9 H- n- z* \
索引
8 W; d; H% l7 L6 u& k& J+ t% v0 g
参考文献
s; ]& S0 G( [9 j2 o# I
% M3 `2 o U, A- a$ N/ e, I8 L8 c0 @ N7 z m
|
|