C程序设计与应用
《C程序设计与应用》是由徐立辉、刘冬莉编著,2011年清华大学出版社出版的高等学校计算机基础教育规划教材。该教材可作为高等学校C语言程序设计课程的教学用书,也可作为自学C语言和参加全国计算机等级考试的参考书。1
全书共12章。第1章介绍了C语言程序的基本结构、运行C语言程序的步骤与程序开发环境以及算法的表示。第2章介绍了C语言的数据类型、运算符与表达式。第3~5章介绍了基本控制结构组成,包括顺序、选择和循环结构。第6章介绍了数组,包括一维数组、二维数组和字符数组。第7章介绍了函数。第8章介绍了指针。第9章介绍了结构体与共用体。第10章介绍了文件。第11章介绍了C语言课程设计案例。第12章介绍了UNIX/Linux环境下的C语言编程入门。1
基本信息
- 出版社
清华大学出版社
- 出版时间
2011年1月1日
- 作者
徐立辉、刘冬莉
- 装帧
平装
- 开本
16开
成书过程
修订过程
该教材由徐立辉进行整体策划。具体编写分工如下:其中第1、8章和附录由徐立辉编写,第2章由李鹏、王永会编写,第3、4章由刘冬莉编写,第5、6章由冯毅宏编写,第7、10章由刘俊岭编写,第9、11章由何凯编写,第12章由牛志成、李鹏编写。全书由徐立辉、刘冬莉主编并统稿。2
出版工作
2011年1月1日,该教材由清华大学出版社出版。3
责任编辑 | 责任校对 | 责任印制 |
|---|---|---|
袁勤勇、薛阳 | 梁毅 | 何芊4 |
内容简介
全书共12章。其中第1章介绍了C语言程序的基本结构、运行C语言程序的步骤与程序开发环境以及算法的表示。第2章介绍了C语言的数据类型、运算符与表达式。第3~5章介绍了基本控制结构组成,包括顺序、选择和循环结构。第6章介绍了数组,包括一维数组、二维数组和字符数组。第7章介绍了函数。第8章介绍了指针。第9章介绍了结构体与共用体。第10章介绍了文件。第11章介绍了C语言课程设计案例。第12章介绍了UNIX/Linux环境下的C语言编程入门。2
教材目录
第1章C程序设计概述11.1程序设计的基本概念11.1.1程序11.1.2程序设计21.1.3程序设计语言21.2C语言简介41.2.1C语言的发展历史41.2.2C语言的特点61.2.3如何学习C语言61.3C语言程序的基本结构71.3.1简单的C语言程序71.3.2C语言程序的编写要求101.4运行C语言程序的步骤与程序开发环境111.4.1运行C语言程序的步骤111.4.2开发环境MicrosoftVisualC++6.0121.4.3开发环境TurboC2.0201.5算法211.5.1算法概述211.5.2算法的表示221.6结构化程序设计的思想和方法24习题125第2章数据类型与表达式262.1C语言的数据类型262.2标识符、常量与变量272.2.1标识符272.2.2常量282.2.3符号常量282.2.4变量292.3整型数据302.3.1整型数据的表示302.3.2整型数据的存储322.3.3整型变量的定义与初始化332.4实型数据332.4.1实型数据的表示332.4.2实型数据的存储342.4.3实型变量的定义与初始化342.5字符型数据352.6运算符和表达式362.6.1C运算符与表达式简介362.6.2算术运算符和算术表达式372.6.3赋值运算符和赋值表达式402.6.4逗号运算符和逗号表达式422.6.5关系运算符和关系表达式432.6.6逻辑运算符和逻辑表达式432.6.7条件运算符和条件表达式442.6.8位运算符和位运算表达式442.7数据类型转换452.8综合程序举例47习题250第3章顺序结构513.1C程序的语句513.1.1C语句概述513.1.2赋值语句523.2数据输出函数533.2.1printf函数543.2.2putchar函数563.3数据输入函数573.3.1scanf函数573.3.2getchar函数603.4标准库函数613.5顺序结构程序举例63习题366第4章选择结构674.1关系运算674.1.1关系运算符674.1.2关系表达式674.2逻辑运算684.2.1逻辑运算符684.2.2逻辑表达式694.3if语句704.3.1if语句和选择结构704.3.2if语句的嵌套744.3.3条件运算符和条件表达式764.4switch语句与break语句774.5选择结构程序举例79习题482第5章循环结构845.1循环语句845.1.1while语句845.1.2do-while语句855.1.3for语句865.2循环的嵌套895.3结束循环的语句905.3.1break语句905.3.2continue语句915.4循环结构应用举例92习题596第6章数组976.1数组的概念976.2一维数组976.2.1一维数组的定义976.2.2一维数组的引用996.2.3一维数组的初始化996.2.4一维数组应用举例1006.3二维数组1056.3.1二维数组的定义1056.3.2二维数组的引用1066.3.3二维数组的初始化1076.3.4二维数组应用举例1086.4字符数组1106.4.1字符数组的定义1116.4.2字符数组的初始化1116.4.3字符数组的引用1126.4.4字符串1126.4.5字符数组的输入输出1136.4.6字符串处理函数1156.4.7字符数组应用举例118习题6120第7章函数1227.1函数的概念1227.2定义函数的一般形式1237.3函数的值和函数参数1257.3.1实际参数和形式参数1257.3.2函数的返回值1267.4函数的调用形式1287.4.1调用函数的一般形式1287.4.2调用函数的方式1287.4.3对被调用函数的原型声明1297.5函数的嵌套调用1317.6函数的递归调用1347.7数组作为函数参数1367.7.1数组元素作实参1367.7.2数组名作函数的形参和实参1377.7.3二维数组名作函数参数1397.8局部变量与全局变量1397.8.1局部变量1407.8.2全局变量1417.9变量的存储类别1437.9.1静态存储方式与动态存储方式1437.9.2自动型变量auto1437.9.3静态型变量static1437.9.4寄存器型变量register1447.9.5外部参照型变量extern1457.9.6用static声明全局变量147 | 7.10内部函数与外部函数1487.10.1内部函数1487.10.2外部函数1487.11编译预处理1497.11.1宏定义1497.11.2文件包含1527.11.3条件编译153习题7155第8章指针1568.1指针的基本概念1568.1.1变量的地址1568.1.2指针变量1578.2指针变量的定义与引用1578.2.1指针变量的定义与初始化1578.2.2指针变量的引用1588.2.3使用指针变量作为函数参数1608.3指针的运算1628.3.1指针变量的赋值运算1628.3.2指针变量的算术运算1648.3.3指针变量的关系运算1658.4指针与数组1658.4.1指向一维数组元素的指针1658.4.2使用指针引用一维数组元素1668.4.3使用一维数组名或指向一维数组的指针作为函数的参数1678.4.4指针与二维数组1718.4.5指向二维数组元素的指针1728.4.6使用指向二维数组的指针作为函数的参数1748.5指向字符串的指针变量1758.5.1字符串的表示形式1758.5.2使用指向字符串的指针作为函数参数1788.5.3字符指针变量与字符数组的区别1808.6指针数组1808.6.1指针数组的一般定义形式1808.6.2指针数组的应用1818.7指针数组作为main函数的形参1838.7.1带参数的main函数的一般形式1838.7.2命令行参数的应用1848.8指向指针的指针变量1858.8.1指向指针的指针变量的一般定义形式1868.8.2指向指针的指针变量的应用1868.8.3多级指针的概念1888.9指向函数的指针变量1888.9.1指向函数的指针变量的一般定义形式1888.9.2使用函数指针变量调用函数1898.9.3使用指向函数的指针作为函数参数1908.10返回指针的函数1928.10.1返回指针的函数的定义形式1928.10.2返回指针的函数的应用1928.11指向void的指针变量和指针的数据类型小结1938.11.1指向void的指针变量1938.11.2指针的数据类型的小结1948.12指针程序举例194习题8203第9章结构体与共用体2049.1结构体2049.1.1结构体类型和结构体变量2049.1.2结构体类型的定义2059.1.3结构变量的定义2069.2结构体变量成员的引用方法2089.2.1结构体变量的引用2089.2.2结构体变量的赋值2089.3结构体变量的初始化2099.4结构体数组2099.5结构体指针2119.5.1结构体指针定义2119.5.2指向结构体数组的指针2139.5.3结构体在函数传递中的应用2149.6动态存储分配2159.7用结构体和指针处理链表2179.7.1链表的概念2179.7.2建立链表2199.7.3输出链表2209.7.4对链表的插入操作2209.7.5对链表的删除操作2229.8共用体2269.8.1共用体概念2269.8.2共用体类型的定义2279.8.3共用体变量的定义2279.8.4共用体变量成员的引用方法2289.9枚举类型2299.9.1枚举类型的定义2299.9.2枚举变量的说明2309.9.3枚举变量的赋值和使用2309.10类型定义符typedef2329.10.1典型用法2329.10.2典型类型的别名定义形式233习题9234第10章文件23610.1文件概述23610.1.1文件的基本知识23610.1.2文件类型指针23710.2文件的打开与关闭23810.2.1打开文件23810.2.2关闭文件23910.3文件的读写23910.3.1字符的输入输出24010.3.2字符串的输入输出24110.3.3文件的格式化输入输出24210.3.4文件的数据块输入输出24210.4文件的其他常用函数24410.4.1文件的定位24410.4.2出错检测24710.5位运算与位运算符24710.5.1按位与运算符(&)24810.5.2按位或运算符(|)24810.5.3按位取反运算符(~)24910.5.4按位异或运算符(^)24910.5.5左移运算符(<<)25010.5.6右移运算符(>>)25110.5.7位运算赋值运算符25110.5.8位运算举例252习题10253第11章课程设计案例254第12章UNIX/Linux下C语言编程入门27612.1UNIX/Linux简介27612.1.1UNIX/Linux简介27612.1.2基于RedHatLinux的实验环境27712.2源程序编辑27912.2.1vi的工作状态及常用命令27912.2.2vi基本操作27912.3编译与调试28012.3.1使用gcc编译28012.3.2使用gdb调试28212.4操作举例28312.4.1基本操作举例28312.4.2高级操作举例284附录AC语言中的关键字287附录B运算符优先级和结合性288附录C常用字符与ASCII编码对照表290附录DANSIC的常用库函数292附录EVC++6.0菜单中英文对照298参考文献303 |
(注:目录排版顺序为从左列至右列5)
教学资源
该教材有配套教材——《C程序设计与应用实验指导及习题》,书中内容主要以VisualC++6.0为编程环境,由12个实验组成,每个实验都设计了编程样例或者调试样例、程序填空题、程序修改题和程序设计题。26
书名 | 书号 | 出版社 | 出版时间 | 作者 |
|---|---|---|---|---|
《C程序设计与应用实验指导及习题》 | 9787302246220 | 清华大学出版社 | 2011.02.01 | 徐立辉、刘冬莉6 |
教材特色
该教材是为将C语言作为入门语言的程序设计课程编写的教材,目的是培养学生的程序设计基本能力和创新能力以及良好的程序设计风格。1
该教材以程序设计为主线,以编程应用为驱动,主要讲解程序设计的基本思想、方法,同时介绍了C语言相关的语法知识。该教材以2008年全国计算机等级考试新需求为出发点,教学环境为VisualC++6.0平台。1
作者简介
徐立辉,男,硕士,沈阳城市建设学院副教授。1987年7月毕业于沈阳建筑大学计算机应用技术专业,获学士学位,并曾在中国科学院沈阳自动化研究所研修。主要从事教学科研工作,曾被评为沈阳建筑大学“优秀教师”和“先进工作者”。7