- C语言程序设计案例教程 本书第1、2章介绍了C语言的发展及特点和C语言的基本数据类型;第3~5章介绍了结构化程序设计的三种基本结构(顺序结构、选择结构和循环结构);第7章介绍了函数的定义和使用;第6、9、10章介绍了数据的构造类型(包括数组、字符串、结构体和共同体等)和指针类型;第8、11章介绍了编译预处理和文件的概念及文件的基本操作;第12章介绍了位运算的基本知识。本书的目标是让读者深刻理解和掌握C语言的语法规则及编程特点,克服“懂C语言,但不会做题、不会编程序”的通病。
作者根据课程要求,结合C语言程序设计的教学经验,并参考了大量相关同类教材,对多年来的讲稿进行了精心的总结、修改和整理,编成本书。
本书可作为高等院校C语言程序设计课程的教材,也可供准备参加计算机等级考试和考研的读者阅读参考,同时也可作为工程技术人员和计算机爱好者的参考用书。
系列名:高等院校"十三五"规划教材 作者:高璐,张娟 编辑:王秉华/吴汀0 ISBN:978-7-305-17482-7 出版时间:201608 字数:414 定价:36.00 开本:16开 页数:272 装订:平装 版次:1 CIP分类号:TP
本书第1、2章介绍了C语言的发展及特点和C语言的基本数据类型;第3~5章介绍了结构化程序设计的三种基本结构(顺序结构、选择结构和循环结构);第7章介绍了函数的定义和使用;第6、9、10章介绍了数据的构造类型(包括数组、字符串、结构体和共同体等)和指针类型;第8、11章介绍了编译预处理和文件的概念及文件的基本操作;第12章介绍了位运算的基本知识。本书的目标是让读者深刻理解和掌握C语言的语法规则及编程特点,克服“懂C语言,但不会做题、不会编程序”的通病。
作者根据课程要求,结合C语言程序设计的教学经验,并参考了大量相关同类教材,对多年来的讲稿进行了精心的总结、修改和整理,编成本书。
本书可作为高等院校C语言程序设计课程的教材,也可供准备参加计算机等级考试和考研的读者阅读参考,同时也可作为工程技术人员和计算机爱好者的参考用书。
目录
第1章 C语言概述 1 1.1 C语言的发展及特点 1 1.1.1 C语言的发展 1 1.1.2 C语言的特点 2 1.2 初步认识C语言程序 3 1.2.1 C语言程序的格式 5 1.2.2 C语言程序的构成 5 1.2.3 C语言程序的基本要求 5 1.3 软件开发方法 5 1.3.1 软件开发方法 5 1.3.2 算法 6 1.3.3 结构化程序设计 6 1.4 C语言程序上机调试步骤和方法 8 1.5 小结 10 习题 11 第2章 C语言程序设计的初步 知识 12 2.1 C语言的数据类型 12 2.2 标识符 13 2.2.1 系统定义标识符 13 2.2.2 用户定义标识符 13 2.3 常量 14 2.3.1 整型常量 14 2.3.2 实型常量 15 2.3.3 字符常量 15 2.3.4 字符串常量 17 2.3.5 符号常量 17 2.4 变量 18 2.4.1 变量名称 18 2.4.2 变量的类型 18 2.4.3 变量的赋值 20 2.5 运算符与表达式 20 2.5.1 算术运算符和算术 表达式 21 2.5.2 赋值运算符和赋值 表达式 21 2.5.3 关系运算符和关系 表达式 22 2.5.4 逻辑运算符和逻辑 表达式 23 2.5.5 条件运算符和条件 表达式 24 2.5.6 逗号运算符和逗号 表达式 25 2.6 自增(自减)运算符及C语言 运算符的优先级别 25 2.6.1 自增、自减运算符 25 2.6.2 C语言运算符的优先级 与结合性 26 2.7 不同类型数据间的混合运算 (包含数据类型转换) 27 2.7.1 自动类型转换 27 2.7.2 强制类型转换 28 2.8 小结 28 习题 28 第3章 顺序结构程序设计 31 3.1 任务1——将英里转换为公里 31 3.2 C语句 34 3.3 数据的输出 36 3.3.1 数据输入输出的概念及 在C语言中的实现 36 3.3.2 字符输出函数(putchar 函数) 37 3.3.3 格式输出函数(printf 函数) 38 3.4 数据的输入 42 3.4.1 字符输入函数(getchar 函数) 42 3.4.2 格式输入函数(scanf 函数) 43 3.5 小型案例 48 3.6 小结 51 习题 52 第4章 选择结构程序设计 54 4.1 任务2——有节约要求的 水费问题 54 4.2 if语句 56 4.2.1 if语句的三种形式 56 4.2.2 if语句的嵌套 60 4.3 switch语句 64 4.4 小型案例 66 4.5 小结 68 习题 69 第5章 循环结构程序设计 73 5.1 任务3——公司员工薪水计算 73 5.2 while语句 76 5.3 do-while语句 77 5.4 for语句 79 5.5 循环嵌套 84 5.6 goto语句以及用goto语句 构成循环 88 5.7 break语句和continue语句 89 5.7.1 break语句 89 5.7.2 continue语句 90 5.8 小型案例 92 5.9 小结 97 习题 98 第6章 数组 101 6.1 任务4——用冒泡法对10 个数排序 101 6.2 一维数组 103 6.2.1 一维数组的定义 103 6.2.2 一维数组元素的引用 104 6.2.3 一维数组的初始化 104 6.2.4 一维数组的应用 105 6.3 二维数组 106 6.3.1 二维数组的定义 106 6.3.2 二维数组元素的引用 107 6.3.3 二维数组的初始化 107 6.3.3 二维数组的应用 109 6.4 字符数组 111 6.4.1 字符数组的定义及 初始化 111 6.4.2 字符数组元素的引用 112 6.4.3 字符串数组 113 6.5 小型案例 121 6.6 小结 124 习题 124 第7章 函数 127 7.1 任务5——从身份证号码中间 提取 出生日期、性别、年龄 等信息 127 7.2 函数的概念 131 7.2.1 库函数的使用 132 7.2.2 函数的定义 132 7.2.3 函数的声明 133 7.3 函数的参数和返回值 134 7.3.1 函数的参数 134 7.3.2 函数的返回值 134 7.4 函数的参数传递方式 135 7.4.1 值的传递 135 7.4.2 地址的传递 136 7.5 函数的调用 138 7.5.1 函数的一般调用 138 7.5.2 函数的嵌套调用 138 7.5.3 函数的递归调用 139 7.6 变量的作用域和存储类型 140 7.6.1 变量的作用域 140 7.6.2 变量的存储类型 140 7.7 函数的作用范围 143 7.7.1 内部函数 144 7.7.2 外部函数 144 7.8 小型案例 144 7.9 小结 146 习题 147 第8章 编译预处理 150 8.1 任务6——求解某校园圆形 花坛的圆周长及圆面积 150 8.2 宏定义 152 8.2.1 无参宏 152 8.2.2 带参宏 153 8.2.3 终止宏定义 154 8.3 文件包含命令 154 8.4 条件编译 156 8.4.1 带#if、#else和#endif 标识的 156 8.4.2 带#ifdef标识的 156 8.4.3 带#ifndef标识的 156 8.5 小型案例 157 8.6 小结 159 习题 159 第9章 指针 161 9.1 任务7——利用指针变量完成 税率的调整并打印前后结果 161 9.2 指针变量 163 9.2.1 指针变量的定义 164 9.2.2 指针变量的引用 164 9.2.3 指针变量的运算 167 9.3 指针与数组 172 9.3.1 指针与一维数组 173 9.3.2 指针与二维数组 174 9.3.3 指针数组 177 9.4 指针与字符串 179 9.4.1 用字符数组存放一个 字符串 179 9.4.2 字符指针指向一个 字符串 180 9.4.3 字符数组和字符指针 变量的区别 182 9.5 指针与函数 184 9.5.1 指向函数的指针 184 9.5.2 指针函数 185 9.5.3 指针变量作为函数的 参数 186 9.5.4 数组名作为函数的参数 188 9.5.5 指向函数的指针作为 函数的参数 189 9.6 指向指针的指针变量 190 9.7 main()函数的形参和void指针 191 9.7.1 指针数组作为main函数 的形参 191 9.7.2 指向void的指针变量 193 9.8 小型案例 194 9.9 小结 195 习题 196 第10章 构造数据类型 200 10.1 任务8——输出一批学生的 基本信息 200 10.2 结构体 203 10.2.1 结构体定义 203 10.2.2 结构体变量 206 10.2.3 结构体变量的使用 208 10.3 结构体与函数 209 10.3.1 结构变量与数组结构 作为函数的参数 209 10.3.2 结构变量作为函数的 返回值 210 10.4 结构体与指针 211 10.4.1 结构体变量指针 211 10.4.2 结构体数组指针 212 10.5 链表 214 10.5.1 链表概述 214 10.5.2 链表的基本操作 215 10.6 共用体 216 10.7 枚举类型 217 10.8 typedef类型声明 219 10.9 小型案例 220 10.10 小结 222 习题 223 第11章 文件 226 11.1 任务9——磁盘文件信息复制 226 11.2 文件类型指针 230 11.3 文件的基本操作 231 11.3.1 文件的打开 231 11.3.2 文件的关闭 234 11.3.3 文件读函数 234 11.3.4 文件写函数 241 11.4 文件的定位函数 246 11.4.1 rewind()函数 247 11.4.2 fseek()函数和随机 读写 247 11.5 文件出错检测函数 249 11.5.1 ferror()函数 249 11.5.2 clearerr()函数 250 11.6 小型案例 250 11.7 小结 253 习题 254 第12章 位运算 257 12.1 位的运算 257 12.1.1 “按位与”运算符(&) 257 12.1.2 “按位或”运算符(|) 258 12.1.3 “异或”运算符(∧) 259 12.1.4 “取反”运算符(~) 260 12.1.5 左移运算符(<<) 261 12.1.6 右移运算符(>>) 261 12.1.7 位运算赋值运算符 262 12.1.8 不同长度的数据进行 位运算 262 12.2 位段 262 12.3 小型案例 266 12.4 小结 268 习题 269 附录 272 参考文献 276