前言 C语言程序设计是高职计算机相关专业必开设的一门专业核心课程。课程主要目标是帮助学生掌握基本的编程思想和模块化的编程思路,能够使用C语言进行程序设计和软件开发,培养学生良好的学习习惯和学习兴趣、团队协作精神和自主学习能力 ,为其后续其他专业课程的学习打下良好的基础。 本书充分贯彻党的二十大精神,落实好立德树人的根本任务,遵循党的二十大报告关于“广泛践行社会主义核心价值观,深化爱国主义、集体主义、社会主义教育,着力培养担当民族复兴大任的时代新人”的要求,强调教育强国、科技强国、人才强国,用社会主义核心价值观铸魂育人。本书通过校企合作开发真实项目和拓展案例,采用 项目驱动模式,以“工作过程”为导向,以软件开发流程构建真实企业研发情境和工作任务。 本书紧扣全国计算机等级考试二级C语言程序设计考试大纲,将C语言的所有相关知识点融入对应的工作任务中,由易到难,循序渐进设立教学情境,促进课证融通、书证融通,让读者在“做中学,学中做”,逐步掌握C语言程序设计知识和开发技能 ,以培养学生的程序设计能力、专业实践能力和职业素养,从而培养高素质技术技能型人才。 主要内容 本书分为基础篇和实战篇,引入两个真实项目,共有9章,28 个工作任务。每章包含实现所在篇所需的所有逻辑相关的任务。每个任务以“任务描述与分析—相关知识与技能—任务实施—任务拓展”的结构进行设计。每个任务中均包含任务描述与分析、相关知识与技能、任务实施(自然算法、流程图、数据结构、编码算法、具体实现、运行分析)以及拓展训练。在拓展训练中,对一些经典的算法如穷举、迭代、递归等进行分析,并要求学生自行完成,以拓展学生的算法设计能力。本书紧密结合项目化课程教学改革,既满足了对项目整体能力的训练要求,又兼顾了对基础理论和算法的学习要求。 1. 基础篇 基础篇以爱思科技虚拟公司采用C语言开发“学生成绩管理系统”为主线,遵循软件开发流程,构建项目和教学单元; 对接软件开发岗位能力需求,由易到难,递进式对项目的三个版本不断重构,设计沉浸体验式教学任务,注重分层分类,引导读者循序渐进地学习和实践,掌握模块化编程思路,提高程序开发能力。 在教学项目的分解和设计中,将模块化编程的思路贯穿整个项目的构建过程中,培养学生的模块化程序设计思路。先搭建项目骨架,再逐个填充项目模块,完成数组实现的项目版本1; 再通过用指针结构体重构的项目版本2,以及用文件继续重构的项目版本3。通过对项目的不断重构,让学生反复学习和理解函数的定义和使用,即模块化的编程思路,同时也可以让学生通过一个项目的三个版本的不断学习和实践,提高应用能力。 第1章: 学生成绩管理系统需求分析和设计。本章使读者对课程的能力目标有总体的认识。 第2章: 项目的数据定义及运算。本章对系统所使用的数据类型和相关运算,以及相关设计规范进行阐述,引入标识符、数据类型和运算符的概念。 第3章: 用户菜单设计。本章进行逐步递进的设计与实现,引入输入/输出、选择和循环控制的概念。 第4章: 学生成绩管理。本章实现班级学生成绩的添加、浏览、统计、排序和查询,引入函数的设计和调用、数组的知识,以及相关的排序算法。 第5章: 结构体和指针在项目中的应用。本章用结构体重构系统的数据类型,引入结构体和指针的概念。 第6章: 文件在项目中的应用。本章用文件实现系统的输入/输出,引入文件的概念。 2. 实战篇 实战篇采用 校企双元合作模式,引入“企业员工管理系统”作为真实企业实践项目,帮助学生加深对函数、数组、指针、结构体、文件等难点的理解,进一步拓展并提高读者的专业实践能力和职业素养。 第7章: 企业员工管理系统项目需求分析和设计。本章对项目进行需求分析并总体设计。 第8章: 企业员工管理系统项目功能开发与实现。本章完成通信录管理、考勤管理、工资管理、交互界面等模块功能。 第9章: 项目测试与部署。本章分别对各个模块功能进行测试,并对项目进行安装部署。 本书特色 (1) 校企双元合作,以真实的“工作过程”为导向, 构建真实教学情境组织内容; 贯彻“以学生为中心”的教育理念,分层分类,设计沉浸体验教学任务,注重教、学、做一体,使学生在做中学、学中做。 (2) 有机融入课程思政元素,将思政精神充分融入项目的每个任务中,培养具备工匠精神、劳动精神、探索精神的高素质技术技能型人才。 ① 工匠精神——在程序设计中,教育学生注重代码的规范性,逻辑的严谨性; 软件开发中注重用户体验、安全性以及规范性等。 ② 团队协作精神——注重项目组成员间的团队协作与合作。 ③ 安全意识——由于软件开发的特殊性,教育学生注重代码的安全性、软件版权意识和信息安全意识。 ④ 社会责任——教育学生不要利用自己所学,做违法违纪的事情,加强社会责任感。 (3) 是“互联网+”背景下的新形态一体化教材。以纸质教材为抓手,以在线学习平台为核心,提供配套的授课课件(PPT)、实训讲义、教学视频、习题库、动画课件、微课等丰富的在线资源,及时更新教学内容以及便于师生交互的各类资源,将丰富的多媒体资源与纸质的教材相融合,从而形成信息化立体教材,满足线上线下混合式教学要求; 同时,便于学生个性化自主学习,提高学习的自主性和主动性。 (4) 紧扣全国计算机等级考试二级C语言程序设计考试大纲,重构程序设计理论知识,促进课证融通和书证融通。采用微软公司的Microsoft Visual Studio 2010集成开发环境作为项目开发平台,该软件也是全国计算机等级考试二级C语言程序设计官方指定开发环境。 本书可作为C语言程序设计课程的教材,也可作为全国计算机等级考试二级C语言程序设计考试指导用书。 本书是2021年江苏高校哲学社会科学研究项目“‘1+X’背景下的高职专业群课程体系构建研究”(2021SJA0987)的研究成果,主要创作团队成员为课程组的屠莉、周建林、刘萍、苏春芳。校企合作企业无锡致为数字科技有限公司的李娜总经理(软件开发高级工程师)对本书进行了细致的总审。当然也离不开家人和其他领导、同事的关心与支持,在此一并表示真挚的感谢! 由于编者水平有限,书中难免有不足之处,希望广大读者批评、指正,并提出宝贵的意见和建议。 编者2024年2月