C程序设计

C程序设计"

作者:张朋张丕振主编顾健马玲孟庆新刘晓慧范彬宋丹茹周本海赵越副主编
ISBN:9787302587224
定价:¥55
字数:千字
页数:
出版时间:2021.12.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

C语言是目前较好的学习程序设计的语言。C程序设计课程是程序设计的重要基础课,是培养学生程序设计能力的重要课程之一。因此,学好C语言程序设计课程,对掌握基本编程方法、培养基本编程素质具有重要意义。

本书是作者们多年来在一线讲授C语言程序设计的基础上,总结多年的教学经验,针对高等院校的学生整理而成的。书中全面地介绍了C语言的基本概念、数据类型、语句及结构特点。系统地讲述了C语言程序设计的基本方法和技巧。

本书采取循序渐进的内容安排方式、通俗易懂的讲解方法,并辅以大量的例题;讲述力求理论联系实际、深入浅出;注重培养读者的程序设计能力及良好的程序设计风格和习惯;注重实践环节,每章最后精选了较多的习题。

本书可作为普通高等学校计算机专业和非计算机专业C语言程序设计课程的本科、专科教材(可以根据本科、专科教学要求的不同进行适当取舍),也可供计算机培训班或其他自学者使用。

前言

C语言是国内外广泛推广使用的结构化程序设计语言。它功能丰富、表达能力强、使用方便灵活、目标程序效率高、可移植性好,既具有高级语言的优点,又具有低级语言的许多特点。因此C语言既可用于开发系统软件,也可用于开发应用软件,应用面很广,许多大型的软件都是采用C语言开发的。目前,多数高等院校不仅计算机专业开设C语言这门课程,非计算机专业也开设了这门课程。同时,许多学生都选择C语言作为参加全国计算机等级考试(二级)的考试科目。本书全面介绍了C语言的概念、特性和结构化程序设计方法,具体特点如下。

(1) 教材内容经过精心组织,体系合理、结构严谨,全面讲授C语言程序设计的基本思想、方法和解决实际问题的技巧。

(2) C语言的概念比较复杂,规则较多,使用灵活,容易出错,不少初学者感到困难。教材内容组织形式由浅入深、循序渐进,以便于学生学习,并有利于提高学生的程序设计能力。

(3) 内容丰富,注重实践;突出重点,分散难点。本书的宗旨在于进一步巩固学生对基本知识的理解和掌握,提高学生的逻辑分析、抽象思维和程序设计能力,培养学生用计算机编程解决实际问题的能力。

(4) 对所介绍的内容都配有典型的实例,大部分实例均在Visual C++6.0环境下上机调试并通过,便于教师在上课时演示。同时,每章最后都设有精心挑选的多种类型的习题,以帮助读者通过练习进一步理解和巩固所学的内容。

本书共分11章,全面介绍C语言的主要内容。第1章“C语言概述”,主要介绍C语言的由来、特点,通过实例说明C语言程序的基本结构、源程序的书写风格以及C语言程序的运行过程,还对在Visual C++6.0环境下如何运行C语言程序进行了介绍。第2章“数据类型、运算符与表达式”,主要介绍C语言的基本数据类型、常量和变量,基本运算符与表达式。第3章“顺序结构程序设计”,主要介绍C语言语句分类、数据的输入输出、输入输出函数的调用。第4章“选择结构程序设计”,主要介绍关系运算符和关系表达式、逻辑运算符与逻辑表达式以及选择结构程序设计的思想和基本语句。第5章“循环结构程序设计”,主要介绍循环结构程序设计的思想、基本语句并通过程序实例阐明循环结构程序的具体应用。第6章“函数与编译预处理”,主要介绍函数的概念、函数定义与声明的基本方法、函数的传值调用、函数的嵌套调用和递归调用、变量的存储类别以及内部函数、外部函数、宏定义、文件包含和条件编译等。第7章“数组”,主要介绍数组的概念、一维数组和二维数组的定义及初始化、字符数组与字符串的概念以及常用的字符串处理函数,数组作为函数参数的方法,并通过程序实例阐明数组的具体应用。第8章“指针”,主要介绍指针的概念、指针变量的定义与初始化、指针与数组、指针与字符串、指针与函数、指针数组等,通过程序实例阐明指针的具体应用。第9章“结构体和共用体”,主要介绍结构体、共用体、枚举类型、链表的概念及链表的基本操作。第10章“位运算”,介绍位运算符及位运算规则、位段的概念。第11章“文件”,主要介绍文件的概念、文件的打开与关闭、文件的定位、文件的读写等,并给出文件基本操作的实例。

