计算机类教材 > 算法与程序设计

C语言程序设计教程

书号:9787113291020 套系名称:普通高等院校计算机基础教育“十四五”系列教材

作者:郭一晶 薛春艳 出版日期:2022-06-01

定价:49.00 页码 / 开本:无 /16

策划编辑:贾星 责任编辑:贾星 贾淑媛

适用专业:计算机基础教育 适用层次:高等教育

最新印刷时间:

资源下载
教学课件(暂无) 教学素材(暂无)
习题答案(暂无) 教学案例(暂无)
教学设计(暂无) 教学视频(暂无)
内容简介 前言 目录 作者介绍 图书特色
  • C语言是应用较广泛的一门程序设计语言。本书注重可读性和实用性,配备了大量经过精心筛选的例题,既能帮助学生理解知识,又具有启发性。
    
    本书在写作上注重简明易懂,并通过大量短小的例题对知识点进行分析解释,突出C语言的编程思想和编程能力的培养。本书共分8章,分别介绍基本数据类型、程序控制语句、数组、函数、指针、结构体、共用体和枚举类型、文件读/写操作等内容。本书配有辅导教材《C语言程序设计习题解析》。
    
    本书适合作为高等院校C语言程序设计课程的教材,也可以作为从事软件开发的工程技术人员自学使用的参考书。
  • C语言是目前应用较广泛的一门程序设计语言,长期以来,一直受到编程人员的喜爱。学生如何学好这门语言是广大教师一直都在思考的问题。
    
    本书具有以下特点:
    
    (1)简明易懂。本书在叙述方式上尽可能浅显易懂,用人们日常生活中的例子或图示来加以说明,并用大量短小的例题进行分析解释。
    
    (2)框架完整,知识细节不要求必须记忆,但要求掌握如何探索知识细节。
    
    (3)对每一个例题均进行了详细分析和解释,既可以帮助读者学习理解知识和概念,大大降低学习难度,又具有启发性,触类旁通。
    
    (4)按照问题解决的需要分多个层次逐步讲解C语言编程,依次为:能够由解决问题的想法到算法再到最终的代码,能够写出高质量的代码,能够进行应用领域编程,能够进行简单实用工具的开发。实际应用中大多数的编程属于简单编程,也就是说,只要学会想法到代码的映射,就能够解决大多数的实际应用问题。
    
    (5)注意与其他课程的衔接。在书中对学生以后学习的数据结构、面向对象程序设计、单片机设计、嵌入式开发编程、软件工程等课程进行了铺垫和延伸,有助于学生过渡到后续课程的学习。
    
    C语言的教学应该强调教学实施过程、知识积累的过程、能力培养的过程,使学生能快乐地学习,使每一个学生喜欢本课程,掌握程序设计的思想和方法,让学生在学习本课程过程中享受到程序设计的乐趣,培养学生在各专业领域中应用计算机解决问题的意识和能力。应该说,学习任何一种编程语言都有一定难度。因此,要强调动手实践,多编写、多练习,熟能生巧,从学习中体验到程序设计的乐趣和成功的喜悦,增强学习信心。
    
    本书共分8章,其各章内容简介如下:
    
    第1章主要介绍C语言的发展历史和特点,并对C语言的基本结构和调试方式做简要的介绍。
    
    第2章主要介绍C语言的基本数据类型(整型、字符型和浮点型)、常用的运算符(算术运算符、赋值运算符、逗号运算符、位运算符、关系运算符和逻辑运算符)及常用的表达式等。
    
    第3章主要介绍程序控制结构中的顺序结构、选择结构和循环结构及其应用。
    
    第4章主要介绍数组的定义、使用,从一维数组扩展到二维数组,并介绍字符数组的相关应用。
    
    第5章主要介绍指针的概念及指针的应用。
    
    第6章主要介绍函数定义和调用、函数的嵌套、变量的作用域与存储类型等。
    
    第7章主要介绍结构体、共用体和枚举类型及这些构造类型的应用。
    
    第8章主要介绍输入/输出流及文件的读/写操作等内容。
    
    本书例题源程序可以在中国铁道出版社有限公司网站(http://www.tdpress.com/51eds/)下载。下载文件还提供了习题解答及电子课件以帮助读者学习。本书配有辅导教材《C语言程序设计习题解析》(薛春艳,郭一晶),与主教材相呼应,以更好地达到教学效果。本套教材的编者均为多年从事大学程序设计课程教学的教师,具有丰富的教学及程序设计的实践经验。
    
    本书由郭一晶、薛春艳任主编,高凤强、邱义、陈炳飞、张思民任副主编。具体编写分工如下:第1、8章由高凤强编写,第2章由陈炳飞编写,第3章由张思民编写,第4章由郭一晶编写,第5、7章由邱义编写,第6章由薛春艳编写。
    
    由于时间仓促,编者水平有限,书中不妥和疏漏之处在所难免,恳请专家和读者不吝赐教。
    
     
    
     
    
    编  者       
    
     2022年1月 
  • 第1章?C语言基础知识.. 1
    
    1.1?C语言概述... 1
    
    1.1.1?C语言的发展简史... 1
    
    1.1.2?C语言的特点... 1
    
    1.1.3?C语言编译器和IDE的选择... 2
    
    1.1.4?C程序的基本结构... 3
    
    1.2?C语言程序的开发... 5
    
    1.2.1?C语言程序的编写和运行... 5
    
    1.2.2?C-Free环境下的程序建立与运行... 7
    
    1.2.3?C-Free环境下的程序调试... 15
    
    小结... 22
    
    习题1. 22
    
    第2章?C语言程序设计基础.. 23
    
    2.1?C语言的基本数据类型... 23
    
    2.1.1?标识符... 23
    
    2.1.2?常量... 24
    
    2.1.3?变量... 24
    
    2.2?基本输入/输出函数... 30
    
    2.2.1?格式化输出函数... 30
    
    2.2.2?格式化输入函数... 33
    
    2.2.3?字符输入/输出函数... 36
    
    2.3?运算符和表达式... 37
    
    2.3.1?算术运算符和算术表达式... 37
    
    2.3.2?赋值运算符和赋值表达式... 39
    
    2.3.3?逗号运算符和逗号表达式... 41
    
    2.3.4?运算符的优先级... 42
    
    2.4?位运算符与位运算... 44
    
    2.5?关系表达式与逻辑表达式... 49
    
    2.5.1?关系运算符和关系表达式... 49
    
    2.5.2?逻辑运算符和逻辑表达式... 49
    
    小结... 51
    
    习题2. 51
    
    第3章?C语言程序的控制结构.. 55
    
    3.1?顺序结构... 55
    
    3.1.1?C语言的语句... 55
    
    
    3.1.2?顺序控制语句... 55
    
    
    3.2?选择结构... 57
    
    
    3.2.1?选择结构语句... 57
    
    
    3.2.2?条件表达式... 62
    
    
    3.2.3?switch语句... 63
    
    
    3.2.4?条件编译... 68
    
    
    3.3?循环结构... 70
    
    
    3.3.1?while语句... 70
    
    
    3.3.2?for循环语句... 72
    
    
    3.3.3?break语句和continue语句... 74
    
    
    3.3.4?循环的嵌套... 76
    
    
    3.4?综合应用... 78
    
    
    小结... 83
    
    
    习题3. 84
    
    
    第4章?数组.. 88
    
    
    4.1?一维数组... 88
    
    
    4.1.1?一维数组的定义... 88
    
    
    4.1.2?一维数组元素的引用... 89
    
    
    4.1.3?一维数组的初始化... 90
    
    
    4.1.4?一维数组应用... 91
    
    
    4.2?二维数组... 97
    
    
    4.2.1?二维数组的定义... 97
    
    
    4.2.2?二维数组元素的引用... 98
    
    
    4.2.3?二维数组的初始化... 100
    
    
    4.3?字符数组与字符串... 103
    
    
    4.3.1?字符数组... 103
    
    
    4.3.2?字符串... 105
    
    
    4.3.3?字符串运算函数... 107
    
    
    4.4?综合应用... 112
    
    
    小结... 119
    
    
    习题4. 119
    
    
    第5章?指针.. 125
    
    
    5.1?地址和指针... 125
    
    
    5.1.1?指针概述... 125
    
    
    5.1.2?指针变量... 126
    
    
    5.2?指针与数组... 131
    
    
    5.2.1?指针与一维数组... 131
    
    
    5.2.2?通过指针引用一维数组元素... 131
    
    
    5.3?指针与字符串及指针数组... 136
    
    5.3.1?指针与字符串    136
    
    
    5.3.2?指针数组... 143
    
    5.4?动态内存分配... 145
    
    小结... 148
    
    习题5. 148
    
    第6章?函数.. 152
    
    6.1?函数概述... 152
    
    6.2?函数的定义、调用及分类... 153
    
    6.2.1?函数的定义... 154
    
    6.2.2?函数的调用... 157
    
    6.2.3?函数的声明... 161
    
    6.3?函数参数及其传递方式... 162
    
    6.3.1?形参和实参... 162
    
    6.3.2?参数的传递方式... 164
    
    6.3.3?数组作为函数参数... 167
    
    6.4?函数的嵌套调用... 171
    
    6.5?变量的作用域与存储类型... 174
    
    6.5.1?全局变量与局部变量... 174
    
    6.5.2?变量的存储类别... 176
    
    6.6?标准函数简介... 179
    
    6.7?综合应用... 185
    
    小结... 188
    
    习题6. 189
    
    第7章?结构体与共用体.. 198
    
    7.1?结构体类型... 198
    
    7.1.1?结构体类型的定义... 198
    
    7.1.2?结构体变量的定义与引用... 199
    
    7.1.3?结构体数组的定义与使用... 203
    
    7.1.4?结构体类型指针... 210
    
    7.1.5?结构体与函数... 213
    
    7.2?共用体与枚举类型... 217
    
    7.2.1?共用体... 217
    
    7.2.2?枚举类型... 221
    
    7.3?用typedef定义类型... 223
    
    7.4?链表... 224
    
    7.4.1?链表的建立和输出... 225
    
    7.4.2?链表结点的查找... 228
    
    7.4.3?链表结点的添加... 230
    
    7.4.4?链表结点的删除... 235
    
    小结... 238
    
    习题7. 239
    
    第8章?文件操作.. 245
    
    8.1?文件概述... 245
    
    8.1.1?数据流与文件的概念... 245
    
    8.1.2?文件类型指针... 246
    
    8.1.3?文件的操作... 247
    
    8.2?文件的打开和关闭... 247
    
    8.2.1?文件打开函数fopen() 247
    
    8.2.2?文件关闭函数fclose() 248
    
    8.3?文件的顺序读/写... 249
    
    8.3.1?字符读/写函数... 249
    
    8.3.2?字符串读/写函数... 251
    
    8.3.3?格式化读/写函数... 253
    
    8.3.4?二进制文件读/写函数... 255
    
    8.3.5?文件的随机读写... 257
    
    8.3.6?文件状态检查函数... 260
    
    8.4?模块化编程... 262
    
    8.4.1?模块化编程概念... 262
    
    8.4.2?模块化编程实例... 263
    
    小结... 266
    
    习题8  267
  • 郭一晶:男,博士,副教授,厦门大学嘉庚学院教师,计算机应用技术,主讲课程:C语言程序设计。薛春艳:女,博士,副教授,厦门大学嘉庚学院教师,计算机及应用专业。作者长期从事计算机类应用项目开发设计工作,并在高校担任计算机专业程序设计课程的教学工作,有丰富的教学经验和程序设计实践经验。
  • (1)框架完整,简明易懂,讲解详细。本书在叙述方式上尽可能浅显易懂,用人们日常生活中的例子或图示来加以说明,并用大量短小的例题进行分析解释。对每一个例题均进行了详细分析和解释,既可以帮助读者学习理解知识和概念,大大降低学习难度,又具有启发性,触类旁通。
    
     (2)按照问题解决的需要分多个层次逐步讲解C语言编程,依次为:能够由解决问题的想法到算法再到最终的代码,能够写出高质量的代码,能够进行应用领域编程,能够进行简单实用工具的开发。实际应用中大多数的编程属于简单编程,也就是说,只要学会想法到代码的映射,就能够解决大多数的实际应用问题。
    
    (3)注意与其他课程的衔接。在书中对学生以后学习的数据结构、面向对象程序设计、单片机设计、嵌入式开发编程、软件工程等课程进行了铺垫和延伸,有助于学生过渡到后续课程的学习。