【产品特色】


【编辑推荐】

本书由浅入深地介绍了C语言的基本理论、知识和编程技能,旨在帮助读者全面、系统地掌握用C语言进行程序设计的方法,并注重培养初学者解决实际问题的能力。每章后都附有习题,供读者练习。

本书还增加了课程思政的内容,每章都有育人目标和与内容相关的案例深入挖掘课程思政元素,强化育人导向,注重对读者理想信念、价值理念和道德观念的引领,使读者在提升专业技能的同时,潜移默化地进行人格塑造。每章内容融入大量典型案例,如哥德巴赫猜想、校园贷、蓝桥杯省赛和国赛试题等,培养学生精益求精的工匠精神、刻苦钻研的探索精神和团队协作的共赢精神,永不停顿地探索未知领域。这不仅有助于促进个人发展,也有助于社会形成强大而持久的生产力和创造力。


【内容简介】

全书由浅入深地介绍了C语言的基本理论、基本知识以及编程的基本技能和方法,使读者能全面、系统地理解和掌握利用C语言进行程序设计的方法,更注重培养初学者使用计算机程序设计语言解决实际问题的能力。全书的源程序都在DevC 6.3上实现。全书共12章,第1章全面介绍C语言的概貌,包括编程的预备知识、程序设计语言的发展过程、结构化程序设计的基本特点以及C语言的开发环境,第2~6章介绍C语言的基础语法知识和3种基本程序控制结构,包括关键字与标识符、常量与变量、基本数据类型、运算符与表达式等,以及顺序结构、选择结构、循环结构3种基本程序控制结构,第7、8章和第10~12章介绍C语言函数和构造数据类型等的使用,包括数组、函数、结构体、共用体、文件和预处理命令等,第9章介绍C语言的精髓——指针。每章后面均附有习题,以供读者练习。 本书融合了课程思政元素,强化育人导向,主要作为计算机及相关学科本科生的课程教材,也可供相关领域的研究人员和工程技术人员参考。


【目录】

第1章概述

1.1编程的预备知识

1.1.1学习编程的心理准备

1.1.2认识编程

1.1.3数据在计算机中的存储形式

1.2程序设计语言的基础

1.2.1程序设计语言的发展

1.2.2程序设计语言的特点及发展趋势

1.2.3程序设计的基本过程

1.3结构化程序设计

1.3.1什么是结构化程序设计

1.3.2结构化程序设计的基本原则

1.3.3结构化程序设计的基本结构

1.3.4结构化程序设计的基本特点

1.4C语言的发展历史及特点

1.4.1C语言的发展历史

1.4.2C语言的特点

1.4.3C语言的应用

1.5开发环境简介

1.5.1Turbo C开发环境

1.5.2Visual C 6.0开发环境

1.5.3DevC 6.3开发环境

1.6编写C语言程序的基本步骤

1.7本章小结

扩展阅读: C语言之父——丹尼斯·里奇

习题1

第2章C语言源程序的基本结构

2.1源程序的基本结构

2.1.1认识C语言源程序

2.1.2基本结构

2.2源程序的标识符

2.3源程序的基本语句

2.4带参数的main函数

2.5由多个文件构成的源程序

2.6本章小结

2.6.1知识梳理

2.6.2如何编程

习题2
第3章基本数据类型、运算符和表达式

3.1C语言的数据类型

3.2数据的表现形式

3.2.1常量

3.2.2变量

3.3基本数据类型

3.3.1整型数据

3.3.2实型数据

3.3.3字符型数据

3.3.4字符串常量

3.4常用运算符与表达式

3.4.1算术运算符及其表达式

3.4.2自增自减运算符、负号运算符

3.4.3赋值运算符及其表达式

3.4.4强制类型转换运算符

3.4.5逗号运算符及其表达式

3.4.6sizeof运算符

3.4.7位运算符及其表达式

3.5常见数学运算表达式在C语言中的表示

3.6本章小结

3.6.1知识梳理

3.6.2常见上机问题及解决方法

习题3
第4章顺序结构程序设计

4.13种基本的程序结构

4.2顺序结构程序设计的思想

4.3实现顺序结构程序设计的基本语句

4.3.1赋值语句

4.3.2数据的基本输入与输出

4.4顺序结构程序设计的典型应用

4.4.1图形的面积等计算问题

4.4.2数字分离问题

4.4.3数的交换问题

4.4.4大小写转换问题

4.5本章小结

4.5.1知识梳理

4.5.2常见上机问题及解决方法

习题4
第5章选择结构程序设计

5.1关系运算符、逻辑运算符和条件运算符

5.1.1关系运算符及其表达式

5.1.2逻辑运算符及其表达式

5.1.3条件运算符及其表达式

5.2选择结构程序设计语句

5.2.1if语句

5.2.2switch语句

5.3选择结构程序设计的典型应用

5.3.1数的最值问题

5.3.2方程根问题

5.3.3奖金问题

5.3.4运算器问题

5.4本章小结

5.4.1知识梳理