本书由张朋、张丕振主编,顾健、马玲、孟庆新、刘晓慧、范彬、宋丹茹、周本海、赵越为副主编,顾健编写第1章,刘晓慧编写第2章,马玲编写第3章,范彬编写第4章,张丕振编写第5章,宋丹茹编写第6章,孟庆新编写第7章,赵越编写第8章,张朋编写第9章和第10章,周本海编写第11章。

随着计算机技术的发展和应用的普及,高等院校的计算机教育也在不断发展,新的教育教学体系和思想也在探索中,加之编者水平有限,编写时间仓促,书中难免有疏漏和不足之处,恳请读者和专家批评指正,以便下次出版时更正。

编者2021年6月

目录

第1章C语言概述1

1.1程序与程序设计语言1

1.1.1程序1

1.1.2程序设计1

1.1.3程序设计语言1

1.2C语言发展概述和主要特点3

1.2.1C语言的发展历史3

1.2.2C语言的主要特点3

1.3C程序设计方法4

1.3.1C程序的基本结构4

1.3.2C程序设计步骤5

1.4Microsoft Visual C++集成开发环境简介6

1.4.1Visual C++6.07

1.4.2Visual Studio 20109

本章小结12

习题12

第2章数据类型、运算符与表达式14

2.1基本标识符14

2.1.1关键字14

2.1.2预定义标识符15

2.1.3用户定义标识符15

2.2C语言的数据类型15

2.2.1数据类型概述15

2.2.2C语言的基本数据类型16

2.2.3数据类型修饰符17

2.3常量和变量18

2.3.1常量18

2.3.2变量19

2.4整型数据21

2.4.1整型常量21

2.4.2整型变量212.4.3整型变量的使用21

2.5实型数据22

2.5.1实型常量22

2.5.2实型变量22

2.6字符型数据22

2.6.1字符型常量22

2.6.2字符型变量23

2.7运算符及表达式24

2.7.1算术运算符和算术表达式24

2.7.2赋值运算符与赋值表达式26

2.7.3逗号运算符和逗号表达式27

2.8数据类型转换28

2.8.1类型自动转换28

2.8.2赋值转换28

2.8.3强制类型转换29

本章小结30

习题32

第3章顺序结构程序设计35

3.1C语句分类概述35

3.2数据输入与输出38

3.2.1字符输出函数putchar()38

3.2.2字符输入函数getchar()39

3.2.3格式输出函数printf()39

3.2.4格式输入函数scanf()44

3.3程序举例48

本章小结49

习题50

第4章选择结构程序设计54

4.1关系运算符和关系表达式54

4.1.1关系运算符54

4.1.2关系表达式55

4.2逻辑运算符与逻辑表达式56

4.2.1逻辑运算符56

4.2.2逻辑表达式56

4.3if语句57

4.3.1if语句的一般形式58

4.3.2缺省else结构的if语句59

4.3.3if语句的嵌套60

4.3.4条件运算符62

4.4switch语句64

4.5程序举例67

本章小结71

习题71

第5章循环结构程序设计75

5.1while语句75

5.2dowhile语句76

5.3for语句78

5.3.1for语句的一般形式78

5.3.2for语句中的各部分含义78

5.3.3for语句的执行过程78

5.3.4for语句与while语句的比较79

5.3.5for语句应用举例79

5.3.6for语句的变形80

5.4break语句、continue语句和goto语句81

5.4.1break语句81

5.4.2continue语句82

5.4.3goto语句83

5.5循环的嵌套84

5.6程序举例86

本章小结90

习题90

第6章函数与编译预处理94

6.1模块化程序设计与函数94

6.2函数的定义与调用95

6.2.1函数的定义96

6.2.2函数的调用98

6.3函数的递归调用100

6.4变量作用域与存储方式102

6.4.1局部变量102

6.4.2全局变量104

6.4.3动态存储与静态存储106

6.4.4自动变量(auto)106

6.4.5寄存器变量(register)108

6.4.6静态变量(static)109

6.5内部函数和外部函数110

6.5.1内部函数110

