前言 C语言是从诞生至今经久不衰的一门编程语言。从适用性的角度看,C语言是一种既可以编写单片机程序和系统软件又可以编写互联网应用的程序设计语言。一些面向对象的程序设计语言,如C++、ObjectC、Java、C#、JavaScript等,都遵循C语言的大部分语法,形成了一个计算机语言家族——C语言家族。 从教学的角度看,学生学会C语言以后,对于C++、Java等语言就可以快速掌握。所以,C语言程序设计一直是计算机科学与技术及相关专业学生的必修课程。 作者从事C语言程序设计课程的教学多年,希望能把C语言这门课变得既浅显易懂又妙趣横生,所以将C语言程序设计与单片机嵌入式系统开发结合无疑是一个很好的方案。“混沌初开,鸿蒙出世”,恰逢鸿蒙操作系统4.0发布,为了顺应操作系统国产化的趋势和信创人才培养的潮流,作者编写了这部依托鸿蒙OS介绍C语言程序设计的教材。 有关C语言程序设计的教材成百上千。本书既传承传统又与时俱进,既包罗万象又融会贯通,既专业经典又通俗易懂,有独到之处。 所谓传承传统,是指本书包含了传统C语言程序设计教材应有的教学内容;所谓与时俱进,是指本书紧跟国产鸿蒙操作系统发展的步伐,不但讲解C语言程序设计的基础知识,而且传授鸿蒙操作系统C语言设备开发专业技能,紧随信创人才培养的时代脉搏。 所谓既包罗万象又融会贯通,是指本书不像一般的C语言程序设计教材那样仅包含C语言程序设计方面的知识,而是在此基础上还引入了鸿蒙操作系统、Linux 操作系统、虚拟机及其管理、数字电路、嵌入式程序设计、交叉编译、计算机网络、计算机控制等方面的知识,而且这些知识不是孤立的,而是相互联系、相互融合、相辅相成的。计算机及相关专业的学生通过对本书的学习,基本上能够对计算机领域重要的核心知识有感性、直观的了解,这对于后续的操作系统、数字电路、嵌入式程序设计、计算机控制等专业课程的学习会起到促进理解、融会贯通的作用。 所谓既专业经典又通俗易懂,是指本书提供了专业的、经典的知识内容,在内容编排上,既有基础的C语言知识,又有经典的算法、设备控制、数据采集、跨操作系统平台程序设计开发等内容,同时所有的知识和内容都用通俗易懂的语言、简洁直观的图示予以阐述,使初学者可以跟随本书一步步学会所有的知识,完成所有的实验。即使对计算机程序设计一无所知的“小白”,通过本书的学习也可以成为C语言程序设计和嵌入式系统开发的行家里手。 与传统的C语言程序设计教材相比,本书有配套的鸿蒙操作系统C语言设备程序开发实验板,既可以极大地提升学习者的学习兴趣,又有利于学习者理解和掌握计算机专业核心知识。 本书共11章,各章内容如下: 第1章主要包括计算机程序设计语言的基本概念、C语言及其发展简史、C语言程序设计开发环境及开发工具等内容。 第2章主要包括C语言源程序的基本结构、基本语法成分、基本数据类型与表达式、数据类型转换以及相应的开发实验等内容。 第3章主要包括鸿蒙操作系统、虚拟机、鸿蒙OS C语言设备程序开发编译环境以及相应的开发实验等内容。 第4章主要包括顺序、选择、循环3种程序控制结构以及相应的开发实验等内容。 第5章主要包括函数、局部变量、全局变量、动态存储、静态存储以及相应的开发实验等内容。 第6章主要包括指针的概念、定义和应用以及相应的开发实验等内容。 第7章主要包括一维数组和二维数组的概念、定义和应用以及相应的开发实验等内容。 第8章主要包括字符串、标准的字符串函数以及相应的开发实验等内容。 第9章主要包括结构体、结构体指针、函数指针、枚举、共用体以及相应的开发实验等内容。 第10章主要包括文件包含、宏定义、条件编译以及相应的开发实验等内容。 第11章主要讲述stdio.h头文件、文件类型、文件的打开和关闭以及读写等内容。 本书具备如下4个特色: (1) 本书采用图文结合的方式对于难以理解的专业知识给予通俗易懂的诠释,让初学者可以做到无师自通。本书面向程序设计语言的初学者,对每一个操作步骤和操作方法都力求讲解详尽,保证初学者可以理解内容,一步步引导初学者完成程序设计实验。作者不但教学经验丰富,而且有多年的C语言程序设计实战经验,既了解C语言程序设计的难点和重点,又深谙程序设计人员必备的C语言程序设计知识和技能,这使得本书既传授知识,又传授技能,使初学者做到一书在手、编程无忧。 (2) 国产鸿蒙OS C语言设备程序开发贯穿本书始终。“卡脖子”的现状和国家的自主创新的决心使行业急需大量国产系统开发人员。本书针对高校编程类基础课程缺乏国产操作系统设备程序开发教材的现状而编写,根据知识的依赖关系精心设计了鸿蒙OS C语言设备程序开发系列实验,以保证C语言基础知识和鸿蒙OS C语言设备程序开发实验的良好衔接,使初学者既学习了传统的C语言程序设计知识,又掌握了物联网时代急需的程序设计专业技能。 (3) 本书重视程序设计的趣味性和综合能力培养,告别传统C语言教学枯燥的命令行界面程序,引入更有趣味的嵌入式实验,让初学者真切地感受到程序设计语言对现实世界产生的影响。有趣的实验能够带来更好的学习效果。 (4) 本书注重理论与实践的结合,着重案例驱动知识的学习,面向各级各类C语言程序设计技能竞赛和创新创业大赛。书中包含了大量的程序设计和设备程序开发案例、习题,可以让初学者做到活学活用、融会贯通。 本书配有电子教案及相关教学资源,采用本书作为教材的教师可从清华大学出版社官方网站下载。 虽然作者在本书中投入了大量的心血,然而限于水平,书中难免有不足之处,请各位专家和读者不吝指正。 作者2023年12月