C语言程序设计
暂无封面,等待上传

C语言程序设计

(美) 寇肯 (Kochan,S.G.) , 著

出版社:电子工业出版社

年代:2015

定价:108.0

书籍简介:

《C语言程序设计(第4版)》这本书全面介绍了C语言的各种特性,包括C11中增加的内容。本书中包含了大量完整的示例及详细的讲解。无论读者是否拥有编程经验,都可以通过阅读本书,透彻地理解C语言。本书每章的最后都附有习题,便于课堂学习或自学。

作者介绍:

贾洪峰 ,职称:工程师,是某大学计算机新科学系的讲师,他长期钻研编程语言与程序设计,目前为止,他已有多本翻译著作问世。

书籍目录:

前言 1

1 基础知识 5

程序设计 5

高级语言 6

操作系统 7

编译程序 7

集成开发环境 10

语言解释器 11

2 编译和运行第一个程序 13

编译程序 14

运行程序 14

理解第一个程序 15

显示变量的值 17

注释 19

练习 21

3 变量、数据类型和算术表达式 23

理解数据类型和常量 23

整数类型int 24

浮点数值类型float 25

扩展精度类型double 26

单字符类型char 26

布尔数据类型_Bool 27

类型说明符:long、long long、short、unsigned和signed 28

使用变量 31

使用算术表达式 33

整数算术及一元减运算符 36

运算与赋值相结合:赋值运算符 42

_Complex和_Imaginary类型 43

练习 43

4 程序循环 45

三角数 45

for语句 46

关系运算符 48

输出的对齐 52

程序输入 53

嵌套for循环 55

for循环的变体 57

while语句 59

do语句 63

break语句 65

continue语句 65

练习 66

5 做出决策 69

if语句 69

if-else构造 73

复合关系测试 76

嵌套if语句 79

else if构造 81

switch语句 88

布尔变量 91

条件运算符 96

练习 97

6 使用数组 101

定义数组 102

以数组元素为计数器 106

生成斐波那契数 109

用数组生成质数 111

初始化数组 113

字符数组 115

使用数组的基数变换 116

const限定符 118

多维数组 120

变长数组 122

练习 124

7 使用函数 127

定义函数 127

参数和局部变量 131

函数原型声明 132

自动局部变量 132

返回函数结果 134

函数调用 139

声明返回类型和参数类型 142

检查函数参数 144

自上而下的程序设计 146

函数与数组 146

赋值运算符 151

数组排序 152

多维数组 155

全局变量 161

自动变量与静态变量 165

递归函数 168

练习 171

8 使用结构体 175

结构体的基础知识 175

用于存储日期的结构体 176

在表达式中使用结构体 178

函数与结构体 181

用于存储时间的结构体 187

初始化结构体 190

复合字面量 191

结构体的数组 192

包含结构体的结构体 196

包含数组的结构体 198

结构体变体 202

练习 203

9 字符串 205

复习字符串的基础知识 205

字符数组 206

变长字符串 209

字符串的初始化与显示 211

判断两个字符串是否相等 214

输入字符串 216

单字符输入 219

空字符串 224

转义字符 228

再论常量字符串 230

字符串、结构体和数组 231

一种更好的搜索方法 235

字符操作 240

练习 243

10 指针 247

指针和间接性 247

定义指针变量 248

在表达式中使用指针 252

使用指针和结构体 253

包含指针的结构体 256

链表 258

关键字const和指针 266

指针和函数 267

指针和数组 273

稍许离题:程序优化 277

是数组还是指针? 278

指向字符串的指针 280

常量字符串和指针 282

递增和递减运算符回顾 283

指针操作 287

指向函数的指针 288

指针和内存地址 289

练习 291

11 位运算 295

位的基础知识 295

位运算符 297

按位与运算符 297

按位或运算符 300

按位异或运算符 301

二进制求补运算符 301

左移运算符 304

右移运算符 304

移位函数 305

循环移位 307

位段 309

练习 314

12 预处理器 317

#define语句 317

程序可扩展性 322

程序可移植性 323

更高级的定义类型 324

#运算符 330

##运算符 331

#include语句 332

系统包含文件 335

条件编译 335

#ifdef、#endif、#else和#ifndef语句 336

#if和#elif预处理器语句 338

#undef语句 339

练习 339

13 用枚举数据类型、类型定义和数据类型转换扩展数据类型 341

枚举数据类型 341

typedef语句 345

数据类型转换 348

符号扩展 350

参数转换 350

练习 351

14 处理大型程序 353

将程序分为多个文件 353

由命令行编译多个源文件 354

模块之间的通信 356

外部变量 357

静态、动态变量与函数 359

有效使用头文件 362

其他处理大型程序的实用工具 364

make实用工具 364

cvs实用工具 366

Unix实用工具:ar、grep、sed等 366

15 C语言中的输入与输出操作 369

字符I/O:getchar()和putchar() 369

格式化I/O:printf()和scanf() 370

