C语言程序设计

-
【作 者】王成端 徐翠霞 主编
【I S B N 】978-7-5084-2813-7
【责任编辑】宋俊娥
【适用读者群】本科
【出版时间】2005-05-01
【开 本】16开本
【装帧信息】平装(光膜)
【版 次】第1版
【页 数】
【千字数】
【印 张】
【定 价】¥30
【丛 书】21世纪高等院校规划教材
【备注信息】
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
C语言是一种结构化的程序设计语言,它既具有高级语言的特点,又具有低级语言的特点。
本书共分11章,内容包括:程序设计的基本概念,基本数据类型、运算符和表达式,C语句和结构化程序设计,数组,函数,编译预处理,指针,结构体、共用体和枚举,位运算,文件,库函数及其应用。
本书内容安排合理,讲解通俗易懂,对重点难点做了十分系统、清楚和详细的阐述,并辅以大量的典型例题,使广大读者能够通过学习本书掌握C语言的基本知识,并灵活运用所学知识编写应用程序。
本书每章都配有丰富的习题,主要包括选择题、填空题和编程题三种类型,大部分习题都精选于全国计算机等级考试历年的考试真题,具有典型性和启发性,使学生能随时自我检查学习效果并获得相应的反馈信息。与本书配套的还有《C语言程序设计实训解、实验、课程设计与样题》,主教材中所有习题的答案及解析均在实训教材中给出。本书配有教学光盘,其中包括课堂教学课件、程序源代码、习题解答、实验指导、课程设计、模拟试题等,形成了主教材、实训教材、配套光盘组成的立体教学体系。
本书可作为高等院校计算机专业或相关专业的教材,也可作为全国计算机等级考试的培训教程。
C语言是近年来国内外广泛使用的计算机程序设计语言,也是软件开发人员必须掌握的一种语言。各类高等学校中普遍开设C语言课程,全国计算机等级考试二级和三级中也包括C语言的考试。
本书内容共分11章。第1章为程序设计和C语言概述,主要介绍程序设计的基本概念、C语言的特点、C语言程序的基本结构。第2章为数据描述与基本操作,主要介绍C语言的基本数据类型、运算符和表达式。第3章为C语言程序的流程控制,主要介绍基本语句、复合语句、控制语句的格式及应用。第4章为数组,主要介绍一维数组、二维数组和字符数组及其应用。第5章为函数,主要介绍函数定义及调用、变量和函数的作用域。第6章为编译预处理,主要介绍宏定义、文件包含和条件编译三种命令的格式、功能和用法。第7章为指针,主要介绍指针的概念、指针的定义、指针的基本运算以及指针与数组和指针与函数的关系。第8章为结构体、共用体和枚举,主要介绍C语言构造类型的定义及应用。第9章为位运算,主要介绍各种位运算符及其应用。第10章为文件,主要介绍文件的基本操作和使用规则。第11章为库函数及其应用,主要介绍常用库函数的应用。
本书的编写力求在体系结构上安排合理、重点突出、难点分散、便于掌握;在语言描述上注重概念清晰、逻辑性强、通俗易懂、便于自学。每章均由学习目标、正文、小结和习题四部分组成。在学习本章之前,通过阅读学习目标能够了解本章的主要内容和学习后应达到的目标,使学习目标明确,增强学习的积极性和主动性;每章最后的小结是对本章内容的总结和归纳,使所学的内容条理化和系统化,进一步加深对内容的理解和认识。
本书的讲解以87 ANSI C为基础,采用现代风格定义和声明函数,使程序具有更好的易读性,并使系统对函数和参数的类型进行检查。本书用流程图描述算法,所有程序都按结构化程序设计方法编写,这有助于读者养成良好的程序设计习惯,编写出高质量的程序。本书中例题和习题的源代码程序均在Turbo C 2.0环境下通过上机调试。本书在附录中给出Turbo C 2.0常用库函数,供读者查阅。
为加强C语言程序设计的学习,还编写了配套的《C语言程序设计实训——题解、实验、课程设计与样题》,教材中所有习题的答案及解析均在实训教材的第一部分中给出,实训的第二部分是Turbo C环境介绍,第三部分是实验,第四部分是课程设计,第五部分是模拟试题及参考答案。
本书由王成端、徐翠霞担任主编,魏先民、于春花、崔玲玲担任副主编。其中第1、6、9章由王成端编写,第5、7章和附录Ⅰ、附录Ⅲ由徐翠霞编写,第2、3章和附录Ⅱ由崔玲玲编写,第4、8章由于春花编写,第10、11章由魏先民编写。全书由王成端负责统稿。
由于作者的水平有限、经验不足,编写时间仓促,书中难免存在许多缺点及不足之处,恳请广大读者和同行批评指正。
编者
2005年1月
前言
第1章 程序设计及C语言概述 1
本章学习目标 1
1.1 程序设计的基本概念 1
1.1.1 程序和程序文件 1
1.1.2 程序设计和程序设计语言 1
1.2 算法 3
1.2.1 算法及其特征 3
1.2.2 算法设计的要求 3
1.2.3 算法的组成要素 4
1.2.4 算法的描述 4
1.3 C语言的特点 6
1.4 简单的C语言程序 7
1.5 C语言程序的开发 8
本章小结 10
习题一 10
第2章 数据描述与基本操作 11
本章学习目标 11
2.1 基本标识符 11
2.1.1 关键字 11
2.1.2 预定义标识符 12
2.1.3 用户定义标识符 12
2.2 基本数据类型 13
2.3 常量和变量 14
2.3.1 变量 14
2.3.2 常量 16
2.4 运算符与表达式 20
2.4.1 运算符与表达式简介 20
2.4.2 算术运算符与算术表达式 20
2.4.3 赋值运算符与赋值表达式 23
2.4.4 关系运算符与关系表达式 24
2.4.5 逻辑运算符与逻辑表达式 25
2.4.6 条件运算符与条件表达式 27
2.4.7 逗号运算符与逗号表达式 28
2.4.8 其他运算符 28
2.5 数据的类型转换 29
2.5.1 自动类型转换 29
2.5.2 强制类型转换 30
2.6 数据的输入和输出 30
2.6.1 字符输入输出函数 31
2.6.2 格式输入输出函数 32
2.7 应用举例 35
本章小结 38
习题二 38
第3章 C语言程序的流程控制 42
本章学习目标 42
3.1 C语言程序的三种基本结构 42
3.1.1 顺序结构 42
3.1.2 选择结构 42
3.1.3 循环结构 43
3.2 C语句概述 44
3.2.1 基本语句 44
3.2.2 复合语句 45
3.2.3 控制语句 45
3.3 选择结构程序设计 45
3.3.1 if语句(条件语句) 45
3.3.2 switch语句 49
3.4 循环结构的程序设计 52
3.4.1 for语句 52
3.4.2 while语句 53
3.4.3 do-while语句 54
3.4.4 循环语句的嵌套 55
3.5 流程转向语句 58
3.5.1 break语句和continue语句 58
3.5.2 return语句 60
3.6 典型应用算法 61
3.6.1 穷举算法 61
3.6.2 迭代算法 62
本章小结 65
习题三 66
第4章 数组 73
本章学习目标 73
4.1 一维数组 73
4.1.1 一维数组的定义 73
4.1.2 一维数组元素的引用 75
4.1.3 一维数组的初始化 76
4.1.4 一维数组应用举例 77
4.2 二维数组 84
4.2.1 二维数组的定义 84
4.2.2 二维数组元素的引用 85
4.2.3 二维数组的初始化 85
4.2.4 二维数组应用举例 87
4.3 字符数组与字符串 88
4.3.1 字符数组的定义和初始化 88
4.3.2 字符串的存储及字符串结束标志 90
4.3.3 字符串的输入和输出 91
4.3.4 字符串处理函数 92
4.3.5 字符数组应用举例 96
本章小结 98
习题四 99
第5章 函数 103
本章学习目标 103
5.1 模块化程序设计及C程序结构 103
5.1.1 模块化程序设计 103
5.1.2 C程序结构 104
5.2 函数定义 105
5.3 函数调用 106
5.3.1 函数调用的格式 106
5.3.2 函数调用的方式 106
5.3.3 函数的嵌套调用 108
5.3.4 递归函数及递归调用 111
5.4 函数原型 113
5.5 调用函数和被调用函数之间的数据传递 114
5.5.1 实参—形参之间的数据传递 115
5.5.2 函数调用结果的返回 118
5.6 变量的作用域及其存储类型 121
5.6.1 作用域和生存期 121
5.6.2 局部变量及其作用域和存储类型 122
5.6.3 全局变量及其作用域和存储类型 124
5.7 函数的作用域 128
5.7.1 内部函数 129
5.7.2 外部函数 129
5.8 函数应用举例 129
本章小结 135
习题五 136
第6章 编译预处理 142
本章学习目标 142
6.1 概述 142
6.2 宏定义 143
6.2.1 不带参数的宏定义 143
6.2.2 带参数的宏定义 145
6.3 文件包含 147
6.4 条件编译 149
6.4.1 #ifdef命令 149
6.4.2 #ifndef命令 150
6.4.3 #if命令 151
本章小结 152
习题六 153
第7章 指针 157
本章学习目标 157
7.1 指针概述 157
7.1.1 指针的基本概念 157
7.1.2 指针变量的定义及初始化 158
7.1.3 指向指针的指针 159
7.2 指针的赋值 160
7.3 指针的运算 162
7.3.1 指针运算符“*” 162
7.3.2 指针的算术运算 162
7.3.3 指针的关系运算 164
7.3.4 指针的强制类型转换 164
7.4 指针与数组 165
7.4.1 一维数组元素的指针访问方式 165
7.4.2 二维数组元素的指针访问方式 167
7.4.3 字符指针与字符串 170
7.4.4 指向一维数组的指针 173
7.4.5 指针数组 174
7.5 指针与函数 177
7.5.1 指针作为函数参数 177
7.5.2 指针函数 179
7.5.3 指向函数的指针 180
7.6 带参数的main函数及其应用 184
7.6.1 命令行参数 184
7.6.2 带参数的main函数 184
7.7 指针应用举例 185
本章小结 187
习题七 188
第8章 结构体、共用体和枚举 194
本章学习目标 194
8.1 结构体 194
8.1.1 结构体类型的定义 194
8.1.2 结构体类型变量的定义和初始化 196
8.1.3 结构体成员的引用 198
8.2 结构体和函数 200
8.2.1 结构体类型的变量作为函数参数 200
8.2.2 结构体类型的变量作为函数返回值 202
8.3 链表 202
8.3.1 链表的定义及基本结构 203
8.3.2 动态存储分配函数 204
8.3.3 链表的基本操作 205
8.4 共用体 209
8.4.1 共用体类型的定义 210
8.4.2 共用体变量的定义 210
8.4.3 共用体成员的引用 211
8.5 枚举 213
8.5.1 枚举类型和枚举型变量的定义 213
8.5.2 枚举型变量的使用 215
8.6 typedef类型定义 216
8.6.1 类型定义的基本格式 216
8.6.2 类型定义的使用说明 217
8.7 综合应用实例 218
本章小结 220
习题八 221
第9章 位运算 226
本章学习目标 226
9.1 概述 226
9.2 位运算 227
9.2.1 按位取反运算符 227
9.2.2 按位与运算符 227
9.2.3 按位或运算符 229
9.2.4 按位异或运算符 230
9.2.5 左移运算符 230
9.2.6 右移运算符 231
9.3 位运算应用举例 232
9.4 位段 233
本章小结 235
习题九 236
第10章 文件 238
本章学习目标 238
10.1 文件概述 238
10.1.1 文件 238
10.1.2 文件系统 240
10.2 文件指针和文件读写指针 241
10.2.1 文件指针 241
10.2.2 文件读写指针 241
10.3 文件的打开和关闭 242
10.3.1 文件的打开 242
10.3.2 文件的关闭 243
10.4 文件的读写 244
10.4.1 fputc函数和fgetc函数 244
10.4.2 fputs函数和fgets函数 247
10.4.3 fprintf函数和fscanf函数 248
10.4.4 fwrite函数和fread函数 250
10.5 文件的定位 252
10.5.1 fseek函数 252
10.5.2 rewind函数 253
10.5.3 ftell函数 253
10.5.4 文件的随机读写 254
10.6 错误处理 255
10.6.1 ferror函数 255
10.6.2 clearerr函数 256
10.7 文件的重定向 256
10.8 文件应用举例 257
本章小结 259
习题十 260
第11章 库函数及其应用 264
本章学习目标 264
11.1 Turbo C标准库 264
11.1.1 库文件和目标文件的比较 264
11.1.2 头文件 264
11.2 数学函数 265
11.2.1 三角函数 266
11.2.2 指数和函数 267
11.2.3 其他数学函数 268
11.3 字符串函数 269
11.3.1 字符串基本处理函数 270
11.3.2 字符串与数值转换函数 271
11.4 字符屏幕处理函数 272
11.4.1 字符窗口的定义 272
11.4.2 字符窗口颜色的设置 273
11.4.3 窗口字符的输入输出函数 275
11.4.4 窗口字符的其他处理函数 275
11.5 图形处理函数 277
11.5.1 图形模式的初始化 277
11.5.2 屏幕颜色的设置和清屏函数 279
11.5.3 基本图形函数 279
11.5.4 封闭图形的填充 281
11.5.5 图形窗口和图形屏幕操作函数 283
11.5.6 图形模式下的字符输出 285
本章小结 287
习题十一 287
附录Ⅰ 常用字符与ASCII码对照表 288
附录Ⅱ 运算符的优先级和结合方向 289
附录Ⅲ 库函数 290
参考文献 301C语言是一种结构化的程序设计语言,它既具有高级语言的特点,又具有低级语言的特点。
本书共分11章,内容包括:程序设计的基本概念,基本数据类型、运算符和表达式,C语句和结构化程序设计,数组,函数,编译预处理,指针,结构体、共用体和枚举,位运算,文件,库函数及其应用。
本书内容安排合理,讲解通俗易懂,对重点难点做了十分系统、清楚和详细的阐述,并辅以大量的典型例题,使广大读者能够通过学习本书掌握C语言的基本知识,并灵活运用所学知识编写应用程序。
本书每章都配有丰富的习题,主要包括选择题、填空题和编程题三种类型,大部分习题都精选于全国计算机等级考试历年的考试真题,具有典型性和启发性,使学生能随时自我检查学习效果并获得相应的反馈信息。与本书配套的还有《C语言程序设计实训解、实验、课程设计与样题》,主教材中所有习题的答案及解析均在实训教材中给出。本书配有教学光盘,其中包括课堂教学课件、程序源代码、习题解答、实验指导、课程设计、模拟试题等,形成了主教材、实训教材、配套光盘组成的立体教学体系。
本书可作为高等院校计算机专业或相关专业的教材,也可作为全国计算机等级考试的培训教程。
- 零基础玩转国产大模型DeepSeek [徐永冰 张帅 编著]
- 网络工程师5天修炼(适配第6版考纲) [主编 朱小平 施游]
- 信息系统项目管理师考试32小时通关(适用第4版考纲) [薛大龙]
- 信息系统管理工程师考试32小时通关(适配第2版考纲) [薛大龙 刘伟]
- 土木工程材料检测实训 [洪晓江 达则晓丽 钱波]
- 科技信息检索与论文写作实用教程 [李振华]
- 传统山水画论解读与实践 [陈钠 著]
- Python数据库编程 [主编 殷树友 邢 翀]
- 计算机基础实训指导 [主编 袁春萍 朱妮]
- 嵌入式人工智能技术应用(数字教材) [主编 胡娜 杨国勇 晏廷荣]
- Vienna整流器技术 [桂存兵 著]
- 变频器与伺服应用 [陈刚 叶云飞]
- 物联网工程设计与实践 [汤琳 李敏]
- 炉边夜话——深入浅出话AI [汪建 著]
- 电商运营与管理 [钟肖英 陈潇]
- Java面向对象程序设计 [主编 姜春磊 陈虹洁]
- 信息技术基础(Windows 10+WPS Office)(微课版) [主编 石利平 田辉平 谢盛嘉]
- 人工智能应用 [主编 陈 萍 刘培培 陈孟军]
- 大学生职业发展与就业指导 [主编 刘志坚]
- 高级办公应用项目教程 [主编 屈晶 赵成丽]
- 微信小程序开发项目实战(微课版) [主编 黄龙泉 郭峰 朱倩]
- 企业档案工作实战宝典百问百答 [华俊 卢秀英 邵甜甜 著]
- 计算机网络原理及应用 [主编 唐继勇 叶坤 孙梦娜]
- 大学生创业基础 [主编 王丽莉 王 杨]
- 船舶辅机 [主编 王连海 于洋 姜淑翠]
- 大学生就业指导 [主编 王丽莉 董宴廷]
- 系统架构设计师章节习题与考点特训 [主编 薛大龙 邹月平]
- 高校学生工作探索与实践 [郭亮 著]
- 大学生情商管理 [方雄 著]
- 2023年长沙市会展业发展报告 [主编 周栋良]