热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C语言程序设计教程蒋清明,C语言程序设计

本书结构严谨,循序渐进地讲述C语言程序设计的基本知识、基本技能和编程方法;举例经典,许多例题习题都是工程应用或等级考试中的基本算法的应用。

本书结构严谨,循序渐进地讲述C语言程序设计的基本知识、基本技能和编程方法;举例经典,许多例题习题都是工程应用或等级考试中的基本算法的应用。

全书共分9章,主要内容包括基本数据类型和运算符、控制结构、函数、数组、指针、结构与共用、文件以及文本与图形处理。每一章都附有精选的、多种类型的练习题,有助于读者复习、巩固所学知识,培养读者的实际编程能力。

本书配有《C语言程序设计上机与习题选解》。该书使学生明确实验目的、实验任务和实验方法,可大大改善实验效果,减轻教师指导学生实验的工作量;同时,书中给出的题解有助于学生开阔视野,明朗思路,规范书写,方便调试。

本书可以作为各类高等院校、各类高职院校计算机专业及理工科非计算机专业学生学习“计算机程序设计”课程的教材,也可作为广大计算机爱好者学习C程序设计语言的参考书。 第1章 绪论 1

1.1 C语言的发展过程 1

1.1.1 计算机语言的发展过程 1

1.1.2 C语言的发展过程 2

1.2 C语言的特点 2

1.3 C程序的结构和书写格式 3

1.3.1 C程序的结构 3

1.3.2 C程序的书写格式 4

1.4 Turbo C上机操作 4

1.4.1 C语言程序的生成过程 4

1.4.2 Turbo C 2.0上机操作过程 4

习题 5

第2章 基本数据类型与运算符 7

2.1 数据类型和取值范围 7

2.1.1 数据类型和取值范围 7

2.1.2 整型常量 8

2.1.3 实型常量 9

2.1.4 字符常量 9

2.1.5 字符串类型 10

2.2 运算符 11

2.2.1 优先级与结合规则 11

2.2.2 赋值运算与连续赋值 12

2.2.3 算术运算 12

2.2.4 关系运算 14

2.2.5 逻辑运算、连续比较和逻辑优化 14

2.2.6 位运算 15

2.2.7 条件运算 16

2.2.8 复合赋值运算 17

2.2.9 逗号运算 17

2.2.10 其他运算sizeof 18

2.2.11 类型转换与类型转换规则 18

2.3 输入/输出函数 21

2.3.1 格式化输出函数printf 21

2.3.2 格式化输入函数scanf 23

2.3.3 字符输入/输出函数 25

习题 26

第3章 控制结构 29

3.1 程序结构框图 29

3.1.1 自然语言描述 29

3.1.2 流程图 30

3.1.3 N-S图 31

3.1.4 结构化程序设计 31

3.1.5 复合语句 32

3.2 二分支结构 32

3.2.1 二分支结构选择语句 33

3.2.2 不平衡if结构 35

3.2.3 if语句的嵌套 36

3.3 多分支结构 40

3.4 循环结构 44

3.4.1 for循环 44

3.4.2 while语句 47

3.4.3 do~while语句 48

3.4.4 循环嵌套 50

3.5 break与continue语句 52

3.5.1 break语句 52

3.5.2 continue语句 53

3.5.3 goto语句 54

习题 55

第4章 函数 60

4.1 函数调用过程 60

4.2 函数的定义 61

4.2.1 函数定义的一般形式 61

4.2.2 函数定义中的要点说明 61

4.2.3 函数的声明 65

4.3 递归函数 66

4.3.1 递归概念 66

4.3.2 递归举例 67

4.4 存储类型、生存期和作用域 70

4.4.1 存储类型 70

4.4.2 生存期和作用域 71

4.5 编译预处理 77

4.5.1 文件包含 78

4.5.2 宏定义 79

4.5.3 条件编译 81

习题 83

第5章 数组 88

5.1 一维数组 88

5.1.1 一维数组的定义与初始化 88

5.1.2 一维数组的引用 90

5.1.3 字符型数组与字符串 91

5.1.4 字符串操作 93

5.2 二维数组 96

5.2.1 二维数组的定义 96

5.2.2 二维数组的引用 97

5.3 多维数组 99

5.4 函数与数组 101

5.4.1 函数与一维数组 101

5.4.2 函数与二维数组 103

5.5 问题与解答 106

5.5.1 “气泡法”排序问题 106

