C语言入门与提高

副标题:无

作   者:陈锐,陈亚民,扶晓编著

分类号:

ISBN:9787894991409

微信扫一扫,移动浏览光盘

简介

   C语言是计算机专业的基础课和核心课程。本手册内容全面,结构清晰   ,语言通俗,重难点突出,所有程序都能够直接运行。本手册内容包括C语   言概述、常用的程序开发环境、基本数据类型、表达式、顺序结构程序设   计、选择结构程序设计、循环结构程序设计、数组、函数、预处理命令、   指针、结构图与联合体、位运算、文件、链表。    本手册可作为大中专院校的计算机及相关专业的C语言教材,也可作为   计算机软件开发、等级考试和软考人员的参考书。    本光盘为15个多小时的视频教学、PPT电子课件、实例源代码与习题答   案。   

目录

《c语言入门与提高(1dvd)cx-95897》

第1篇 起步篇

第1章 c语言概述 1

1.1 为什么要学习c语言 1

1.1.1 学习c语言的好处 1

1.1.2 如何学好c语言 3

1.2 c语言的特点 3

1.3 程序设计基础 4

1.3.1 十进制数的表示 4

1.3.2 二进制数的表示 4

1.3.3 二进制数、十六进制数和八进制数转换为十进制数 5

1.3.4 十进制数转换为二进制数 6

1.3.5 十进制数转换为十六进制数 8

1.3.6 十进制数转换为八进制数 9

1.3.7 二进制数与十六进制数、八进制数的转换 10

1.3.8 计算机中的加减运算 11

1.4 小结 13

第2章 c语言的开发环境 14

2.1 turbo c 2.0开发环境介绍 14

2.1.1 运行turbo c 2.0 14

.2.1.2 turbo c 2.0环境设置 15

2.1.3 turbo c 2.0的使用 16

2.2 win-tc开发环境介绍 18

2.2.1 win-tc开发环境介绍 19

2.2.2 win-tc的使用 20

2.3 lcc开发环境介绍 21

2.3.1 使用lcc开发环境创建项目 21

2.3.2 lcc开发环境的介绍 23

2.3.3 lcc的使用 24

2.4 visual c++ 6.0开发环境介绍 24

2.4.1 使用visual c++ 6.0新建项目 25

2.4.2 使用visual c++ 6.0新建源程序文件 26

2.4.3 使用visual c++ 6.0开发环境 27

2.5 小结 28

第2篇 基础篇

第3章 变量和常量 29

3.1 变量 29

3.1.1 为什么要使用变量 29

3.1.2 变量究竟是什么——变量在计算机中的表示 30

3.1.3 如何定义变量 30

3.1.4 为什么要有数据类型 30

3.1.5 c语言有哪些数据类型 31

3.1.6 什么符号可以作为变量名——用户定义的标识符 33

3.1.7 关键字──已经被占用的标识符 33

3.1.8 初识变量赋值 34

3.2 整型变量 34

3.2.1 为什么要使用整型变量 35

3.2.2 基本整型变量 35

3.2.3 基本整型变量的输入──使用scanf函数 36

3.2.4 基本整型变量的输出──使用printf函数 37

3.2.5 长整型变量——解决大整数问题 38

3.2.6 短整型变量——节省内存空间 40

3.2.7 无符号整型变量——只包括非负的整数 41

3.2.8 整型变量的应用举例 42

3.3 实型变量 44

3.3.1 为什么使用实型变量 45

3.3.2 单精度浮点型变量 45

3.3.3 双精度浮点型变量 47

3.3.4 长双精度浮点型变量 49

3.3.5 实型变量的应用 49

3.4 字符型数据类型 51

3.4.1 为什么要使用字符型变量 51

3.4.2 字符型变量 51

3.4.3 字符型数据的输入与输出──使用%c和%s 52

3.4.4 字符型变量的应用 53

3.5 常量 55

3.5.1 为什么使用常量 55

3.5.2 整型常量 56

3.5.3 实型常量 56

3.5.4 字符型常量与字符串型常量 56

3.5.5 常量与常数 57

3.6 小结 57

习题 57

第4章 运算符与表达式 59

4.1 表达式 59

4.1.1 运算符有哪些 59

4.1.2 什么是表达式 60

4.1.3 运算符的优先级与结合性 60

4.1.4 数据类型转换 61

4.2 算术运算符与算术表达式 62

4.2.1 基本算术表达式 62

4.2.2 自增表达式──++a和a++ 64

4.2.3 自减表达式──--a和a-- 66

4.2.4 算术运算符的混合运算──算术运算符的优先级与结合性 68

4.2.5 算术表达式的应用 69

4.3 赋值运算符与赋值表达式 71

4.3.1 赋值运算符与赋值表达式 71

4.3.2 类型转换 74

