本书在教学内容的编排上,采用“项目驱动知识”的方式,即根据每一章项目案例的需求,合理地安排每一个知识主题的切入点,从而将C语言中枯燥难懂的语法知识分解到全书各章中,并力求通过程序实例归纳出来。
本书在讲解程序实例时,采用“逐步构造法”写出程序,即通过编程思路、算法设计、程序原型等环节一步一步地构造出完整的程序,从而加深读者对编程方法的理解和掌握。
在本书的各主要章节中,分别提供了若干个项目式案例,供读者学习参考之用。仔细研究这些案例,将有助于提高读者的程序设计能力。
本书内容依据当前*版的C语言参考手册编写,兼顾C89与C99标准。内容包括引论、基本数据与运算、顺序结构程序设计、选择结构程序设计、循环结构程序设计、数组、指针、字符与字符串处理、函数、函数的进一步讨论、编译预处理命令、结构体与共用体、位运算、文件等。
本书依据Visual C
2010 Express和DEV C
5.11集成开发环境进行讲述,符合当前软件的发展趋势,便于读者上机调试程序。
本书教学内容的编排顺畅合理,编程方法的讲解新颖独特,特别适合于初学者自学。本书可作为高等院校各专业学生学习C语言程序设计的教材和参考书。
目录
第1章引论
1.1程序与程序设计语言
1.2C语言的发展及特点
1.2.1C语言的发展
1.2.2C语言的标准化
1.2.3C语言的特点
1.3C语言程序的构成
1.4C语言程序的运行
1.4.1Dev C
1.4.2Visual C
2010
1.4.3程序的调试
第2章基本的数据与运算
2.1常量、变量与标识符
2.1.1关键字与标识符
2.1.2变量
2.1.3常量
2.2整型、实型与字符型数据
2.2.1整型数据
2.2.2实型数据
2.2.3字符型数据
2.2.4sizeof运算符
2.3算术运算符和算术表达式
2.3.1基本算术运算符
2.3.2算术表达式
2.3.3运算符的优先级
2.3.4运算符的结合性
第3章顺序结构程序设计
3.1C语言的语句类型
3.2变量的赋值和初始化
3.2.1赋值表达式
3.2.2变量的初始化
3.3数据的格式输入与格式输出
3.3.1格式输出函数(printf函数)
3.3.2格式输入函数(scanf函数)
3.4拓展: 赋值运算中的类型转换
3.4.1实型数据赋给整型(或字符型)变量
3.4.2整型(或字符型)数据赋给实型变量
3.4.3整型数据赋给类型不同的等长整型变量
3.5项目式案例
第4章选择结构程序设计
4.1关系表达式与逻辑表达式
4.1.1关系运算符
4.1.2关系表达式
4.1.3逻辑运算符
4.1.4逻辑表达式
4.2算法与流程图
4.2.1简单算法举例
4.2.2算法的表示
4.3if语句
4.3.1if语句的两种基本形式
4.3.2if语句的嵌套
4.3.3嵌套if结构与平行if结构的区别
4.4混合运算与强制类型转换
4.4.1混合运算
4.4.2强制类型转换
4.5switch语句
4.6拓展: 逻辑运算量、条件表达式与goto语句
4.6.1逻辑运算量的扩展
4.6.2条件表达式
4.6.3语句标号与goto语句
4.7项目式案例
第5章循环结构程序设计
5.1while循环
5.1.1while语句
5.1.2while循环程序举例
5.2自增自减运算符与复合赋值运算符
5.2.1自增自减运算符
5.2.2复合赋值运算符
5.3for循环
5.3.1for语句
5.3.2for循环程序举例
5.4do?while循环
5.4.1do?while语句
5.4.2do?while循环程序举例
5.5循环的嵌套
5.6循环辅助语句和while(1)循环
5.6.1break语句
5.6.2continue语句
5.6.3while(1)形式的循环
5.7拓展: 逗号表达式与for语句变式
5.7.1逗号运算符与逗号表达式
5.7.2for语句变式
5.8项目式案例
第6章数组
6.1一维数组
6.1.1一维数组的定义
6.1.2一维数组的使用
6.1.3一维数组的初始化
6.1.4一维数组应用举例
6.2二维数组
6.2.1二维数组的定义
6.2.2二维数组的初始化
6.2.3二维数组的引用
6.2.4二维数组应用举例
6.3项目式案例
第7章指针
7.1变量的指针
7.1.1指针的概念
7.1.2指针变量
7.1.3指针变量的定义
7.2变量的间接引用
7.2.1取地址运算符“&”
7.2.2间接引用运算符“*”
7.2.3指针变量的初始化
7.2.4几点说明
7.3指针与一维数组
7.3.1指向一维数组元素的指针
7.3.2通过指针引用一维数组元素
7.4拓展: 指针与二维数组
7.4.1指向二维数组元素和行的指针
7.4.2行指针变量
7.5拓展: 指针数组与二重指针
7.5.1指针数组
7.5.2二重指针
第8章字符与字符串处理
8.1字符型数据的使用
8.1.1字符型数据的输入与输出
8.1.2字符型数据与整型数据的混合运算
8.1.3字符处理函数
8.2字符串的存储与引用
8.2.1字符串在内存中的存储形式
8.2.2用字符数组存储和引用字符串
8.2.3用字符指针变量引用字符串
8.3字符串的输入和输出
8.3.1用printf函数输出字符串
8.3.2用puts函数输出字符串
8.3.3用scanf函数输入字符串
8.3.4用gets函数输入字符串
8.4字符串处理函数
8.4.1字符串长度函数strlen
8.4.2字符串复制函数strcpy
8.4.3字符串连接函数strcat
8.4.4字符串比较函数strcmp
8.4.5字符查找函数strchr
8.4.6字符串查找函数strstr
8.4.7字符串大写转小写函数strlwr
8.4.8字符串小写转大写函数strupr
8.5字符串处理应用举例
8.6项目式案例
第9章函数
9.1库函数
9.2用户函数的定义与调用
9.2.1无参函数的定义
9.2.2无参函数的调用
9.2.3有参函数的定义和调用
9.3函数的参数和返回值
9.3.1函数的参数
9.3.2函数的返回值
9.4函数的调用方式与函数原型
9.4.1函数的调用方式
9.4.2函数原型的声明
9.5变量的作用域和生存期
9.5.1变量的作用域
9.5.2变量的生存期
9.6拓展: 多文件程序
9.6.1多文件程序的运行
9.6.2函数的存储类别
9.6.3全局变量的存储类别
9.7项目式案例
第10章函数的进一步讨论
10.1指针作函数参数
10.2数组名作函数参数
10.2.1一维数组名作函数参数
10.2.2拓展: 二维数组名作函数参数
10.3指针型函数和指向函数的指针
10.3.1指针型函数
10.3.2指向函数的指针
10.4函数的递归调用
10.5项目式案例
第11章编译预处理命令
11.1宏定义命令
11.1.1不带参数的宏定义
11.1.2带参数的宏定义
11.2文件包含命令
11.3拓展: 条件编译
第12章结构体与共用体
12.1结构体类型与结构体变量
12.1.1结构体变量的定义
12.1.2结构体类型标识符的定义
12.2结构体变量的引用和初始化
12.2.1结构体变量的初始化
12.2.2结构体变量的引用
12.3结构体数组
12.3.1结构体数组的定义
12.3.2结构体数组的初始化
12.4结构体指针
12.4.1指向结构体变量的指针
12.4.2指向结构体数组元素的指针
12.5结构体变量的跨函数引用
12.5.1结构体变量作函数参数
12.5.2结构体指针作函数参数
12.6共用体
12.6.1共用体变量的定义
12.6.2共用体类型标识符的定义
12.6.3共用体变量的初始化
12.6.4共用体变量的引用
12.7枚举类型
12.7.1枚举类型标识符的定义
12.7.2枚举类型变量的定义与使用
12.8用typedef定义类型别名
12.9内存的动态分配
12.10拓展: 链表
12.10.1链表的概念
12.10.2链表的创建与遍历
12.10.3链表的插入与删除
第13章位运算
13.1位运算符
13.1.1按位取反运算符~
13.1.2按位与运算符&
13.1.3按位或运算符|
13.1.4按位异或运算符∧
13.1.5按位左移运算符
13.2项目式案例
第14章文件
14.1文件概述
14.1.1文本文件和二进制文件
14.1.2FILE类型
14.2文件的打开与关闭
14.2.1文件打开函数fopen
14.2.2文件关闭函数fclose
14.3文件的读写
14.3.1fscanf函数和fprintf函数
14.3.2fgetc函数和fputc函数
14.3.3fgets函数和fputs函数
14.3.4fread函数和fwtrite函数
14.4拓展: 文件的读写定位与随机读写
14.4.1rewind函数
14.4.2fseek函数
14.4.3ftell函数
14.4.4文件的随机读写
14.5项目式案例
附录A ASCII码字符表
附录BC语言的关键字
附录C运算符的优先级和结合性
附录D常用的C语言库函数
参考文献
内容简介:
本书在教学内容的编排上,采用“项目驱动知识”的方式,即根据每一章项目案例的需求,合理地安排每一个知识主题的切入点,从而将C语言中枯燥难懂的语法知识分解到全书各章中,并力求通过程序实例归纳出来。
本书在讲解程序实例时,采用“逐步构造法”写出程序,即通过编程思路、算法设计、程序原型等环节一步一步地构造出完整的程序,从而加深读者对编程方法的理解和掌握。
在本书的各主要章节中,分别提供了若干个项目式案例,供读者学习参考之用。仔细研究这些案例,将有助于提高读者的程序设计能力。
本书内容依据当前*版的C语言参考手册编写,兼顾C89与C99标准。内容包括引论、基本数据与运算、顺序结构程序设计、选择结构程序设计、循环结构程序设计、数组、指针、字符与字符串处理、函数、函数的进一步讨论、编译预处理命令、结构体与共用体、位运算、文件等。
本书依据Visual C
2010 Express和DEV C
5.11集成开发环境进行讲述,符合当前软件的发展趋势,便于读者上机调试程序。
本书教学内容的编排顺畅合理,编程方法的讲解新颖独特,特别适合于初学者自学。本书可作为高等院校各专业学生学习C语言程序设计的教材和参考书。
目录:
目录
第1章引论
1.1程序与程序设计语言
1.2C语言的发展及特点
1.2.1C语言的发展
1.2.2C语言的标准化
1.2.3C语言的特点
1.3C语言程序的构成
1.4C语言程序的运行
1.4.1Dev C
1.4.2Visual C
2010
1.4.3程序的调试
第2章基本的数据与运算
2.1常量、变量与标识符
2.1.1关键字与标识符
2.1.2变量
2.1.3常量
2.2整型、实型与字符型数据
2.2.1整型数据
2.2.2实型数据
2.2.3字符型数据
2.2.4sizeof运算符
2.3算术运算符和算术表达式
2.3.1基本算术运算符
2.3.2算术表达式
2.3.3运算符的优先级
2.3.4运算符的结合性
第3章顺序结构程序设计
3.1C语言的语句类型
3.2变量的赋值和初始化
3.2.1赋值表达式
3.2.2变量的初始化
3.3数据的格式输入与格式输出
3.3.1格式输出函数(printf函数)
3.3.2格式输入函数(scanf函数)
3.4拓展: 赋值运算中的类型转换
3.4.1实型数据赋给整型(或字符型)变量
3.4.2整型(或字符型)数据赋给实型变量
3.4.3整型数据赋给类型不同的等长整型变量
3.5项目式案例
第4章选择结构程序设计
4.1关系表达式与逻辑表达式
4.1.1关系运算符
4.1.2关系表达式
4.1.3逻辑运算符
4.1.4逻辑表达式
4.2算法与流程图
4.2.1简单算法举例
4.2.2算法的表示
4.3if语句
4.3.1if语句的两种基本形式
4.3.2if语句的嵌套
4.3.3嵌套if结构与平行if结构的区别
4.4混合运算与强制类型转换
4.4.1混合运算
4.4.2强制类型转换
4.5switch语句
4.6拓展: 逻辑运算量、条件表达式与goto语句
4.6.1逻辑运算量的扩展
4.6.2条件表达式
4.6.3语句标号与goto语句
4.7项目式案例
第5章循环结构程序设计
5.1while循环
5.1.1while语句
5.1.2while循环程序举例
5.2自增自减运算符与复合赋值运算符
5.2.1自增自减运算符
5.2.2复合赋值运算符
5.3for循环
5.3.1for语句
5.3.2for循环程序举例
5.4do?while循环
5.4.1do?while语句
5.4.2do?while循环程序举例
5.5循环的嵌套
5.6循环辅助语句和while(1)循环
5.6.1break语句
5.6.2continue语句
5.6.3while(1)形式的循环
5.7拓展: 逗号表达式与for语句变式
5.7.1逗号运算符与逗号表达式
5.7.2for语句变式
5.8项目式案例
第6章数组
6.1一维数组
6.1.1一维数组的定义
6.1.2一维数组的使用
6.1.3一维数组的初始化
6.1.4一维数组应用举例
6.2二维数组
6.2.1二维数组的定义
6.2.2二维数组的初始化
6.2.3二维数组的引用
6.2.4二维数组应用举例
6.3项目式案例
第7章指针
7.1变量的指针
7.1.1指针的概念
7.1.2指针变量
7.1.3指针变量的定义
7.2变量的间接引用
7.2.1取地址运算符“&”
7.2.2间接引用运算符“*”
7.2.3指针变量的初始化
7.2.4几点说明
7.3指针与一维数组
7.3.1指向一维数组元素的指针
7.3.2通过指针引用一维数组元素
7.4拓展: 指针与二维数组
7.4.1指向二维数组元素和行的指针
7.4.2行指针变量
7.5拓展: 指针数组与二重指针
7.5.1指针数组
7.5.2二重指针
第8章字符与字符串处理
8.1字符型数据的使用
8.1.1字符型数据的输入与输出
8.1.2字符型数据与整型数据的混合运算
8.1.3字符处理函数
8.2字符串的存储与引用
8.2.1字符串在内存中的存储形式
8.2.2用字符数组存储和引用字符串
8.2.3用字符指针变量引用字符串
8.3字符串的输入和输出
8.3.1用printf函数输出字符串
8.3.2用puts函数输出字符串
8.3.3用scanf函数输入字符串
8.3.4用gets函数输入字符串
8.4字符串处理函数
8.4.1字符串长度函数strlen
8.4.2字符串复制函数strcpy
8.4.3字符串连接函数strcat
8.4.4字符串比较函数strcmp
8.4.5字符查找函数strchr
8.4.6字符串查找函数strstr
8.4.7字符串大写转小写函数strlwr
8.4.8字符串小写转大写函数strupr
8.5字符串处理应用举例
8.6项目式案例
第9章函数
9.1库函数
9.2用户函数的定义与调用
9.2.1无参函数的定义
9.2.2无参函数的调用
9.2.3有参函数的定义和调用
9.3函数的参数和返回值
9.3.1函数的参数
9.3.2函数的返回值
9.4函数的调用方式与函数原型
9.4.1函数的调用方式
9.4.2函数原型的声明
9.5变量的作用域和生存期
9.5.1变量的作用域
9.5.2变量的生存期
9.6拓展: 多文件程序
9.6.1多文件程序的运行
9.6.2函数的存储类别
9.6.3全局变量的存储类别
9.7项目式案例
第10章函数的进一步讨论
10.1指针作函数参数
10.2数组名作函数参数
10.2.1一维数组名作函数参数
10.2.2拓展: 二维数组名作函数参数
10.3指针型函数和指向函数的指针
10.3.1指针型函数
10.3.2指向函数的指针
10.4函数的递归调用
10.5项目式案例
第11章编译预处理命令
11.1宏定义命令
11.1.1不带参数的宏定义
11.1.2带参数的宏定义
11.2文件包含命令
11.3拓展: 条件编译
第12章结构体与共用体
12.1结构体类型与结构体变量
12.1.1结构体变量的定义
12.1.2结构体类型标识符的定义
12.2结构体变量的引用和初始化
12.2.1结构体变量的初始化
12.2.2结构体变量的引用
12.3结构体数组
12.3.1结构体数组的定义
12.3.2结构体数组的初始化
12.4结构体指针
12.4.1指向结构体变量的指针
12.4.2指向结构体数组元素的指针
12.5结构体变量的跨函数引用
12.5.1结构体变量作函数参数
12.5.2结构体指针作函数参数
12.6共用体
12.6.1共用体变量的定义
12.6.2共用体类型标识符的定义
12.6.3共用体变量的初始化
12.6.4共用体变量的引用
12.7枚举类型
12.7.1枚举类型标识符的定义
12.7.2枚举类型变量的定义与使用
12.8用typedef定义类型别名
12.9内存的动态分配
12.10拓展: 链表
12.10.1链表的概念
12.10.2链表的创建与遍历
12.10.3链表的插入与删除
第13章位运算
13.1位运算符
13.1.1按位取反运算符~
13.1.2按位与运算符&
13.1.3按位或运算符|
13.1.4按位异或运算符∧
13.1.5按位左移运算符
13.2项目式案例
第14章文件
14.1文件概述
14.1.1文本文件和二进制文件
14.1.2FILE类型
14.2文件的打开与关闭
14.2.1文件打开函数fopen
14.2.2文件关闭函数fclose
14.3文件的读写
14.3.1fscanf函数和fprintf函数
14.3.2fgetc函数和fputc函数
14.3.3fgets函数和fputs函数
14.3.4fread函数和fwtrite函数
14.4拓展: 文件的读写定位与随机读写
14.4.1rewind函数
14.4.2fseek函数
14.4.3ftell函数
14.4.4文件的随机读写
14.5项目式案例
附录A ASCII码字符表
附录BC语言的关键字
附录C运算符的优先级和结合性
附录D常用的C语言库函数
参考文献