5.5.2 二分法查找问题 108

5.5.3 Josephus(约瑟夫)问题 109

习题 110

第6章 指针 117

6.1 指针与变量 117

6.1.1 指针的基本概念 117

6.1.2 指针变量的定义与引用 118

6.1.3 指针的运算 120

6.1.4 指向指针的指针 121

6.2 指针与数组 122

6.2.1 指向数组元素的指针 122

6.2.2 指向数组的指针 130

6.2.3 指针数组 136

6.2.4 指针与字符串 140

6.3 指针与函数 143

6.3.1 指针作函数参数 143

6.3.2 返回指针值的函数 147

6.3.3 函数指针 149

6.4 问题与解答 152

6.4.1 本章重点概念的复习 152

6.4.2 “选择法”排序问题 152

6.4.3 子串定位问题 153

习题 154

第7章 结构与共用 161

7.1 结构类型 161

7.1.1 结构类型的定义、初始化与使用 161

7.1.2 结构类型数组 166

7.1.3 结构类型数据的指针 167

7.1.4 嵌套结构 171

7.1.5 用指针处理链表 172

7.2 共用类型 179

7.2.1 共用类型的定义 179

7.2.2 共用类型变量的引用 181

7.3 枚举类型 183

7.4 位域 185

7.4.1 位运算符与位运算 185

7.4.2 位域 186

7.5 自定义类型 188

习题 189

第8章 文件 199

8.1 文件概述与文件类型指针 199

8.1.1 文件概述 199

8.1.2 文件类型指针 200

8.2 文件的打开与关闭 201

8.2.1 文件的打开 201

8.2.2 文件的关闭 202

8.3 文件的读写 203

8.3.1 字符读写函数fgetc()和fputc() 203

8.3.2 字符串读写函数fgets()和fputs() 205

8.3.3 格式化读写函数fscanf()和fprintf() 207

8.3.4 数据块读写函数fread()和fwrite() 209

8.4 文件的定位 211

8.5 文件检测 213

8.6 文件的低层操作 214

习题 217

*第9章 文本与图形处理 224

9.1 文本的屏幕输出与键盘操作 224

9.1.1 文本的屏幕输出 224

9.1.2 键盘操作 230

9.1.3 综合实例程序 232

9.2 图形编程 235

9.2.1 图形模式初始化 235

9.2.2 独立图形运行程序的建立 239

9.2.3 屏幕颜色的设置和清屏函数 241

9.2.4 基本图形处理函数 243

9.2.5 图形模式下的文本输出 250

9.2.6 综合图形实例程序 253

附录1 常用字符与ASCII值对照表 256

附录2 C语言保留字一览表 258

附录3 运算符的优先级及其结合性 259

附录4 常用C库函数 260

参考文献 265

内容简介:

本书结构严谨,循序渐进地讲述C语言程序设计的基本知识、基本技能和编程方法;举例经典,许多例题习题都是工程应用或等级考试中的基本算法的应用。

全书共分9章,主要内容包括基本数据类型和运算符、控制结构、函数、数组、指针、结构与共用、文件以及文本与图形处理。每一章都附有精选的、多种类型的练习题,有助于读者复习、巩固所学知识,培养读者的实际编程能力。

本书配有《C语言程序设计上机与习题选解》。该书使学生明确实验目的、实验任务和实验方法,可大大改善实验效果,减轻教师指导学生实验的工作量;同时,书中给出的题解有助于学生开阔视野,明朗思路,规范书写,方便调试。

本书可以作为各类高等院校、各类高职院校计算机专业及理工科非计算机专业学生学习“计算机程序设计”课程的教材,也可作为广大计算机爱好者学习C程序设计语言的参考书。

目录:

第1章 绪论 1

1.1 C语言的发展过程 1

1.1.1 计算机语言的发展过程 1

1.1.2 C语言的发展过程 2

1.2 C语言的特点 2

1.3 C程序的结构和书写格式 3

1.3.1 C程序的结构 3

1.3.2 C程序的书写格式 4

1.4 Turbo C上机操作 4

1.4.1 C语言程序的生成过程 4

1.4.2 Turbo C 2.0上机操作过程 4

习题 5

第2章 基本数据类型与运算符 7

2.1 数据类型和取值范围 7

2.1.1 数据类型和取值范围 7

2.1.2 整型常量 8

2.1.3 实型常量 9

2.1.4 字符常量 9

