《C语言程序设计(第4版)》是为将C语言作为入门语言的程序设计课程编写的以培养学生程序设计基本能力为目标的教材。该书以程序设计为主线,以编程应用为驱动,通过案例和问题引入内容,重点讲解程序设计的思想和方法,并结合相关的语言知识的介绍。全书主要包括3方面的内容:基本内容(数据表达、数据处理和流程控制),常用算法和程序设计风格,以及C语言应用中的一些处理机制(编译预处理和命令行参数等)。
为了满足读者对在线开放学习的需求,对读者在学习中常常感到困惑的循环、函数、指针等难点增加了MOOC微视频讲解;该书的练习和习题中的程序设计题目部署在具有在线判题功能的PTA(Programming Teaching Assistant,又称“拼题A”)平台上,读者输入书后的验证码即可进行在线练习。
《C语言程序设计(第4版)》可以作为高等院校和计算机等级考试的教学用书,也可作为对C程序设计感兴趣的读者的自学用书。
......(更多)
何钦铭,浙江大学计算机科学与技术学院教授,浙江大学求是特聘学者,国家“万人计划”教学名师,教育部高等学校大学计算机课程教学指导委员会副主任委员,全国高等院校计算机基础教育研究会副会长,中国人工智能学会机器学习专业委员会常务理事。
主要研究方向为数据挖掘、区块链技术等,曾承担国家973重点基础研究发展计划、国家自然科学基金、国家科技支撑计划、国家重点研究计划等方面多项课题,已累计发表学术论文100余篇。
近年来主要授课课程为“程序设计基础”、“数据结构基础”、“高级数据结构与算法分析”、“计算机与问题求解”等。为国家精品课程及国家精品资源共享课“C程序设计基础及实验”主持人、“浙江大学计算机技术与工程”国家实验教学示范中心负责人。曾获国家教学成果一等奖、二等奖,浙江省教学成果一等奖、二等奖等累计十项,及霍英东优秀青年教师奖、宝钢优秀教师奖、浙江省高等学校教学名师、中国“互联网+”大学生创新创业大赛优秀创新创业导师等荣誉。
颜晖,浙江大学城市学院教授,浙江省教学名师,教育部高等学校大学计算机课程教学指导委员会委员,浙江省高校计算机类专业教学指导委员会委员.浙江省高校计算机教育研究会副理事长。
主要研究方向为网络教学辅助系统、软件工程等,主持、参与多项国家、省部级和横向科研项目,发表论文40余篇,获浙江省科技进步三等奖。
近年来主要授课课程为“程序设计”、“计算机概论”、“计算方法”。参与建设国家精品课程“C程序设计基础及实验”,主持省级精品课程“程序设计”、浙江省重点专业“计算机科学与技术”和浙江省教学团队“面向应用型人才培养的程序设计系列课程教学团队”,曾获浙江省教学成果一等奖4项。
......(更多)
第1章 引言
1.1 一个C语言程序
1.2 程序与程序设计语言
1.2.1 程序与指令
1.2.2 程序设计语言的功能
1.2.3 程序设计语言的语法
1.2.4 程序的编译与编程环境
1.3 C语言的发展历史与特点
1.4 实现问题求解的过程
习题1
第2章 用C语言编写程序
2.1 在屏幕上显示Hello World!
2.2 求华氏温度100℉对应的摄氏温度
2.2.1 程序解析
2.2.2 常量、变量和数据类型
2.2.3 算术运算和赋值运算
2.2.4 格式化输出函数printf()
2.3 计算分段函数
2.3.1 程序解析
2.3.2 关系运算
2.3.3 if-else语句
2.3.4 格式化输入函数scanf()
2.3.5 常用数学函数
2.4 输出华氏-摄氏温度转换表
2.4.1 程序解析
2.4.2 for语句
2.4.3 指定次数的循环程序设计
2.5 生成乘方表与阶乘表
习题2
第3章 分支结构
3.1 简单的猜数游戏
3.1.1 程序解析
3.1.2 二分支结构和if-else语句
3.1.3 多分支结构和else-if语句
3.2 四则运算
3.2.1 程序解析
3.2.2 字符型数据
3.2.3 字符型数据的输入和输出
3.2.4 逻辑运算
3.3 查询自动售货机中商品的价格
3.3.1 程序解析
3.3.2 switch语句
3.3.3 多分支结构
习题3
第4章 循环结构
4.1 用格雷戈里公式求钉的近似值
4.1.1 程序解析
4.1.2 while语句
4.2 统计一个整数的位数
4.2.1 程序解析
4.2.2 do-while语句
4.3 判断素数
4.3.1 程序解析
4.3.2 break语句和continue语句
4.4 求1!+2!+…+n!
……
第5章 函数
第6章 回顾数据类型和表达式
第7章 数组
第8章 指针
第9章 结构
第10章 函数与程序结构
第11章 指针进阶
第12章 文件
附录A C语言基本语法
附录B ASCII码集
附录C PTA使用说明
参考文献
......(更多)
int count_spaces(const char *s) { int count = 0; for (; *s != '\0'; s++) if (*s == ' ') count++; return count; }
......(更多)