新書推薦:
《
万千教育学前·与幼儿一起解决问题:捕捉幼儿园一日生活中的教育契机
》
售價:NT$
214.0
《
爱你,是我做过最好的事
》
售價:NT$
254.0
《
史铁生:听风八百遍,才知是人间(2)
》
售價:NT$
254.0
《
量子网络的构建与应用
》
售價:NT$
500.0
《
拍电影的热知识:126部影片里的创作技巧(全彩插图版)
》
售價:NT$
500.0
《
大唐名城:长安风华冠天下
》
售價:NT$
398.0
《
情绪传染(当代西方社会心理学名著译丛)
》
售價:NT$
403.0
《
中国年画 1950-1990 THE NEW CHINA: NEW YEAR PICTURE 英文版
》
售價:NT$
1100.0
|
編輯推薦: |
本教材采用项目案例的形式讲授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.4dowhile循环
5.4.1dowhile语句
5.4.2dowhile循环程序举例
5.5循环的嵌套
5.6循环辅助语句和while1循环
5.6.1break语句
5.6.2continue语句
5.6.3while1形式的循环
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.1.6按位右移运算符
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语言的产生颇为有趣,C语言实际上是UNIX操作系统的一个副产品。1972年,美国贝尔实验室的Dennis Ritchie为了开发UNIX操作系统,专门设计了一种新的语言C语言。由于C语言具有强大的功能和很高的运行效率,兼具高级语言的直观性与低级语言的硬件访问能力,因而很快从贝尔实验室进入了广大程序员的编程世界。
由于Dennis Ritchie设计C语言的初衷是用于开发UNIX操作系统,因此C语言称得上是一门专业语言。这使得C语言在具有强大的功能和较高的运行效率的同时,也在一定程度上存在语法晦涩难懂、不便于初学者掌握的不足之处。
因此,C语言似乎不太适合作为程序设计初学者的入门语言。不过在现代人效率观念的驱使下,仍有许多学校将C语言选作初学者的入门语言。
其实,这样选择也未尝不可。只不过在教学中应当思考如何采取有效的应对策略,使初学者避开那些晦涩难懂的语法,从C语言最基本、最实用的编程方法入手,力争使学习者尽快地学会程序设计的基本方法,进而达到应用编程解决实际问题的境界。
从学习者的角度来说,要注意抓住C语言学习的要害所在编程方法,而不要沉溺于C语言的语法细节之中。因为学习C语言的目的是为了编写程序解决实际问题,而过于细致地研究C语言的语法对于提高编程能力并没有太大的帮助。
针对上述问题,本书作者在教学内容的编排上,采用了项目驱动知识的方式,即根据各章项目案例的需求,合理地安排每一个知识主题的切入点,从而将C语言中枯燥难懂的语法知识分解到全书各章中,并力求通过程序实例归纳出来。
本书在讲解程序实例时,采用逐步构造法写出程序,即通过编程思路、算法设计、程序原型等环节一步一步地构造出完整的程序,从而加深读者对编程方法的理解和掌握。
学习知识的最终目的是运用知识解决现实中的问题,而面向项目的教学就是一种紧密结合现实问题的、能够有效地提高学习者综合分析问题和解决问题能力的教学模式。在本书的各主要章节中,分别提供了若干个项目式案例,供读者学习参考之用。仔细研究这些案例,将有助于提高读者的程序设计能力。
本书第1章、第2章由李业刚编写,第3章、第11章由李增祥编写,
第13章、第14章由淄博技师学院史国兴编写,
其余各章由巨同升编写。全书由巨同升统筹并定稿。
在本书的编写过程中,作者得到了山东理工大学计算机科学与技术学院广大同仁的大力支持与帮助,在此表示感谢。
由于作者水平所限,书中难免存在不足之处,敬请广大专家和读者批评指正。
编者2018年1月于山东理工大学
|
|