2.1.5 字符串类型 10

2.2 运算符 11

2.2.1 优先级与结合规则 11

2.2.2 赋值运算与连续赋值 12

2.2.3 算术运算 12

2.2.4 关系运算 14

2.2.5 逻辑运算、连续比较和逻辑优化 14

2.2.6 位运算 15

2.2.7 条件运算 16

2.2.8 复合赋值运算 17

2.2.9 逗号运算 17

2.2.10 其他运算sizeof 18

2.2.11 类型转换与类型转换规则 18

2.3 输入/输出函数 21

2.3.1 格式化输出函数printf 21

2.3.2 格式化输入函数scanf 23

2.3.3 字符输入/输出函数 25

习题 26

第3章 控制结构 29

3.1 程序结构框图 29

3.1.1 自然语言描述 29

3.1.2 流程图 30

3.1.3 N-S图 31

3.1.4 结构化程序设计 31

3.1.5 复合语句 32

3.2 二分支结构 32

3.2.1 二分支结构选择语句 33

3.2.2 不平衡if结构 35

3.2.3 if语句的嵌套 36

3.3 多分支结构 40

3.4 循环结构 44

3.4.1 for循环 44

3.4.2 while语句 47

3.4.3 do~while语句 48

3.4.4 循环嵌套 50

3.5 break与continue语句 52

3.5.1 break语句 52

3.5.2 continue语句 53

3.5.3 goto语句 54

习题 55

第4章 函数 60

4.1 函数调用过程 60

4.2 函数的定义 61

4.2.1 函数定义的一般形式 61

4.2.2 函数定义中的要点说明 61

4.2.3 函数的声明 65

4.3 递归函数 66

4.3.1 递归概念 66

4.3.2 递归举例 67

4.4 存储类型、生存期和作用域 70

4.4.1 存储类型 70

4.4.2 生存期和作用域 71

4.5 编译预处理 77

4.5.1 文件包含 78

4.5.2 宏定义 79

4.5.3 条件编译 81

习题 83

第5章 数组 88

5.1 一维数组 88

5.1.1 一维数组的定义与初始化 88

5.1.2 一维数组的引用 90

5.1.3 字符型数组与字符串 91

5.1.4 字符串操作 93

5.2 二维数组 96

5.2.1 二维数组的定义 96

5.2.2 二维数组的引用 97

5.3 多维数组 99

5.4 函数与数组 101

5.4.1 函数与一维数组 101

5.4.2 函数与二维数组 103

5.5 问题与解答 106

5.5.1 “气泡法”排序问题 106

5.5.2 二分法查找问题 108

5.5.3 Josephus(约瑟夫)问题 109

习题 110

第6章 指针 117

6.1 指针与变量 117

6.1.1 指针的基本概念 117

6.1.2 指针变量的定义与引用 118

6.1.3 指针的运算 120

6.1.4 指向指针的指针 121

6.2 指针与数组 122

6.2.1 指向数组元素的指针 122

6.2.2 指向数组的指针 130

6.2.3 指针数组 136

6.2.4 指针与字符串 140

6.3 指针与函数 143

6.3.1 指针作函数参数 143

6.3.2 返回指针值的函数 147

6.3.3 函数指针 149

6.4 问题与解答 152

6.4.1 本章重点概念的复习 152

6.4.2 “选择法”排序问题 152

6.4.3 子串定位问题 153

习题 154

第7章 结构与共用 161

7.1 结构类型 161

7.1.1 结构类型的定义、初始化与使用 161

7.1.2 结构类型数组 166

7.1.3 结构类型数据的指针 167

7.1.4 嵌套结构 171

7.1.5 用指针处理链表 172

7.2 共用类型 179

7.2.1 共用类型的定义 179

7.2.2 共用类型变量的引用 181

7.3 枚举类型 183

7.4 位域 185

7.4.1 位运算符与位运算 185

7.4.2 位域 186

7.5 自定义类型 188

习题 189

第8章 文件 199

8.1 文件概述与文件类型指针 199

8.1.1 文件概述 199

8.1.2 文件类型指针 200

8.2 文件的打开与关闭 201

8.2.1 文件的打开 201

8.2.2 文件的关闭 202

8.3 文件的读写 203

8.3.1 字符读写函数fgetc()和fputc() 203

8.3.2 字符串读写函数fgets()和fputs() 205

8.3.3 格式化读写函数fscanf()和fprintf() 207