5.4.2常见上机问题及解决方法

扩展阅读: 程序调试方法和技巧

习题5
第6章循环结构程序设计

6.1循环结构程序设计语句

6.1.1for语句

6.1.2while语句

6.1.3dowhile语句

6.1.4goto语句

6.1.5for语句的其他格式

6.2循环嵌套结构程序设计

6.2.1循环嵌套结构

6.2.2break语句与continue语句

6.2.3不同循环语句的选择和比较

6.3循环结构程序设计的典型应用

6.3.1累加或累乘问题

6.3.2数的判断问题

6.3.3经典数学问题

6.3.4图形输出问题

6.3.5运算器问题

6.4本章小结

6.4.1知识梳理

6.4.2常见上机问题及解决方法

扩展阅读: 古人的智慧

习题6
第7章数组

7.1一维数组

7.1.1一维数组的定义和引用

7.1.2一维数组的初始化

7.2二维数组

7.2.1二维数组的定义和引用

7.2.2二维数组的初始化

7.3字符串与字符数组

7.3.1字符数组的定义和引用

7.3.2字符数组的赋值

7.3.3常用字符串处理函数

7.4数组的典型应用

7.4.1最大值和最小值问题

7.4.2杨辉三角形问题

7.4.3矩阵相乘问题

7.4.4字符串处理问题

7.5本章小结

7.5.1知识梳理

7.5.2常见上机问题及解决方法

扩展阅读: 计算机程序设计大赛

习题7
第8章函数

8.1函数概述

8.2函数的定义与调用

8.2.1无参数无返回值函数

8.2.2无参数有返回值函数

8.2.3有参数无返回值函数

8.2.4有参数有返回值函数

8.3函数参数的传递方式

8.4函数的嵌套与递归调用

8.5变量的作用域与生存期

8.5.1变量的作用域和生存期的概念

8.5.2局部变量的作用域和生存期

8.5.3全局变量的作用域和生存期

8.6变量的存储类型

8.7函数的作用域

8.8函数的典型应用

8.8.1数的最值问题

8.8.2最大公约数和最小公倍数问题

8.8.3阶乘问题

8.8.4汉诺塔问题

8.8.5运算器问题

8.9本章小结

8.9.1知识梳理

8.9.2常见上机问题及解决方法

习题8
第9章指针

9.1指针的基本概念

9.1.1指针与指针变量的概念

9.1.2指针变量的定义和引用

9.1.3指针的基本运算

9.1.4变量的指针与指向变量的指针变量

9.2指针和数组

9.2.1数组的指针和指向数组的指针变量

9.2.2指向多维数组的指针

9.2.3指针数组

9.3指针和字符数组

9.4指针和函数

9.4.1指针作为函数的参数

9.4.2指针函数与函数指针

9.5指针与动态内存分配

9.6多级指针

9.7指针的典型应用

9.7.1任意个整数求和

9.7.2冒泡排序

9.7.3轮转数

9.8本章小结

9.8.1知识梳理

9.8.2常见上机问题及解决方法

扩展阅读: 中国芯

习题9
第10章构造数据类型

10.1结构体

10.1.1结构体类型的定义

10.1.2结构体变量的定义

10.1.3结构体变量的引用和赋值

10.1.4结构体数组

10.1.5结构体和指针

10.2单链表

10.2.1单链表及其结构

10.2.2单链表的基本操作

10.3共用体

10.3.1共用体类型的定义

10.3.2共用体变量的定义和引用

10.3.3共用体变量的赋值

10.4位段

10.5枚举类型

10.6类型定义

10.7构造数据类型的典型应用: 学生信息管理系统

10.8本章小结

10.8.1知识梳理

10.8.2常见上机问题及解决方法

习题10
第11章文件

11.1文件的基本概念

11.1.1文件的定义

11.1.2文件的分类

11.1.3文件操作概述

11.2文件的打开与关闭

11.2.1文件指针

11.2.2打开文件

11.2.3关闭文件

11.2.4exit函数

11.3文件的读写

11.3.1文件读写函数

11.3.2文件读写函数选用原则

11.4文件的定位与随机读写

11.5文件的出错检测

11.6文件的典型应用: 超市收银

11.7本章小结

11.7.1知识梳理

11.7.2常见上机问题及解决方法

习题11
第12章预处理命令

12.1预处理命令简介

12.2文件包含命令

12.3宏定义

12.4条件编译

12.5本章小结

12.5.1知识梳理

12.5.2常见上机问题及解决方法

习题12
附录

参考文献


【前言】

随着人工智能、物联网、大数据、5G等新一代信息技术加速发展,科技创新人才的需求不断增加。习近平总书记在党的二十大报告中强调指出,“必须坚持科技是第一生产力、人才是第一资源、创新是第一动力,要坚持教育优先发展、科技自立自强、人才引领驱动,加快建设教育强国、科技强国、人才强国”。高等教育进入高质量发展阶段,建设高质量高等教育体系是摆在高等教育面前的重大历史使命和政治责任。高等教育要坚持国家战略引领,聚焦重大需求布局,推进新工科、新医科、新农科、新文科建设,加快培养紧缺型人才。