4.3.3 赋值表达式的应用 76

4.4 关系运算符与关系表达式 77

4.4.1 关系运算符与关系表达式 77

4.4.2 关系表达式的应用 79

4.5 逻辑运算符与逻辑表达式 79

4.5.1 逻辑运算符与逻辑表达式 80

4.5.2 逻辑表达式的应用 81

4.6 逗号表达式 83

4.6.1 逗号运算符与逗号表达式 83

4.6.2 逗号表达式中应注意的问题 83

4.6.3 逗号表达式的应用 84

4.7 小结 84

习题 84

第5章 顺序结构程序设计 86

5.1 语句和程序 86

5.1.1 什么是简单语句 86

5.1.2 为什么使用复合语句 87

5.1.3 什么是复合语句 88

5.1.4 使用复合语句应注意的问题 89

5.1.5 为什么要有程序 90

5.1.6 c语言程序的框架结构 90

5.2 顺序结构程序设计 91

5.2.1 顺序结构程序设计的特点──自上而下执行每条语句 91

5.2.2 顺序结构程序设计(一)──求圆的面积 92

5.2.3 顺序结构程序(二)──求一元二次方程ax2+bx+c=0的根 94

5.2.4 顺序结构程序设计(三)──将小写字母转换为大写字母 95

5.3 小结 97

习题 97

第6章 选择结构程序设计 98

6.1 条件运算符 98

6.1.1 为什么要有条件运算符 98

6.1.2 条件运算符与条件表达式 99

6.2 if选择语句 102

6.2.1 为什么要有if选择语句──理解容易 102

6.2.2 if选择语句──单分支的选择结构 102

6.2.3 if-else选择语句──双分支的选择结构 106

6.2.4 if-else if-…-else选择语句──多分支选择结构 108

6.2.5 if选择语句的嵌套 112

6.2.6 设置标志变量 116

6.2.7 if选择语句与选择运算符──相互转换 117

6.3 switch选择语句 118

6.3.1 switch选择语句 118

6.3.2 switch选择语句的应用 119

6.4 选择结构程序设计的应用 125

6.5 小结 133

习题 133

第7章 循环结构程序设计 134

7.1 为什么要有循环结构 134

7.1.1 如何重复输出多个hello world──使用循环可以少输入代码 134

7.1.2 如何求连续的n个自然数的和──循环代码可以重复使用 135

7.2 while循环语句 136

7.2.1 while循环语句──当型循环 136

7.2.2 while循环语句的应用 138

7.3 do-while循环语句 139

7.3.1 为什么要有do-while 139

7.3.2 do-while循环语句──直到型循环 139

7.3.3 比较while循环结构和do-while循环结构 141

7.4 for循环语句 144

7.4.1 for循环语句 144

7.4.2 for循环语句的灵活性 147

7.4.3 几种循环语句的比较 152

7.5 goto循环语句 153

7.5.1 goto语句──无条件转移语句 153

7.5.2 goto语句构成的循环语句──向前跳转 153

7.5.3 goto语句是一种不常用的结构──与while语句、for语句的比较 154

7.6 break语句 156

7.6.1 循环中的“提前开溜” 156

7.6.2 break语句 156

7.7 continue语句 157

7.7.1 为什么要有continue语句 157

7.7.2 continue语句 158

7.7.3 continue语句与break语句的区别 159

7.7.4 continue语句的应用 160

7.8 多重循环程序设计 161

7.8.1 为什么要有循环的嵌套──一层循环是不能解决所有问题的 161

7.8.2 循环的嵌套──循环结构中还可以有循环结构 162

7.8.3 多重循环的应用──输出乘法口诀表 163

7.9 循环结构程序应用举例 166

7.9.1 循环结构程序(一)──求 的近似值 166

7.9.2 循环结构程序(二)──求100~200之间的所有质数 169

7.9.3 循环结构程序(三)──求100~200之间的所有质数的改进 171

7.9.4 循环结构程序(四)──百鸡问题 172

7.10 小结 174

习题 174

第3篇 进阶篇

第8章 数组 175

8.1 为什么要有数组 175

8.1.1 多变量的解决之路——数组的引入 175

8.1.2 初识数组 176

8.1.3 数组的数组──维度的出现 177

8.2 一维数组 179

8.2.1 一维数组的定义 179

8.2.2 一维数组的引用──其实很简单 181

8.2.3 一维数组的初始化──方法有许多 182

8.2.4 一维数组的应用举例──求数组各元素的平均值 183

8.2.5 一维数组的应用──数组元素的倒排 185

8.2.6 一维数组的应用──冒泡排序 187

8.3 二维数组 190

8.3.1 二维数组的定义 190

8.3.2 二维数组的引用──其实并不难 191

8.3.3 二维数组的初始化──多样的初始化 192

