《C程序设计(第4版)》内容简介:从20世纪70年代末、80年代初开始,中国的高等院校开始面向各个专业的全体大学生开展计算机教育。面向非计算机专业学生的计算机基础教育,牵涉的专业面广、人数众多,影响深远,它将直接影响中国各行各业、各个领域中计算机应用的发展水平。这是一项意义重大而且大有可为的工作,应该引起各方面的充分重视。目录: 　　第1章程序设计和C语言1 　　1.1什么是计算机程序1 　　1.2什么是计算机语言1 　　1.3C语言的发展及其特点3 　　1.4最简单的C语言程序5 　　1.4.1最简单的C语言程序举例6 　　1.4.2C语言程序的结构10 　　1.5运行C程序的步骤与方法12 　　1.6程序设计的任务14 　　习题15 　　第2章算法——程序的灵魂16 　　2.1什么是算法16 　　2.2简单的算法举例17 　　2.3算法的特性21 　　2.4怎样表示一个算法22 　　2.4.1用自然语言表示算法22 　　2.4.2用流程图表示算法22 　　2.4.3三种基本结构和改进的流程图26 　　2.4.4用NS流程图表示算法28 　　2.4.5用伪代码表示算法31 　　2.4.6用计算机语言表示算法32 　　2.5结构化程序设计方法34 　　习题36 　　第章最简单的C程序设计——顺序程序设计37 　　3.1顺序程序设计举例37 　　3.2数据的表现形式及其运算39 　　3.2.1常量和变量39 　　3.2.2数据类型42 　　3.2.3整型数据44 　　3.2.4字符型数据47 　　3.2.5浮点型数据49 　　3.2.6怎样确定常量的类型51 　　3.2.7运算符和表达式52 　　3.3C语句57 　　3.3.1C语句的作用和分类57 　　3.3.2最基本的语句——赋值语句59 　　3.4数据的输入输出65 　　3.4.1输入输出举例65 　　3.4.2有关数据输入输出的概念67 　　3.4.3用printf函数输出数据68 　　3.4.4用scanf函数输入数据75 　　3.4.5字符数据的输入输出78 　　习题82 　　第4章选择结构程序设计85 　　4.1选择结构和条件判断85 　　4.2用if语句实现选择结构87 　　4.2.1用if语句处理选择结构举例87 　　4.2.2if语句的一般形式 89 　　4.3关系运算符和关系表达式91 　　4.3.1关系运算符及其优先次序91 　　4.3.2关系表达式92 　　4.4逻辑运算符和逻辑表达式92 　　4.4.1逻辑运算符及其优先次序93 　　4.4.2逻辑表达式94 　　4.4.3逻辑型变量96 　　4.5条件运算符和条件表达式97 　　4.6选择结构的嵌套99 　　4.7用switch语句实现多分支选择结构102 　　4.8选择结构程序综合举例105 　　习题111 　　第5章循环结构程序设计114 　　5.1为什么需要循环控制114 　　5.2用while语句实现循环115 　　5.3用do…while语句实现循环117 　　5.4用for 语句实现循环120 　　5.5循环的嵌套124 　　5.6几种循环的比较125 　　5.7改变循环执行的状态125 　　5.7.1用break语句提前终止循环126 　　5.7.2用continue语句提前结束本次循环127 　　5.7.3break语句和continue语句的区别128 　　5.8循环程序举例131 　　习题140 　　第6章利用数组处理批量数据142 　　6.1怎样定义和引用一维数组142 　　6.1.1怎样定义一维数组143 　　6.1.2怎样引用一维数组元素144 　　6.1.3一维数组的初始化145 　　6.1.4一维数组程序举例146 　　6.2怎样定义和引用二维数组148 　　6.2.1怎样定义二维数组149 　　6.2.2怎样引用二维数组的元素150 　　6.2.3二维数组的初始化151 　　6.2.4二维数组程序举例152 　　6.3字符数组154 　　6.3.1怎样定义字符数组154 　　6.3.2字符数组的初始化155 　　6.3.3怎样引用字符数组中的元素155 　　6.3.4字符串和字符串结束标志156 　　6.3.5字符数组的输入输出159 　　6.3.6使用字符串处理函数161 　　6.3.7字符数组应用举例165 　　习题168 　　第7章用函数实现模块化程序设计170 　　7.1为什么要用函数170 　　7.2怎样定义函数172 　　7.2.1为什么要定义函数172 　　7.2.2定义函数的方法173 　　7.3调用函数174 　　7.3.1函数调用的形式174 　　7.3.2函数调用时的数据传递175 　　7.3.3函数调用的过程177 　　7.3.4函数的返回值178 　　7.4对被调用函数的声明和函数原型179 　　7.5函数的嵌套调用182 　　7.6函数的递归调用184 　　7.7数组作为函数参数192 　　7.7.1数组元素作函数实参193 　　7.7.2数组名作函数参数194 　　7.7.3多维数组名作函数参数197 　　7.8局部变量和全局变量199 　　7.8.1局部变量199 　　7.8.2全局变量200 　　7.9变量的存储方式和生存期204 　　7.9.1动态存储方式与静态存储方式204 　　7.9.2局部变量的存储类别205 　　7.9.3全局变量的存储类别208 　　7.9.4存储类别小结212 　　7.10关于变量的声明和定义214 　　7.11内部函数和外部函数215 　　7.11.1内部函数215 　　7.11.2外部函数215 　　习题218 　　第8章善于利用指针220 　　8.1指针是什么220 　　8.2指针变量222 　　8.2.1使用指针变量的例子222 　　8.2.2怎样定义指针变量223 　　8.2.3怎样引用指针变量224 　　8.2.4指针变量作为函数参数226 　　8.3通过指针引用数组230 　　8.3.1数组元素的指针230 　　8.3.2在引用数组元素时指针的运算231 　　8.3.3通过指针引用数组元素233 　　8.3.4用数组名作函数参数237 　　8.3.5通过指针引用多维数组245 　　8.4通过指针引用字符串255 　　8.4.1字符串的引用方式 255 　　8.4.2字符指针作函数参数259 　　8.4.3使用字符指针变量和字符数组的比较263 　　8.5指向函数的指针266 　　8.5.1什么是函数指针266 　　8.5.2用函数指针变量调用函数266 　　8.5.3怎样定义和使用指向函数的指针变量268 　　8.5.4用指向函数的指针作函数参数270 　　8.6返回指针值的函数274 　　8.7指针数组和多重指针277 　　8.7.1什么是指针数组 277 　　8.7.2指向指针数据的指针280 　　8.7.3指针数组作main函数的形参282 　　8.8动态内存分配与指向它的指针变量285 　　8.8.1什么是内存的动态分配285 　　8.8.2怎样建立内存的动态分配285 　　8.8.3void指针类型 287 　　8.9有关指针的小结288 　　习题291 　　第9章用户自己建立数据类型293 　　9.1定义和使用结构体变量293 　　9.1.1自己建立结构体类型293 　　9.1.2定义结构体类型变量 295 　　9.1.3结构体变量的初始化和引用297 　　9.2使用结构体数组300 　　9.2.1定义结构体数组300 　　9.2.2结构体数组的应用举例301 　　9.3结构体指针303 　　9.3.1指向结构体变量的指针303 　　9.3.2指向结构体数组的指针304 　　9.3.3用结构体变量和结构体变量的指针作函数参数306 　　9.4用指针处理链表309 　　9.4.1什么是链表 309 　　9.4.2建立简单的静态链表310 　　9.4.3建立动态链表311 　　9.4.4输出链表315 　　9.5共用体类型317 　　9.5.1什么是共用体类型317 　　9.5.2引用共用体变量的方式318 　　9.5.3共用体类型数据的特点319 　　9.6使用枚举类型323 　　9.7用typedef声明新类型名326 　　习题330 　　第10章对文件的输入输出331 　　10.1C文件的有关基本知识331 　　10.1.1什么是文件331 　　10.1.2文件名332 　　10.1.3文件的分类332 　　10.1.4文件缓冲区333 　　10.1.5文件类型指针333 　　10.2打开与关闭文件335 　　10.2.1用fopen函数打开数据文件335 　　10.2.2用fclose函数关闭数据文件337 　　10.3顺序读写数据文件338 　　10.3.1怎样向文件读写字符338 　　10.3.2怎样向文件读写一个字符串341 　　10.3.3用格式化的方式读写文件344 　　10.3.4用二进制方式向文件读写一组数据345 　　10.4随机读写数据文件349 　　10.4.1文件位置标记及其定位349 　　10.4.2随机读写 352 　　10.5文件读写的出错检测353 　　习题354第11章常见错误分析355附录370附录A在Visual C++ 6.0环境下运行C程序的方法370 　　附录B常用字符与ASCII代码对照表377 　　附录CC语言中的关键字378 　　附录D运算符和结合性378 　　附录EC语言常用语法提要380 　　附录FC库函数384 　　参考文献390