printf()函数 370

scanf()函数 377

文件输入与输出操作 382

将I/O重定向到文件 382

文件尾 385

处理文件的特殊函数 386

fopen函数 387

getc()和putc()函数 389

fclose()函数 389

feof函数 391

fprintf()和fscanf()函数 392

fgets()和fputs()函数 392

stdin、stdout和stderr 393

exit()函数 394

重命名和删除文件 395

练习 396

16 其他及高级特性 397

其他语言语句 397

goto语句 397

空语句 398

使用联合体 399

逗号运算符 402

类型限定符 403

register限定符 403

volatile限定符 403

restrict限定符 404

命令行参数 404

动态内存分配 408

calloc()和malloc()函数 409

sizeof运算符 410

free函数 413

练习 414

17 调试程序 415

用预处理器调试 415

用gdb调试程序 422

处理变量 425

源文件显示 426

控制程序的执行 427

获得栈轨迹 432

调试函数,设置数组和结构体 432

用gdb命令获取帮助 433

杂项 435

18 面向对象程序设计 437

到底什么是对象? 437

实例与方法 438

编写一个处理分数的C程序 440

定义一个处理分数的Objective-C类 441

定义一个处理分数的C++类 446

定义一个处理分数的C#类 448

附录A C语言概要 453

1.0 双字符组和标识符 453

2.0 注释 454

3.0 常量 455

4.0 数据类型和声明 458

5.0 表达式 469

6.0 存储类和作用域 482

7.0 函数 483

8.0 语句 486

9.0 预处理器 490

附录B 标准C语言库 497

标准头文件 497

字符串函数 500

内存函数 502

字符函数 503

I/O函数 503

内存中的格式转换函数 509

字符串转换为数字 510

动态内存分配函数 512

数学函数 513

复数运算 519

通用函数 521

附录C 用gcc编译程序 525

通用命令格式 525

命令行选项 526

附录D 常见编程错误 527

附录E 资源 533

C程序设计语言 533

C编译器和集成开发环境 534

其他 535目录

前言 1

1 基础知识 5

程序设计 5

高级语言 6

操作系统 7

编译程序 7

集成开发环境 10

语言解释器 11

2 编译和运行第一个程序 13

编译程序 14

运行程序 14

理解第一个程序 15

显示变量的值 17

注释 19

练习 21

3 变量、数据类型和算术表达式 23

理解数据类型和常量 23

整数类型int 24

浮点数值类型float 25

扩展精度类型double 26

单字符类型char 26

布尔数据类型_Bool 27

类型说明符:long、long long、short、unsigned和signed 28

使用变量 31

使用算术表达式 33

整数算术及一元减运算符 36

运算与赋值相结合:赋值运算符 42

_Complex和_Imaginary类型 43

练习 43

4 程序循环 45

三角数 45

for语句 46

关系运算符 48

输出的对齐 52

程序输入 53

嵌套for循环 55

for循环的变体 57

while语句 59

do语句 63

break语句 65

continue语句 65

练习 66

5 做出决策 69

if语句 69

if-else构造 73

复合关系测试 76

嵌套if语句 79

else if构造 81

switch语句 88

布尔变量 91

条件运算符 96

练习 97

6 使用数组 101

定义数组 102

以数组元素为计数器 106

生成斐波那契数 109

用数组生成质数 111

初始化数组 113

字符数组 115

使用数组的基数变换 116

const限定符 118

多维数组 120

变长数组 122

练习 124

7 使用函数 127

定义函数 127

参数和局部变量 131

函数原型声明 132

自动局部变量 132

返回函数结果 134

函数调用 139

声明返回类型和参数类型 142

检查函数参数 144

自上而下的程序设计 146

函数与数组 146

赋值运算符 151

数组排序 152

多维数组 155

全局变量 161

自动变量与静态变量 165

递归函数 168

练习 171

8 使用结构体 175

结构体的基础知识 175

用于存储日期的结构体 176

在表达式中使用结构体 178

函数与结构体 181

用于存储时间的结构体 187

初始化结构体 190

复合字面量 191

结构体的数组 192

包含结构体的结构体 196

包含数组的结构体 198

结构体变体 202

练习 203

9 字符串 205

复习字符串的基础知识 205

字符数组 206

变长字符串 209

字符串的初始化与显示 211

判断两个字符串是否相等 214

输入字符串 216

单字符输入 219

空字符串 224

转义字符 228

再论常量字符串 230

字符串、结构体和数组 231

一种更好的搜索方法 235

字符操作 240

练习 243

10 指针 247

指针和间接性 247

定义指针变量 248

在表达式中使用指针 252

使用指针和结构体 253

包含指针的结构体 256

链表 258

关键字const和指针 266

指针和函数 267

指针和数组 273

稍许离题:程序优化 277

是数组还是指针? 278

指向字符串的指针 280

常量字符串和指针 282

递增和递减运算符回顾 283

指针操作 287

指向函数的指针 288

