
本书以 C 语言为载体,针对程序设计初学者,用严谨且通俗易懂的语言,深入浅出、循序渐进地介绍了 C 语言的语法及程序设计的思想与技巧。C 语言是程序设计中使用最广泛的语言之一,以其功能丰富、使用灵活、应用面广、目标程序效率高等优点,长期位居计算机语言排行榜前列。全书分为 10 章,主要包括以下内容:C 语言概述、数据类型、常量与变量、运算符、三种控制结构、数组、函数、指针、结构体和共用体、文件。重要的章节都为读者提供了大量学以致用的实例,有利于读者形成程序设计的基本思想,掌握程序设计的方法,提高解决具体问题的能力。本书适合作为高职院校计算机相关专业学生的教材,也可作为自学 C 语言程序设计的参考用书。
程序设计基础是高职院校计算机相关专业重要的基础课程。本书以 C 语言为载体,介绍程序设计的基本思想和方法,以提高读者解决具体问题的能力。 程序课程介绍 C 语言是经典的程序设计语言之一,长期位居计算机语言排行榜前列。C 语言是一门面向过程的计算机编程语言。当前阶段,在编程领域,运用 C 语言的地方非常多,它兼顾了高级语言和汇编语言的优点,相较于其他编程语言具有较大优势。C 语言拥有经过了漫长发展历史的完整的理论体系,在编程语言中具有举足轻重的地位。 本书内容充实全面,每章除基本知识外,还提供了大量“学以致用”的案例,帮助读者总结提高的“我们学到了什么”,让读者“牛刀小试”的练习题。另外,扫描书中二维码即可观看微课视频讲解,帮助读者随时随地全方位学习,书中所有实例均在Visual C++6.0环境下运行通过。本书还结合在线课程资源,构建了线上线下共同学习的教材形态,读者可登录中国大学MOOC网站(https://www.icourse163.org)搜索“程序设计基础”课程,找到由河北软件职业技术学院刘扬主持的在线课程即可登录学习。本在线课程视频生动有趣,教师讲解深入浅出,包含大量课后练习与考试,已获得省级精品在线课程称号。“程序设计基础”在线课程每个学期均开课,每期在线学习人数上千人,欢迎大家选课学习。此外,如果教师需要,本书也提供PPT、练习题参考答案、例题源码等资源。 本书编写团队中,学校老师具有多年从事程序设计语言及计算机相关课程的教学经验并多次参加教材编写,企业老师具有丰富的项目开发经验。全书力求概念叙述准确、语言简练、条理清晰,注重培养读者程序设计的基本思想,提高解决实际问题的能力,并养成良好的程序设计风格和习惯。参与本教材编写的单位有河北软件职业技术学院、石家庄信息工程职业学院、东方瑞通(北京)咨询服务有限公司,全书共分为10章,其中第1章由刘扬编写,第2、6章由赵滨编写,第3、4章由刘红艳编写,第5章由佟磊编写,第7章由李丽平编写,第8,10章由郭春雷编写,第9章由丁宏伟编写,书内代码全部由东方瑞通高级讲师张伟团队完成,课后习题由唐磊团队完成,并经课程组讨论审核通过。全书由刘扬、李丽平统稿,由李丽平审稿。 由于编者水平有限,书中难免存在疏漏和不足之处,恳请读者批评指正。 编 者
第1章 从C开始的编程之路——概述 .1 初识C语言 .1.1 计算机语言的发展 .1.2 C语言的发展简史 .1.3 C语言的特点及用途 .2 C语言程序的基本结构与开发流程 .2.1 C语言程序的基本结构 .2.2 C语言程序的开发流程 .2.3 常用的集成开发环境(IDE)的使用 .3 算法 .3.1 算法的概念 .3.2 算法设计原则 .3.3 算法的表示 .4 在线课程学习 我们学到了什么 牛刀小试——练习题 第2章 磨刀不误砍柴工——程序设计基础知识 .1 C语言的基本符号 .1.1 字符集 .1.2 标识符 .1.3 关键字 .2 C语言的数据类型 .2.1 C语言数据类型的分类 .2.2 C语言的基本数据类型 .2.3 数据在内存中的存放形式 .3 变量 .3.1 变量的概念 .3.2 变量的定义与访问 .4 常量 .4.1 整型常量 .4.2 实型常量 .4.3 字符常量 .4.4 字符串常量 .4.5 符号常量 .5 C语言中的运算符与表达式 .5.1 有关运算符的基础知识 .5.2 算术运算符与表达式 .5.3 赋值运算符 .5.4 逗号运算符 .5.5 位运算符 .5.6 其他运算符 .5.7 数据类型转换 .6 在线课程学习 我们学到了什么 牛刀小试——练习题 第3章 先来后到——顺序结构 .1 结构化程序设计的基本概念 .2 数据的输入与输出 .2.1 数据的输出 .2.2 数据的输入 .3 学以致用 .4 在线课程学习 我们学到了什么 牛刀小试——练习题 第4章 人生的路不止一条——选择结构 .1 关系运算符与关系表达式 .2 逻辑运算符与逻辑表达式 .3 if语句 .3.1 基本的if…else语句 .3.2 if…else if语句 .3.3 if语句的嵌套 .4 switch语句 .5 C语言的条件运算符 .6 学以致用 .7 在线课程学习 我们学到了什么 牛刀小试——练习题 第5章 从前有座山……——循环结构 .1 while循环 .2 do…while循环 .3 for循环 .4 循环嵌套 .5 break和continue语句 .5.1 break语句 .5.2 continue语句 .6 学以致用 .7 在线课程学习 我们学到了什么 牛刀小试——练习题 第6章 士兵与方阵——数组 .1 一维数组 .1.1 什么是数组 .1.2 一维数组的定义与引用 .1.3 一维数组的初始化 .1.4 学以致用 .2 二维数组 .2.1 二维数组的定义 .2.2 二维数组的初始化 .2.3 二维数组的访问 .2.4 学以致用 .3 字符数组和字符串 .3.1 字符数组的定义 .3.2 字符数组的初始化 .3.3 字符数组的访问 .3.4 字符串处理函数 .3.5 学以致用 .4 在线课程学习 我们学到了什么 牛刀小试——练习题 第7章 从搭积木说起——函数 .1 函数概述 .1.1 C语言程序的结构 .1.2 函数的作用 .1.3 函数的分类 .2 函数的定义及返回值 .2.1 函数的定义 .2.2 函数的返回值 .2.3 学以致用 .3 函数的声明和调用 .3.1 函数的声明 .3.2 函数的调用 .4 函数参数的传递 .4.1 函数参数的传递方式 .4.2 数组作为函数参数 .5 函数的递归调用 .5.1 函数的递归调用概述 .5.2 学以致用 .6 带参数的宏定义 .6.1 带参数的宏定义概述 .6.2 学以致用 .7 变量的作用域与存储类别 .7.1 变量的作用域 .7.2 变量的存储类别 .8 在线课程学习 我们学到了什么 牛刀小试——练习题 第8章 神奇的星号——指针 .1 指针和指针变量 .1.1 变量与地址 .1.2 指针变量的概念、定义与引用 .2 指针与数组 .2.1 指向数组的指针 .2.2 指针的运算 .2.3 关于下标法和指针法的讨论 .2.4 指向字符串的指针 .3 指针与函数 .3.1 指针变量作函数参数 .3.2 返回指针的函数 .4 在线课程学习 我们学到了什么 牛刀小试——练习题 第9章 我的类型我做主——结构体与共用体 .1 用户自定义类型 .2 结构体类型 .2.1 结构体类型的声明 .2.2 结构体变量的定义与使用 .2.3 结构体数组 .2.4 结构体指针 .3 共用体类型 .4 链表 .4.1 链表的概念 .4.2 链表的基本操作 .5 在线课程学习 我们学到了什么 牛刀小试——练习题 第10章 我想有个家——文件 .1 文件概述 .2 文件的打开与关闭 .2.1 文件的打开 .2.2 文件的关闭 .3 文件的读写操作 .3.1 文本文件的读写 .3.2 二进制文件的读写 .3.3 文件定位与随机读写 .4 在线课程学习 我们学到了什么 牛刀小试——练习题 附录A ASCII表 附录B C语言关键字 附录C C语言运算符 参考文献