8.3.4 二维数组的应用──计算各科成绩的平均分 195

8.3.5 二维数组的应用──矩阵的转置 196

8.3.6 二维数组的应用──有趣的魔方阵 198

8.4 字符数组 201

8.4.1 字符数组的定义 201

8.4.2 字符数组的初始化 202

8.4.3 字符数组的连续输出──格式符%s 205

8.4.4 字符数组的连续输入──格式符%s 205

8.4.5 常用的字符串处理函数 206

8.4.6 字符数组的应用 210

8.5 小结 213

习题 214

第9章 函数 215

9.1 函数及分类 215

9.1.1 为什么要有函数 215

9.1.2 函数有哪些──库函数与用户函数 216

9.2 函数的定义形式 217

9.2.1 不带参数函数的定义 217

9.2.2 带参数函数的定义──有参数列表 218

9.2.3 带参数函数的定义──形参定义的传统方式 218

9.3 局部变量与全局变量 219

9.3.1 局部变量 219

9.3.2 全局变量 221

9.4 函数的参数与函数的值 223

9.4.1 形式参数与实际参数 223

9.4.2 函数的返回值 225

9.5 函数的调用 228

9.5.1 函数调用的一般形式 228

9.5.2 函数调用的方式 230

9.5.3 对被调用函数的声明 230

9.6 函数的嵌套调用 233

9.6.1 函数的嵌套调用过程 233

9.6.2 函数的嵌套应用──求1~n自然数的k次方之和 234

9.7 函数的递归调用 235

9.7.1 什么是递归──自己调用自己 235

9.7.2 递归函数的应用──求n! 236

9.7.3 递归函数调用的应用──fibonacci数列 238

9.8 数组作为函数的参数 239

9.8.1 数组元素作为函数的参数──只能传递一个数组元素 239

9.8.2 数组名作为函数的参数──可以传递整个数组 241

9.8.3 数组名作为参数传递──传递的是数组的首地址 244

9.8.4 多维数组名作为函数的参数──传递整个数组 247

9.9 变量的存储 250

9.9.1 什么是动态存储与静态存储──生存期不同 250

9.9.2 auto变量──自动类型变量 250

9.9.3 static变量──静态变量 250

9.9.4 register变量──使运行速度更快的变量 253

9.9.5 extern变量──声明外部变量 254

9.10 内部函数与外部函数 256

9.10.1 内部函数──使用static 256

9.10.2 外部函数──使用extern 257

9.11 函数应用举例 258

9.11.1 函数应用──递归求解n个数的最大值 258

9.11.2 函数应用──递归求解a与b的最大公约数 260

9.11.3 函数应用──字符数组元素逆序存放 261

9.12 小结 262

习题 262

第10章 预处理命令 263

10.1 宏定义 263

10.1.1 为什么要有宏定义 263

10.1.2 不带参数的宏定义 264

10.1.3 宏定义与常量定义的区别 265

10.1.4 带参数的宏定义 265

10.1.5 宏定义中参数与函数参数的区别 266

10.2 文件包含命令 268

10.2.1 为什么要有文件包含命令 268

10.2.2 文件包含命令──#include 268

10.3 条件编译 270

10.3.1 第一种条件编译命令──#ifdef 270

10.3.2 第二种条件编译命令──#ifdef…#elif…#endif 272

10.3.3 第三种条件编译命令──#ifndef 273

10.3.4 第四种条件编译命令──#if 274

10.4 小结 274

习题 275

第11章 指针 276

11.1 指针的相关概念 276

11.1.1 为什么要有指针和指针变量 276

11.1.2 什么是地址 276

11.1.3 什么是指针变量──存放地址的变量 277

11.2 指针变量 278

11.2.1 定义指针变量 278

11.2.2 使用指针变量 280

11.2.3 指针变量作为函数参数 283

11.3 数组与指针 287

11.3.1 指向数组元素的指针 287

11.3.2 通过指针引用数组元素 288

11.3.3 指针变量的自增运算和自减运算 292

11.3.4 数组指针作为函数的参数 292

11.3.5 指向多维数组的指针变量 298

11.4 字符串与指针 304

11.4.1 指向字符串的指针变量 304

11.4.2 字符串指针作为函数的参数 310

11.4.3 字符数组与字符指针变量的比较 313

11.5 指针数组与指向指针的指针 314

11.5.1 指针数组 314

11.5.2 指向指针的指针 317

11.5.3 指针数组作为main函数的参数 319

11.6 函数与指针 320

11.6.1 函数指针调用函数 320

11.6.2 指向函数的指针作为函数参数 321

11.7 返回指针值的函数 323

11.7.1 为什么函数要返回指针值──可以返回多个值 323

11.7.2 返回指针类型的函数 324

11.8 小结 325