8.3.4 数据块读写函数fread()和fwrite() 209

8.4 文件的定位 211

8.5 文件检测 213

8.6 文件的低层操作 214

习题 217

*第9章 文本与图形处理 224

9.1 文本的屏幕输出与键盘操作 224

9.1.1 文本的屏幕输出 224

9.1.2 键盘操作 230

9.1.3 综合实例程序 232

9.2 图形编程 235

9.2.1 图形模式初始化 235

9.2.2 独立图形运行程序的建立 239

9.2.3 屏幕颜色的设置和清屏函数 241

9.2.4 基本图形处理函数 243

9.2.5 图形模式下的文本输出 250

9.2.6 综合图形实例程序 253

附录1 常用字符与ASCII值对照表 256

附录2 C语言保留字一览表 258

附录3 运算符的优先级及其结合性 259

附录4 常用C库函数 260

参考文献 265



推荐阅读
  • 编译原理c语言词法分析器,用C语言实现一个真正的词法分析器
    词法分析,是编译器的第一个模块,也是最简单的模块。最简单,指的是相对于编译器这种大型程序而言,与一般的代码相比还是有点复杂的 ... [详细]
  • 【Modbus 】Modbus 协议
    Modbus协议简介Modbus协议是一项应用层报文传输协议,包括ASCII、RTU、TCP三种报文类型。标准的Modbus协议物理层接口有RS232、RS422 ... [详细]
  • x86x64体系探索及编程(对x86处理器介绍得最详尽又最具实践指导意义的一本书)邓志著ISBN978-7-121-18176-42012年10月出版定价:119.00元16开840页对x86处理 ... [详细]
  • 开发网站你需要知晓的部分专用术语
      越来越多的企业和个人都在拥有属于自己的网站门户,首当其冲的就是你得知晓几个网站方面的专业术语,先是中就有好多的客户不明白这些,造成误会是正常的,那不如我们对它有个大致的了解,这样就不容易感觉 ... [详细]
  • C语言宏定义容易认不清的盲区梳理_C 语言
    宏定义是C提供的三种预处理(宏定义、文件包含、条件编译)的其中一种,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度 ... [详细]
  • 这篇文章将为大家详细讲解有关C#开发技巧有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。C#开发技 ... [详细]
  • flash代码_正点原子【STM32F407探索者】第三十九章 FLASH 模拟 EEPROM 实验
    1)资料下载:点击资料即可下载2)对正点原子Linux感兴趣的同学可以加群讨论:9354467413)关注正点原子公众号,获取最新资料更新 ... [详细]
  • 以下不是python文件读写方法的是Python 文件I/O
    Python文件IO本章只讲述所有基本的IO函数,更多函数请参考Python标准文档。打印到屏幕最简单的输出方法是用print语句,你可以给它传递 ... [详细]
  • MyBatis模糊查询和多条件查询一、ISmbmsUserDao层根据姓名模糊查询publicListgetUser();多条件查询publicList ... [详细]
  • 最近自己做一个工具最后涉及到一个存储成bmp位图的形式,由于这部分并不是整个project的重点我就从网上找了例子改了改,但是目前的问题是有很多时候都是存储的bmp全黑,我也并不知道是怎么回事。 ... [详细]
  • c语言自定义BOOL函数C语言没有BOOL类型变量boolean类型是C++所独有的由于使用BOOL类型可以使代码更具有可读性,很多编程者都在C中自己定义了类似的应用,一般方法有两 ... [详细]
  • 1、概念共享内存:共享内存是进程间通信中最简单的方式之一。共享内存允许两个或更多进程访问同一块内存,就如同malloc()函数向不同进程返回了指向同一个 ... [详细]
  • Logistic回归主要针对输入的数据是多个,输出则是有限的数值型,多为2个分类。涉及到以下方面:1.输出yw0+w1*x1+w2*x2+..(x1,x2,是样本的 ... [详细]
  • 编者按:来自自江民科技的消息称,该公司创始人王江民近日因病去世,享年59岁,为了纪念这位中国反病毒事业的知名专家与老前辈,现摘录来自刘韧在知识英雄系列中采访其的一篇文章 王江民,著名的反病毒专家 ... [详细]
  • log4cpp概述与使用实例一、log4cpp概述Log4cpp是一个开源的C类库,它提供了C程序中使用日志和跟踪调试的功能,它的优点如下࿱ ... [详细]
author-avatar
lhpa
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有