6.5.2外部函数111

6.6编译预处理111

6.6.1宏定义111

6.6.2文件包含113

6.6.3条件编译114

6.7程序举例115

本章小结117

习题118

第7章数组123

7.1一维数组的定义和引用123

7.1.1一维数组的定义123

7.1.2一维数组元素的引用124

7.1.3一维数组的初始化124

7.1.4一维数组应用举例125

7.2二维数组的定义和引用126

7.2.1二维数组的定义126

7.2.2二维数组元素的引用127

7.2.3二维数组的初始化127

7.2.4二维数组应用举例128

7.3字符数组与字符串129

7.3.1字符数组129

7.3.2字符串的概念及存储131

7.3.3字符串的输入和输出132

7.3.4字符串处理函数135

7.4数组作为函数的参数138

7.5程序举例141

本章小结147

习题147

第8章指针152

8.1指针概述152

8.1.1变量的地址和指针变量的概念152

8.1.2指针变量的定义及初始化154

8.1.3指向指针的指针155

8.2指针变量的赋值与引用156

8.2.1指针变量的赋值156

8.2.2指针变量的引用158

8.3指针变量的运算159

8.3.1指针变量的算术运算159

8.3.2指针变量的关系运算159

8.4指针与数组160

8.4.1一维数组元素的指针访问方式160

8.4.2二维数组元素的指针访问方式162

8.4.3字符指针与字符串166

8.4.4指针数组168

8.5指针与函数170

8.5.1指针作为函数参数170

8.5.2返回指针值的函数173

8.5.3指向函数的指针176

8.6带参数的main()函数及其使用179

8.6.1命令行参数179

8.6.2带参数的main()函数179

8.7程序举例180

本章小结182

习题183

第9章结构体和共用体192

9.1结构体193

9.1.1结构体类型的定义193

9.1.2结构体类型变量的定义和初始化194

9.1.3结构体成员的引用196

9.2结构体类型数组196

9.2.1结构体类型数组的定义197

9.2.2结构体类型数组的初始化197

9.2.3结构体数组的使用198

9.3指向结构体的指针198

9.3.1指向结构体变量的指针198

9.3.2指向结构体数组元素的指针200

9.4结构体和函数201

9.4.1结构体类型的变量作函数参数201

9.4.2指向结构体变量的指针作为函数参数202

9.4.3函数的返回值为结构体类型数据203

9.4.4函数的返回值为结构体类型指针204

9.5共用体204

9.5.1共用体类型的定义204

9.5.2共用体变量的定义205

9.5.3共用体成员的引用206

9.6枚举类型207

9.7用typedef进行类型定义209

9.7.1类型定义的基本格式209

9.7.2类型定义的使用说明209

9.8综合实例: 简单链表212

9.8.1链表概述212

9.8.2链表的创建和遍历215

9.8.3链表的删除218

9.8.4链表结点的插入和添加219

本章小结225

习题225

第10章位运算231

10.1概述231

10.2位运算232

10.2.1按位取反运算符232

10.2.2按位与运算符232

10.2.3按位或运算符232

10.2.4按位异或运算符233

10.2.5按位左移运算符233

10.2.6按位右移运算符233

10.2.7位运算赋值运算符233

10.2.8不同长度的数据进行位运算233

10.3位运算举例234

10.4位段235

本章小结237

习题237

第11章文件239

11.1文件概述239

11.1.1文件分类239

11.1.2文件指针241

11.1.3文件打开和关闭242

11.2文件的读写245

11.2.1字符读写245

11.2.2字符串读写247

11.2.3格式化读写250

11.2.4块数据读写 251

11.3随机文件和定位操作253

11.3.1随机文件253

11.3.2定位操作254

11.4文件状态检测和错误处理256

11.4.1ferror()函数256

11.4.2clearerr()函数256

11.5综合实例: 学生信息文件的存取257

本章小结260

习题260

附录A常用字符和ASCII代码对照表264

附录BC语言中的关键字266

附录C运算符和结合性268

作者简介

编辑推荐

本书采取循序渐进的内容安排方式,通俗易懂的讲解方法,并辅以大量的例题;讲述力求理论联系实际、深入浅出;注重培养读者的程序设计能力及良好的程序设计风格和习惯;注重实践环节,每章精选了较多的习题。

作者寄语

电子资料

www.luweidong.cn

下一个