“C语言程序设计”是计算机及相关专业的一门专业基础课。通过该课程的教学,帮助学生了解结构化程序设计基本思想和方法,并养成良好的编程风格; 掌握利用计算机处理问题的思维方式和程序设计的基本方法以及编程技巧; 运用C语言编写程序,掌握基本的程序调试方法,为进一步学习后续课程和将来从事应用软件开发奠定良好的基础。本课程以程序设计的方法为主线,注重培养和训练学生的程序设计思维方法。

C语言是一种被广泛使用的高级程序设计语言,具有丰富灵活的控制结构和数据结构、简洁高效的表达式语句、清晰的程序结构和良好的可移植性等优点。此外,C语言还具有直接操纵计算机硬件的强大能力,因此成为编程者学习的基础语言。许多新型的语言,如C 、Java、C#、J#和Perl等都以C语言为基础。

本书是江西省一流本科课程和校级共享资源建设课程“高级语言程序设计”的配套教材,也可作为面向“新工科”人才培养的教材及读者自学的参考书。《C语言程序设计》第1版于2014年出版,于2017年进行了改版,现增加微课视频,更新部分章节内容,出版本书。编写团队在多年的教学经验和“新工科”理念的指导下,融合课程思政元素,以优秀案例为依托,将核心内容和问题求解结合起来,帮助读者重新领略C语言的独特魅力和思想。

在写作理念上,本书以“新工科”理念为指导,以典型案例为依托,理论联系实际,以培养计算机求解问题的思维为核心。本书内容全面,概念清晰,层次分明,语言通俗易懂,引导并启发读者掌握知识及运用知识,举一反三,激发创新思维,培养读者分析问题和解决问题的能力,并体验编程的乐趣。

在内容写作上,每章都包括学习导读、内容导学和育人目标,每节都以问题为导向,为读者学习和教师讲授提供参考。第3~12章的章末均有知识梳理和常见上机问题及解决方法。知识梳理以简略知识导图形式呈现,常见上机问题及解决方法有助于提醒读者在编写程序时容易出错的知识点,使读者养成良好的编程习惯。此外,部分章节还增加了扩展阅读(如C语言之父、程序调试方法和技巧、古人的智慧、计算机程序设计大赛、中国芯),帮助读者深入了解程序设计的过去、现在和未来,培养明德、力行、明责、知行合一的精神。

本书的特色体现在以下几方面。

(1) 融合课程思政元素,注重育人导向。在编写过程中,每章都有育人目标,各案例深入挖掘与内容相关的课程思政元素,强化育人导向。注重对读者理想信念、价值理念和道德观念的引领,使读者在阅读中提升专业技能的同时,潜移默化地进行人格的塑造。

(2) 案例丰富多样,夯实基础知识。每章内容都融入大量的典型案例,如哥德巴赫猜想、“蓝桥杯”省赛和国赛试题等。案例分析包括多角度的算法分析、建立算法模型、培养学生解决问题的能力、训练计算思维。

(3) 注重典型应用,培养计算思维。每章都安排了多个典型应用案例,都是以问题描述、算法分析、建立模型、编写源程序、源代码展示、运行结果的形式呈现。讲解结束之后,增加了举一反三,例题后面增加了拓展思考,进一步加大创新性和挑战度。

(4) 加强实验实践,提升应用能力。每章都配备了丰富的实验实践习题,类型多样,由易到难,具有广泛的代表性和实践性,有助于读者通过编程训练进一步提高综合应用能力。同时,配套出版了《C语言程序设计上机指导与习题解答》,提供了全部习题解答和实验指导,帮助读者更好地掌握C语言程序设计的核心方法。

(5) 建设资源丰富,支持线上线下混合式教学。本课程已在超星学银MOOC平台上线,精心打造了配套的多类型教辅资源,如全部视频、全部课件及相关资料等,读者可扫描二维码获取,并可结合视频进行学习。扫描本书知识点对应的二维码,可观看部分教学视频。

本书全面介绍了C语言的基本理论、知识和编程技能,帮助读者全面、系统地掌握用C语言进行程序设计的方法,强调培养初学者解决实际问题的能力。书中不仅涵盖了C语言的基础知识,还重点讲解了C语言程序的详细实现方法,所有源程序都使用DevC 6.3实现。

本书由徐新爱进行顶层设计和编写,参与编写工作的还有卢昕(负责第1~4章)、秦春影(负责第5~8章)、朱莹婷(负责第9~12章)、王丽娜和黄水发(负责部分章节),胡佳、吴瑜鹏老师参与了初稿校对工作。本书还得到了南昌师范学院全体计算机教师的大力支持,在此深表感谢。

由于编者水平有限,书中难免存在不足和疏漏之处,希望广大读者能提出宝贵的修改意见和建议。


编者
2023年6月


返回顶部