传统的C语言教材侧重于介绍语法规则和程序结构,学生即使掌握了所有知识点,但在解决实际问题时仍会茫然不知所措。本书从计算思维培养的角度出发,以应用为背景,通过对实际案例的思考分析,借助任务驱动的模式将知识点串接起来,形成逻辑清晰的脉络和主线,加深对C语言的理解和驾驭能力,提升分析问题和解决问题的能力。
本书从计算思维培养的角度出发,以应用为背景,通过对实际案例的思考分析,借助任务驱动的模式将知识点串接起来,形成逻辑清晰的脉络和主线,加深对C语言的理解和驾驭能力,提升分析问题和解决问题的能力。
田丰春,南京晓庄电子与信息工程学院,业务流程建模、计算机程序设计等。副教授,研究方向:智能优化、计算机程序设计等
目录第1章绪论1.1程序与程序设计语言1.2为什么学习C语言1.3C语言程序的结构1.4如何运行C程序1.5算法1.6软件开发小结习题第2章顺序结构程序设计2.1引例2.2数据的表现形式2.2.1标识符2.2.2数据类型2.2.3不同类型的常量2.2.4不同类型的变量2.2.5符号常量和常变量2.3基本运算2.3.1算术运算符和表达式2.3.2赋值运算2.3.3自动类型转换与强制类型转换2.3.4C语言的其他运算2.4常用数学库函数2.5数据的输入输出2.5.1格式化输出函数printf()2.5.2格式化输入函数scanf()2.5.3字符数据的输入输出函数小结习题第3章选择结构程序设计3.1引例3.2关系运算符和关系表达式3.3逻辑运算符和逻辑表达式3.4用if语句实现选择结构3.5条件运算符和条件表达式3.6if语句的嵌套3.7实现多分支选择的switch语句小结习题第4章循环结构程序设计4.1引例4.2循环控制结构与循环语句4.3几种循环的比较4.4循环嵌套4.5流程控制语句4.5.1用break语句提前终止循环4.5.2用continue语句提前结束本次循环4.6循环程序举例小结习题第5章数组5.1引言5.2一维数组5.2.1一维数组的定义5.2.2一维数组元素的引用5.2.3一维数组元素的初始化5.2.4一维数组的应用(1)5.2.5一维数组的应用(2)5.3二维数组5.3.1二维数组的定义5.3.2二维数组元素的引用5.3.3二维数组的初始化5.3.4二维数组的应用5.4字符数组5.4.1字符数组的定义与初始化5.4.2字符串的输入和输出5.4.3字符串的处理函数5.4.4字符串的应用小结习题第6章函数6.1引言6.1.1函数的作用6.1.2模块化的程序设计思想6.2函数定义6.3函数的调用和参数传递6.3.1函数的调用6.3.2函数的参数传递6.3.3函数的返回值6.4函数的声明和原型6.5函数的嵌套与递归调用6.5.1函数的嵌套调用6.5.2函数的递归调用6.6数组作为函数参数6.7变量的作用域和存储类型6.7.1变量的作用域6.7.2变量的存储类型6.8内部函数和外部函数小结习题第7章指针7.1什么是指针7.2指针的定义及使用7.2.1指针变量的定义及赋值7.2.2指针变量的引用7.2.3指针相关的运算7.2.4指向指针的指针7.3指针与数组7.3.1一维数组与指针7.3.2指针与二维数组7.3.3数组指针7.3.4指针与字符串7.3.5指针数组7.4指针和函数7.4.1指针作为函数的参数7.4.2指向函数的指针变量7.4.3返回指针值的函数小结习题第8章结构体与共用体8.1概述8.1.1结构体的引入8.1.2结构体类型的定义8.2结构体变量定义8.2.1结构体变量的定义与初始化8.2.2结构体变量的引用8.3结构体数组8.3.1结构体数组的定义与初始化8.3.2结构体数组应用举例8.4指向结构体类型数据的指针8.4.1指向结构体变量的指针8.4.2指向结构体数组的指针8.4.3用结构体变量和指向结构体的指针作函数参数8.5用指针处理链表8.5.1链表概述8.5.2简单链表8.5.3处理动态链表所需的函数8.5.4建立动态链表8.5.5输出链表8.5.6对链表的删除操作8.5.7对链表的插入操作8.5.8对链表的综合操作8.6共用体8.6.1共用体类型定义8.6.2共用体变量定义与引用8.7枚举类型8.8用typedef定义类型小结习题第9章文件9.1文件概述9.2常用文件操作函数9.2.1文件打开/关闭9.2.2文件读/写9.3文件操作示例小结习题第10章C语言应用程序设计实例10.1背景知识10.2核心知识点10.3系统开发环境10.4系统实施10.5小结附录附录A在Visual C++ 6.0环境下运行C程序的方法附录B常用字符与ASCII代码对照表附录CC语言中的关键字附录D运算符的优先级及结合方式附录E常用标准库函数参考文献