习题 326

第12章 结构体与联合体 327

12.1 结构体 327

12.1.1 为什么要有结构体 327

12.1.2 结构体类型的定义 328

12.1.3 定义结构体变量 328

12.1.5 引用结构体变量 330

12.1.4 结构体变量的初始化 332

12.2 结构体数组 334

12.2.1 为什么要有结构体数组 334

12.2.2 定义结构体数组 334

12.2.3 结构体数组的初始化 335

12.2.4 结构体数组的应用 336

12.3 指针与结构体 339

12.3.1 指向结构体变量的指针 339

12.3.2 指向结构体数组的指针 341

12.3.3 结构体变量和指向结构体的指针作为函数的参数 342

12.4 typedef类型定义 346

12.4.1 typedef──为数据类型重新起个名字 346

12.4.2 使用typedef应注意的问题 347

12.4.3 typedef的应用 348

12.5 联合体 351

12.5.1 为什么要有联合体──节省内存,多选一 351

12.5.2 定义联合体 352

12.5.3 引用联合体变量 353

12.5.4 使用联合体应该注意的问题 353

12.5.5 联合体的应用 354

12.6 枚举类型 357

12.6.1 为什么要有枚举类型──变量的值只有有限的几种 357

12.6.2 定义枚举类型及变量 358

12.6.3 使用枚举类型应注意的问题 358

12.6.4 枚举类型的应用 359

12.7 小结 360

习题 360

第13章 位运算 361

13.1 为什么要有位运算与位运算符 361

13.1.1 为什么要有位运算──高效率的运行 361

13.1.2 位运算符 361

13.1.3 位运算符的优先级与结合性 362

13.2 位运算符与位运算 362

13.2.1 按位与运算符和按位与运算 362

13.2.2 按位或运算符和按位或运算 363

13.2.3 按位异或运算符和按位异或运算 364

13.2.4 按位取反运算符和按位取反运算 365

13.2.5 左移运算符和左移运算 366

13.2.6 右移运算符和右移运算 366

13.2.7 与位运算符相结合的赋值运算符 367

13.3 位运算应用 367

13.3.1 以二进制形式输出一个数──按位与运算并输出1或者0 367

13.3.2 取一个整数的中间几位──设置一个对应位为1的数并进行按位与运算 369

13.4 位段 370

13.4.1 定义位段 370

13.4.2 引用位段成员 371

13.4.3 使用位段需要说明的问题 372

13.5 小结 373

习题 373

第14章 文件 374

14.1 文件的相关概念 374

14.1.1 为什么要有文件 374

14.1.2 文件的分类──二进制文件和文本文件 374

14.1.3 缓冲文件系统 375

14.2 打开与关闭文件 375

14.2.1 文件类型指针──file* 375

14.2.2 打开文件──使用fopen函数 376

14.2.3 关闭文件──使用函数fclose 377

14.3 读取文件与写入文件 377

14.3.1 使用fputc函数写文件和使用fgetc函数读取文件 378

14.3.2 使用fputs函数写文件和使用fgets函数读取 382

14.3.3 使用fwrite函数写文件和使用fread函数读取文件 383

14.3.4 使用fprintf函数写文件和使用fscanf函数读取文件 386

14.4 文件的定位 388

14.4.1 rewind函数──移动位置指针到文件的开始位置 388

14.4.2 fseek函数──移动位置指针到任意位置 389

14.4.3 ftell函数──得到位置指针的当前位置 391

14.5 文件状态检测 391

14.5.1 feof函数──检测位置指针是否到了文件末尾 392

14.5.2 ferror函数──检测是否操作文件错误 392

14.5.3 clearerr函数──清除错误标志 393

14.6 文件的输入与输出函数总结 393

14.7 小结 394

习题 394

第4篇 提高篇

第15章 链表 395

15.1 链表的相关概念 395

15.1.1 为什么要有链表──节省内存单元,不用事先

定义空间大小 395

15.1.2 什么是链表 396

15.1.3 简单链表──静态链表 397

15.1.4 动态存储分配 401

15.2 链表的操作 402

15.2.1 创建链表 402

15.2.2 链表的输出操作 405

15.2.3 链表的插入操作 407

15.2.4 链表的删除操作 410

15.2.5 链表的综合操作 413

15.3 链表操作的应用 414

15.3.1 链表操作的应用──逆置链表 415

15.3.2 链表操作的应用──约瑟夫问题 420

15.4 小结 423

习题 423

附录 424

附录1 程序流程图 424

附录2 常用字符与对应的

ascii码对照表 427

附录3 运算符的优先级与结合性 428

附录4 常用函数 429

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

C语言入门与提高
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    亲爱的云图用户,
    光盘内的文件都可以直接点击浏览哦

    无需下载,在线查阅资料!

    loading icon