本书力求适合现代高等教育的特点和要求,引导学生通过学习与实践很快掌握一种计算机的语言。主要内容包括:数据编码与存储、C语言基础、数据类型、运算符与表达式、顺序结构程序设计、选择结构程序设计、循环控制、数组、编译预处理、位运算、文件等。每章后面均配有大量习题。\r\n\r\n 本书内容精练,通俗易懂,可以作为高等院校非计算机专业程序设计课程的教材,也可作为计算机程序设计培训教材或各类人员的学习参考书。\r\n
\r\n
第1章 数据编码与存储 1 \r\n\r\n 1.1 计算机的一般知识 1 \r\n\r\n 1.1.1 计算机的诞生 1 \r\n\r\n 1.1.2 计算机的发展阶段 1 \r\n\r\n 1.1.3 计算机的特点 3 \r\n\r\n 1.1.4 计算机的用途 4 \r\n\r\n 1.1.5 计算机的分类 6 \r\n\r\n 1.2 计算机中的数制与编码 6 \r\n\r\n 1.2.1 数据在计算机内的存储形式 6 \r\n\r\n 1.2.2 数制 7 \r\n\r\n 1.2.3 不同进制数的转换 11 \r\n\r\n 1.2.4 二进制数的算术运算与逻辑运算 15 \r\n\r\n 1.3 机器数的概念及表示 17 \r\n\r\n 1.3.1 机器数的概念 17 \r\n\r\n 1.3.2 机器数的范围 18 \r\n\r\n 1.3.3 机器数的符号 18 \r\n\r\n 1.3.4 机器数中小数点的位置 18 \r\n\r\n 1.4 常用的几种编码 19 \r\n\r\n 1.4.1 十进制数字的二进制编码 19 \r\n\r\n 1.4.2 ASCII码 20 \r\n\r\n 1.5 计算机系统的组成 21 \r\n\r\n 1.5.1 计算机的硬件系统 21 \r\n\r\n 1.5.2 微型计算机硬件系统组成 23 \r\n\r\n 1.5.3 软件系统组成 24 \r\n\r\n 1.6 小结 26 \r\n\r\n 习题 27 \r\n\r\n 第2章 C语言基础 29 \r\n\r\n 2.1 C语言的发展及特点 29 \r\n\r\n 2.1.1 C语言的发展 29 \r\n\r\n 2.1.2 C语言的特点 30 \r\n\r\n 2.2 C程序的基本结构 30 \r\n\r\n 2.3 C程序的实现 33 \r\n\r\n 2.3.1 C程序的实现步骤 33 \r\n\r\n 2.3.2 用Turbo C运行C程序的步骤 34 \r\n\r\n 2.4 小结 36 \r\n\r\n 习题 36 \r\n\r\n 第3章 数据类型. 运算符与表达式 37 \r\n\r\n 3.1 数据类型 37 \r\n\r\n 3.1.1 基本数据类型 37 \r\n\r\n 3.1.2 类型修饰符 38 \r\n\r\n 3.2 常量和变量 39 \r\n\r\n 3.2.1 常量 39 \r\n\r\n 3.2.2 符号常量 41 \r\n\r\n 3.2.3 变量 41 \r\n\r\n 3.2.4 整型变量 42 \r\n\r\n 3.2.5 实型变量 43 \r\n\r\n 3.2.6 字符型变量 43 \r\n\r\n 3.3 数据类型转换 44 \r\n\r\n 3.3.1 隐式类型转换 44 \r\n\r\n 3.3.2 显示类型转换 44 \r\n\r\n 3.4 运算符和表达式 45 \r\n\r\n 3.4.1 基本概念 45 \r\n\r\n 3.4.2 算术运算符和算术表达式 46 \r\n\r\n 3.4.3 赋值运算符和赋值表达式 48 \r\n\r\n 3.4.4 关系运算符和关系表达式 49 \r\n\r\n 3.4.5 逻辑运算符和逻辑表达式 49 \r\n\r\n 3.4.6 条件运算符和条件表达式 51 \r\n\r\n 3.4.7 逗号运算符和逗号表达式 51 \r\n\r\n 3.5 小结 51 \r\n\r\n 习题 51 \r\n\r\n 第4章 顺序结构程序设计 53 \r\n\r\n 4.1 C语言语句 53 \r\n\r\n 4.2 C程序的3种基本结构 54 \r\n\r\n 4.3 数据输入 55 \r\n\r\n 4.3.1 字符输入函数getchar() 55 \r\n\r\n 4.3.2 格式输入函数scanf() 56 \r\n\r\n 4.4 数 据 输 出 58 \r\n\r\n 4.4.1 字符输出函数putchar() 58 \r\n\r\n 4.4.2 格式输出函数printf() 59 \r\n\r\n 4.5 程序设计举例 62 \r\n\r\n 4.6 小结 63 \r\n\r\n 习题 64 \r\n\r\n 第5章 选择结构程序设计 66 \r\n\r\n 5.1 if语句 66 \r\n\r\n 5.1.1 单分支if语句 68 \r\n\r\n 5.1.2 双分支if语句 69 \r\n\r\n 5.1.3 多分支if语句 70 \r\n\r\n 5.2 switch语句 71 \r\n\r\n 5.3 程序设计举例 75 \r\n\r\n 5.4 小结 78 \r\n\r\n 习题 79 \r\n\r\n 第6章 循环结构程序设计 82 \r\n\r\n 6.1 for循环 82 \r\n\r\n 6.1.1 for循环的一般形式 83 \r\n\r\n 6.1.2 for循环的执行过程 83 \r\n\r\n 6.1.3 注意事项 84 \r\n\r\n 6.2 while循环 85 \r\n\r\n 6.2.1 while循环的一般形式 85 \r\n\r\n 6.2.2 while循环的执行过程 85 \r\n\r\n 6.2.3 注意事项 86 \r\n\r\n 6.3 do-while循环 86 \r\n\r\n 6.3.1 do-while循环的一般形式 86 \r\n\r\n 6.3.2 do-while循环的执行过程 87 \r\n\r\n 6.4 goto语句 88 \r\n\r\n 6.5 循环的嵌套 88 \r\n\r\n 6.6 break语句和continue语句 90 \r\n\r\n 6.6.1 break语句 90 \r\n\r\n 6.6.2 continue语句 92 \r\n\r\n 6.7 几种循环的比较 93 \r\n\r\n 6.8 程序举例 94 \r\n\r\n 6.9 小结 103 \r\n\r\n 习题 103 \r\n\r\n 第7章 数组 105 \r\n\r\n 7.1 一维数组 105 \r\n\r\n 7.1.1 一维数组的定义 106 \r\n\r\n 7.1.2 一维数组元素的引用 107 \r\n\r\n 7.1.3 一维数组的初始化 108 \r\n\r\n 7.1.4 一维数组程序举例 109 \r\n\r\n 7.2 二维数组 117 \r\n\r\n 7.2.1 二维数组的定义 117 \r\n\r\n 7.2.2 二维数组元素的引用 118 \r\n\r\n 7.2.3 二维数组的初始化 118 \r\n\r\n 7.2.4 二维数组程序举例 120 \r\n\r\n 7.3 字符数组 121 \r\n\r\n 7.3.1 字符数组的定义. 初始化和引用 121 \r\n\r\n 7.3.2 用一维字符数组存放字符串 123 \r\n\r\n 7.3.3 字符串的输入和输出 124 \r\n\r\n 7.3.4 字符串处理函数 127 \r\n\r\n 7.3.5 字符数组程序举例 130 \r\n\r\n 7.4 小结 132 \r\n\r\n 习题 132 \r\n\r\n 第8章 函数 134 \r\n\r\n 8.1 概述 134 \r\n\r\n 8.2 函数的定义和函数调用方法 135 \r\n\r\n 8.2.1 函数定义的一般形式 135 \r\n\r\n 8.2.2 函数参数和函数调用 136 \r\n\r\n 8.2.3 函数的返回值 138 \r\n\r\n 8.2.4 函数的声明 139 \r\n\r\n 8.3 函数的调用 141 \r\n\r\n 8.3.1 函数调用的一般形式 141 \r\n\r\n 8.3.2 函数调用的方式 142 \r\n\r\n 8.3.3 函数调用的过程 142 \r\n\r\n 8.3.4 函数的嵌套调用 144 \r\n\r\n 8.3.5 函数的递归调用 145 \r\n\r\n 8.4 局部变量和全局变量 146 \r\n\r\n 8.4.1 局部变量 147 \r\n\r\n 8.4.2 全局变量 148 \r\n\r\n 8.5 变量的存储类别 150 \r\n\r\n 8.5.1 变量的生存期 150 \r\n\r\n 8.5.2 存储类别 151 \r\n\r\n 8.6 内部函数和外部函数 157 \r\n\r\n 8.6.1 内部函数 157 \r\n\r\n 8.6.2 外部函数 157 \r\n\r\n 8.7 处理较大的程序 158 \r\n\r\n 8.8 小结 161 \r\n\r\n 习题 161 \r\n\r\n 第9章 编译预处理 164 \r\n\r\n 9.1 宏定义 164 \r\n\r\n 9.1.1 符号常量的定义 164 \r\n\r\n 9.1.2 带参数的宏定义 166 \r\n\r\n 9.2 文件包含 169 \r\n\r\n 9.3 条件编译 171 \r\n\r\n 9.4 小结 174 \r\n\r\n 习题 174 \r\n\r\n 第10章 指针 176 \r\n\r\n 10.1 指针基本概念 176 \r\n\r\n 10.2 指针变量的声明和初始化 177 \r\n\r\n 10.2.1 指针变量 177 \r\n\r\n 10.2.2 指针的声明 177 \r\n\r\n 10.3 对指针变量的引用 178 \r\n\r\n 10.3.1 指针运算符 179 \r\n\r\n 10.3.2 使用指针处理数据 179 \r\n\r\n 10.3.3 指针的算术运算 181 \r\n\r\n 10.4 指针变量作为函数参数 183 \r\n\r\n 10.5 数组的指针和指向数组的指针变量 186 \r\n\r\n 10.5.1 数组的指针 186 \r\n\r\n 10.5.2 指向数组的指针变量 186 \r\n\r\n 10.6 用指向数组的指针作函数的参数 189 \r\n\r\n 10.7 指针和多维数组 192 \r\n\r\n 10.8 字符串与指针 194 \r\n\r\n 10.8.1 字符数组的初始化 195 \r\n\r\n 10.8.2 字符数组的引用 196 \r\n\r\n 10.8.3 字符数组的输入 196 \r\n\r\n 10.8.4 字符数组的输出 197 \r\n\r\n 10.8.5 字符串运算函数 198 \r\n\r\n 10.9 函数的指针和指向函数的指针 变量的定义与赋值方法 200 \r\n\r\n 10.9.1 函数指针 200 \r\n\r\n 10.9.2 函数指针作函数的参数 202 \r\n\r\n 10.9.3 字符串指针作函数的参数 207 \r\n\r\n 10.10 指针数组和指向指针的指针 212 \r\n\r\n 10.10.1 指针数组 212 \r\n\r\n 10.10.2 指向指针的指针 215 \r\n\r\n 10.10.3 命令行参数 215 \r\n\r\n 10.11 小结 217 \r\n\r\n 习题 217 \r\n\r\n 第11章 结构体与共用体 220 \r\n\r\n 11.1 结构体的定义和说明 220 \r\n\r\n 11.2 结构体变量的初始化及引用 224 \r\n\r\n 11.2.1 结构体变量的初始化 224 \r\n\r\n 11.2.2 结构体变量的引用 226 \r\n\r\n 11.2.3 运算 228 \r\n\r\n 11.2.4 结构体变量整体赋值给另一结构体变量 230 \r\n\r\n 11.3 结构体数组及使用 231 \r\n\r\n 11.4 指向结构体变量的指针 235 \r\n\r\n 11.5 共用体. 枚举 237 \r\n\r\n 11.5.1 共用体类型 237 \r\n\r\n 11.5.2 枚举类型 240 \r\n\r\n 11.5 小结 243 \r\n\r\n 习题 243 \r\n\r\n 第12章 位运算 246 \r\n\r\n 12.1 概述 246 \r\n\r\n 12.1.1 位与字节 246 \r\n\r\n 12.1.2 数的表达方式 247 \r\n\r\n 12.2 位运算 248 \r\n\r\n 12.2.1 “按位与”运算符(&) 248 \r\n\r\n 12.2.2 “按位或”运算符(|) 250 \r\n\r\n 12.2.3 “异或”运算符(Λ) 251 \r\n\r\n 12.2.4 “取反”运算符(~) 253 \r\n\r\n 12.2.5 左移运算符( ) 253 \r\n\r\n 12.2.6 右移运算符( ) 254 \r\n\r\n 12.2.7 位运算赋值运算符 255 \r\n\r\n 12.2.8 不同长度的数据进行位运算 255 \r\n\r\n 12.3 位段 255 \r\n\r\n 12.3.1 位段的定义 255 \r\n\r\n 12.3.2 位段的引用 256 \r\n\r\n 12.4 小结 258 \r\n\r\n 习题 258 \r\n\r\n 第13章 文件 261 \r\n\r\n 13.1 概述 261 \r\n\r\n 13.1.1 文件的概念 261 \r\n\r\n 13.1.2 文件的分类 262 \r\n\r\n 13.1.3 与文件有关的两个常量NULL和EOF 263 \r\n\r\n 13.1.4 标准函数库的引用 264 \r\n\r\n 13.2 文件类型指针 264 \r\n\r\n 13.3 文件的打开. 关闭及结束检测函数 264 \r\n\r\n 13.3.1 文件打开的格式 265 \r\n\r\n 13.3.2 文件打开方式 265 \r\n\r\n 13.3.3 文件的关闭 266 \r\n\r\n 13.4 按字符方式读写文件函数fputc()/fgetc() 266 \r\n\r\n 13.4.1 fputc()函数 266 \r\n\r\n 13.4.2 fgetc()函数 267 \r\n\r\n 13.4.3 fputc()/fgetc()函数使用实例 267 \r\n\r\n 13.5 按数据块方式读写文件fread()/fwrite() 271 \r\n\r\n 13.5.1 fread( ) 函数 271 \r\n\r\n 13.5.2 fwrite( ) 函数 271 \r\n\r\n 13.5.3 fread()/fwrite()函数使用实例 271 \r\n\r\n 13.6 按格式化方式读写文件 274 \r\n\r\n 13.7 其他读写磁盘函数 275 \r\n\r\n 13.8 文件的定位 276 \r\n\r\n 13.8.1 rewind()函数 277 \r\n\r\n 13.8.2 fseek()函数 277 \r\n\r\n 13.8.3 ftell()函数 278 \r\n\r\n 13.9 出错的检测 278 \r\n\r\n 13.10 非缓冲文件系统 279 \r\n\r\n 13.11 小结 280 \r\n\r\n 习题 280 \r\n\r\n 附录 七位ASCII码编码表 283 \r\n\r\n 参考文献 284 \r\n
\r\n
编者的话
高等教育是我国今后一个时期内发展的重点. 为适应高等教育的需要, 并结合国家教育部“面向21世纪教学内容和课程体系的改革(计算机课程)”课题研究的阶段性成果, 我们编写了这本教材. 在编写过程中力求适合现代高等教育的特点和要求, 引导学生通过实践操作很快掌握一门程序设计语言.
通过本教材的学习, 使学生了解和掌握计算机基础知识和程序设计的能力, 初步具有在将来的工作. 学习. 生活等方面应用计算机的能力, 也就是初步具备运用计算机处理信息的能力. 具体要求如下.
在知识结构上, 要求学生掌握计算机的基本原理, 硬件的基本知识, 程序设计的基本方法和基本训练.
在操作技能上, 应达到学会使用Windows 2000操作系统, 并具有熟练操作. 使用微型计算机的基本能力, 学会掌握基本概念. 动手编程. 上机调试运行. 特别应在动手编程. 上机调试运行上下功夫.
在能力培养上, 要充分体现信息时代的特点, 使学生初步具有获取信息. 分析信息和处理信息的能力, 具有不断获取计算机新知识形成新的技能的自我学习能力, 具有用计算机解决实际问题的能力, 从而可为在今后工作中运用计算机处理专业问题打下基础.
全书共分13章. 第1章介绍计算机的基本知识. 数制与编码等, 第2章, 介绍C语言的基本知识和基本结构:第3—6章介绍C语言数据类型. 运算符与表达式. 顺序结构程序设计. 选择结构程序设计和循环结构程序设计, 第7章介绍一维数组. 二维数组及字符数组, 第8章介绍函数的概念. 定义及调用, 第9章介绍编译预处理:第10章介绍指针的初始化. 引用等:第11章介绍结构的定义和说明. 结构体变量的初始化及引用等, 第12章介绍位运算及位段的概念, 第13章介绍文件的基本概念与管理等.
本书是作者在多年的教学基础上, 参考最新资料整理而成. 在教材的编写过程中, 对基本概念. 基础知识的介绍力求做到简明扼要, 各章相互配合, 又自成体系并附有小结和习题. 建议本课程70学时, 讲课40学时, 上机和课堂讨论30学时.
本书由袁律生. 王忠芝. 李冬梅. 蔡娟. 王春玲和孙俏等编写. 其中第1章由袁津生编写, 第2—5章由王春玲编写, 第6, 7章由李冬梅编写, 第8, 10, 11章由蔡娟编写, 第9章由孙俏编写, 第12, 13章由王忠芝编写, 全书由袁律生修改定稿. 由于编写时间仓促, 编者水平有限, 书中难免有许多错误和不当之处, 请读者批评指正.
编 者
2003年1月