指针和内存地址 289

练习 291

11 位运算 295

位的基础知识 295

位运算符 297

按位与运算符 297

按位或运算符 300

按位异或运算符 301

二进制求补运算符 301

左移运算符 304

右移运算符 304

移位函数 305

循环移位 307

位段 309

练习 314

12 预处理器 317

#define语句 317

程序可扩展性 322

程序可移植性 323

更高级的定义类型 324

#运算符 330

##运算符 331

#include语句 332

系统包含文件 335

条件编译 335

#ifdef、#endif、#else和#ifndef语句 336

#if和#elif预处理器语句 338

#undef语句 339

练习 339

13 用枚举数据类型、类型定义和数据类型转换扩展数据类型 341

枚举数据类型 341

typedef语句 345

数据类型转换 348

符号扩展 350

参数转换 350

练习 351

14 处理大型程序 353

将程序分为多个文件 353

由命令行编译多个源文件 354

模块之间的通信 356

外部变量 357

静态、动态变量与函数 359

有效使用头文件 362

其他处理大型程序的实用工具 364

make实用工具 364

cvs实用工具 366

Unix实用工具:ar、grep、sed等 366

15 C语言中的输入与输出操作 369

字符I/O:getchar()和putchar() 369

格式化I/O:printf()和scanf() 370

printf()函数 370

scanf()函数 377

文件输入与输出操作 382

将I/O重定向到文件 382

文件尾 385

处理文件的特殊函数 386

fopen函数 387

getc()和putc()函数 389

fclose()函数 389

feof函数 391

fprintf()和fscanf()函数 392

fgets()和fputs()函数 392

stdin、stdout和stderr 393

exit()函数 394

重命名和删除文件 395

练习 396

16 其他及高级特性 397

其他语言语句 397

goto语句 397

空语句 398

使用联合体 399

逗号运算符 402

类型限定符 403

register限定符 403

volatile限定符 403

restrict限定符 404

命令行参数 404

动态内存分配 408

calloc()和malloc()函数 409

sizeof运算符 410

free函数 413

练习 414

17 调试程序 415

用预处理器调试 415

用gdb调试程序 422

处理变量 425

源文件显示 426

控制程序的执行 427

获得栈轨迹 432

调试函数,设置数组和结构体 432

用gdb命令获取帮助 433

杂项 435

18 面向对象程序设计 437

到底什么是对象? 437

实例与方法 438

编写一个处理分数的C程序 440

定义一个处理分数的Objective-C类 441

定义一个处理分数的C++类 446

定义一个处理分数的C#类 448

附录A C语言概要 453

1.0 双字符组和标识符 453

2.0 注释 454

3.0 常量 455

4.0 数据类型和声明 458

5.0 表达式 469

6.0 存储类和作用域 482

7.0 函数 483

8.0 语句 486

9.0 预处理器 490

附录B 标准C语言库 497

标准头文件 497

字符串函数 500

内存函数 502

字符函数 503

I/O函数 503

内存中的格式转换函数 509

字符串转换为数字 510

动态内存分配函数 512

数学函数 513

复数运算 519

通用函数 521

附录C 用gcc编译程序 525

通用命令格式 525

命令行选项 526

附录D 常见编程错误 527

附录E 资源 533

C程序设计语言 533

C编译器和集成开发环境 534

其他 535

内容摘要:

《C语言程序设计(第4版)》全面介绍了C语言的各种特性,包括C11中增加的内容。书中包含大量完整的示例及详细的讲解。论是否拥有编程经验,你都可以通过本书透彻地理解C语言。每章最后附有习题,便于课堂学习或自学。

编辑推荐:

适读人群 :论是否拥有编程经验,你都可以通过本书透彻地理解C语言。


  《C语言程序设计(第4版)》将向你讲解如何使用C程序设计语言来编写程序。无论是新入门的初级程序员,还是经验丰富的资深程序员,都可以在本书的帮助下透彻理解这门语言,它是许多面向对象程序设计语言的基础,比如C++、Objective-C、C#和Java。
  《C语言程序设计(第4版)》通过示例来教授C语言,每个新概念都有完整的C程序做演示。作者寇肯逐步解释了所有C函数。你不仅可以学习这门语言的基础知识,还能养成良好的程序设计习惯。每章最后的习题使本书非常适于课堂学习或自学。
  《C语言程序设计(第4版)》涵盖了C语言的所有特性,包括C11标准中新增加的内容。附录中详尽总结了C语言和C语言库,两者的组织形式都便于快速参考。

书籍规格:

书籍详细信息
书名C语言程序设计站内查询相似图书
9787121258886
如需购买下载《C语言程序设计》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位电子工业出版社
版次1版印次1
定价(元)108.0语种简体中文
尺寸23 × 17装帧平装
页数印数

书籍信息归属:

C语言程序设计是电子工业出版社于2015.5出版的中图分类号为 TP312 的主题关于 C语言-程序设计 的书籍。