集团直发,全新正版书籍,假一罚四,放心选购。24小时内发货,可开发票。
¥ 73.4 6.2折 ¥ 118 全新
库存18件
作者何旭辉著
出版社清华大学出版社
ISBN9787302613244
出版时间2022-09
装帧平装
开本其他
定价118元
货号4215652
上书时间2024-11-26
关于本书
从2002年开始,笔者陆续在培训机构、大学和企业里担任程序设计课程的教师,
培训的对象包括在校大学生和已经工作了多年的程序员,也包括从其他专业转过来的学
生。很多学生往往在入门阶段非常迷茫,感觉“看了很多书,听了很多课,但仍然没有
编程思路,仍然不会动手写程序”,进而选择了“从入门到放弃”。这促使笔者开始思
索是什么原因造成了这样的情况,学编程一定需要“天赋”吗?有没有一种学习路径可
以在降低难度的同时训练学生的编程思维?
为了解决这些问题,在过去十几年里笔者和同事始终坚持带领学生以项目实训的方
式展开学习,用项目需求来推动技术学习,取得了不错的教学效果,也积累了一些实训
案例。
在2018年的某次授课中,一名学生提出“我们能不能不在‘黑框框’下编程”,这
激发了笔者进行新课程设计的动力并设计了 “外汇牌价看板”实训项目用于教学,同时
也开始了这本实践指导书的编写。2019—2021年我们分别在多个教学班级进行了教学试
点,取得了很好的教学效果,在此基础上最终完成了本书。
本书的读者
如果你符合下列条件之一:
●准备开始学习软件开发,但不知道如何入门,也不知道方向;
●学过某种程序设计语言,但不知道它有什么用,也无法将其应用于实践;
●会做很多练习题,但从来没有从头至尾完成过一个项目;
● 之前学习的挫折让你产生学不会编程这样消极的念头。
那么这本书就是适合你的。本书使用最简单的 C 语言作为入门语言,对读者之前的专
业、编程经验没有特殊要求。
本书特色
在本书的编写过程中,笔者始终把“急用先学、学以致用”作为最重要的原则,
避免对语言细节的过多深究造成的学习压力和乏味感;按照“先在实践中发现问题,再
学习相应的理论知识或技能来解决问题”的思路,让读者以最快的速度进入项目开发状
态,并在这个过程中有意识地锻炼读者发现问题、分析问题和解决问题的能力。
换个姿势学
C
语言
IV
因此,本书不是一本讲述C语言细节的专著,而是一本实践指导书。它着重帮助读
者建立对程序设计的系统认知,并通过案例来培养和锻炼读者的编程思维,积累编程经
验,从而度过最艰难的入门阶段。
本书所使用的案例放弃了传统C语言教学中纯文本模式下的编程,加入了对图形显
示原理和方法的介绍,并最终完成基于图形用户界面的项目开发。
如何使用本书
本书是一本实践指导书,全书是完全围绕完成“外汇牌价看板”这个目标而设计的。
因此,除了第1课是必备的背景知识外,从第2课开始每课都要解决一个或多个实际问题。
按照这种方式学习编程已经被大量学习者证明是最有效的,也最符合软件工程师日
常学习和工作的模式,对锻炼读者的编程思维和习惯养成是非常有益的。
第2~9课课后都安排了“小结”和“进度检查表”,请读者务必确保在完成了“进度
检查表”中每一个任务后再继续后续章节的学习。
更重要的建议是,读者在按照本书的指引完成实训项目的开发后,需要抛开这本书
按照自己的思路和想法,尝试找到比本书更好的方式来重新设计和实现一次“外汇牌价
看板”程序。如果读者真的这样做了,一定会有额外的收获。
本书的案例
在本书中,笔者将与读者共同从零开始逐步完成“外汇牌价看板”这个小型应用程序。
但“罗马不是一天建成的”,谁也不可能一开始就有能力完成整个程序的开发。
在最终实现“外汇牌价看板”程序之前我们将要学习程序和计算机的基础概念、基础的
C语言语法知识和数据结构,以及从文本界面逐渐过渡到图形用户界面,并且在这个过
程中设计软件需要的基础功能,才可以最后将它们“组装”成可以交付的“外汇牌价看
板”程序。在这个软件开发过程中读者需要先完成如表0-1所列的65个小任务,它们分布
在第2~9课中。
表0-1 书中涉及的65个任务
任务编码
任务名称
L02_01_HELLOWORLD
第1个C语言程序
L03_01_PRINTF
printf函数的基本用法
L03_02_ESCAPE_CHARACTERS
在printf函数中使用转义符
L03_03_SAY_HELLO_FOR_MANY_TIMES
多次调用一个函数
L04_01_RATES_EXAMPLE
使用外汇牌价接口库获取指定外币中行折
算价
L04_02_ADDRESS_OF_VARIABLE
显示变量的内存地址
L04_03_AVOID_OVERFLOW
使用更大的数据类型解决溢出问题
L04_04_CONDITIONAL_EXPRESSION
显示条件表达式的值
L04_05_IF_STATEMENT
使用if语句显示较大的数值
前
言
V
续表
任务编码
任务名称
L05_01_GET_RATES_BY_CODE
根据货币代码获得完整的外汇牌价数据
L05_02_TRAVERSAL_IN_ARRAY
使用goto语句遍历数组
L05_03_FOR_EXAMPLE
使用for循环遍历数组
L05_04_SIZEOF_OPERATOR
使用sizeof运算符计算数组大小
L05_05_OUT_OF_ARRAY
数组访问越界
L05_06_ARRAY_LIMIT
了解数组大小限制
L05_07_MALLOC
动态分配内存
L05_08_ADDRESS_OF_VARIABLE
获取变量的地址
L05_09_CHAGE_VARIABLE_WITH_POINTER
使用指针改变变量的值
L05_10_ACCESS_LARGE_ARRAY
“伪造”一个大数组
L05_11_FIND_MAX_IN_ARRAY
在数组中查找最大值的函数
L05_12_SWAP_ELEMENT
用函数交换变量的值
L05_13_SORT_ARRAY
数组排序
L05_14_CHAR
C语言中的字符编码
L05_15_KEY_IN_CHAR
从键盘输入字符
L05_16_STRING_CONST
C语言中的字符串常量
L05_17_STRING_VARIABLE
C语言中存储可变字符串的方法
L05_18_KEY_IN_STR
从键盘输入字符串
L05_19_GET_RATES_AND_CURRENCY_NAME_BY_
CODE
获取和显示全部牌价数据
L06_01_STRING_LENGTH
计算字符串长度
L06_02_INDEX_OF_CHAR
在字符串中查找特定字符
L06_03_TO_LOWER_CASE
大写字母转换为小写字母
L06_04_STRING_COPY
字符串复制
L06_05_SCANF_NUMBER
使用scanf函数输入数值
L06_06_SCANF_STRING
使用scanf函数输入字符串的隐患及解决
方法
L06_07_SCANF_MULTI_VARIABLES
使用scanf函数输入多项数据
L06_08_INPUT_FUNCTION
典型用户输入功能实现
L06_09_INPUT_INTEGER
输入整数并检查有效性
L06_10_INPUT_CHAR
输入字符并检查有效性
L06_11_INPUT_STRING
输入字符串并检查有效性
L06_12_USE_MARS_LIB
引用Mars函数库
L07_01_STRUCT
在程序中使用结构体
L07_02_SIZE_OF_STRUCT
计算结构体变量的大小
L07_03_DISPLAY_ADDRESS_OF_MEMBERS
显示结构体成员的内存地址
L07_04_MEMORY_ALIGNMENT
内存对齐
L07_05_TYPE_DEF
自定义数据类型
L07_06_GET_RATE_RECORD_BY_CODE
根据货币代码获取外币牌价
L07_07_OPEN_AND_WRITE_FILE
向文件中写数据
换个姿势学
C
语言
续表
任务编码
任务名称
L07_08_OPEN_AND_READ_FILE
从文件中读数据
L07_09_SAVE_USD_RATES
保存美元牌价数据到磁盘文件
L07_10_READ_RATES_FROM_FILE
从磁盘文件读取牌价数据
L07_11_READ_RATES_TO_STRUCTURE_ARRAY
将外币牌价读取到结构体数组
L07_12_READ_RATES_ONE_BY_ONE
逐一读取所有外币牌价
L07_13_GET_AND_DISPLAY_ALL_RATES
一次读取全部外币牌价数据并显示
L07_14_GET_AND_SAVE_ALL_RATES
一次读取全部外币牌价数据并保存到磁盘
文件
L07_15_DISPLAY_RATES_IN_FILE
显示磁盘文件中的全部外币牌价数据
L08_01_PUT_PIXEL
在屏幕上绘制点
L08_02_DRAW_LINES
在屏幕上绘制线
L08_03_SET_COLOR
控制绘图颜色
L08_04_DRAW_BOX
绘制和填充矩形框
L09_01_DISPLAY_BMP
显示BMP图片
L09_02_DISPLAY_BMP_V2
改进显示BMP图片的程序
L09_03_DISPLAY_TEXT
在图形窗口中显示文本
L09_04_SET_AND_RESTORE_DISPLAY_MODE
设置和恢复屏幕分辨率
L09_05_NO_BORDER_AND_BUTTONS
实现无边框、无按钮的窗口
L09_06_SET_FULL_SCREEN_WINDOW
设置和恢复屏幕模式
完成这些任务后,我们将在第10课最终完成“外汇牌价看板”程序,在第11课通过
改善程序的细节使其达到交付标准。“外汇牌价看板”最终运行效果如图0-1所示,并且
每隔5分钟会自动刷新并显示最新的外汇牌价信息。
图0-1 “外汇牌价看板”运行效果
前
言
本书的网络资源
本书案例所需的素材、程序文件、全部案例代码以及因篇幅原因未能收入书中的内
容,读者可以从清华大学出版社的网站下载,下载请扫描下面的二维码。
G:\文件帮科技\换个姿势学C语言 1校袁超0609\1校替换0601\二维码\P1 ,扩展阅读:《重新认识计算机》.png
欢迎各位读者通过电子邮件(hexh@163.com)与笔者联系,提出指正的意见、建议
或在使用本书过程中遇到的问题。
本书的创作灵感来自日常教学中与学生们的交流和互动,他们的学习热情也感染和
支持我完成这项工作。中国地质大学(北京)的项乐、浙江工业大学教科学院的廖伟霞
参与了本书部分案例代码的编写和测试工作,并从读者的角度提出了很多有益的建议。
清华大学出版社的编辑老师在本书写作期间给予了很多帮助和指导,本书的很多修
正来自于他们的宝贵意见,也是在他们的帮助下本书才得以出版。
何旭辉
2022年8月于武汉
这是一本指引零基础读者使用C语言逐步完成一个完整项目的实践指导书。全书以完成“外汇牌价看板”项目为目标,将编程语言基础、程序设计及调试方法、软件工程实践的经验融入其中,帮助初学者度过最艰难的入门阶段。
全书共11课:编程基础(第1~3课)介绍了什么是程序、不同编程语言的特点、C语言程序的结构以及使用Visual Studio 2022编写C语言程序的方法;C语言核心知识(第4~7课)从实际需求出发介绍了C语言程序中常用的数据结构,包括变量、结构体、数组等,这部分还介绍了指针、动态内存分配和文件访问、自定义函数库的知识;图形用户界面实现原理和方法(第8、9课)以在屏幕上绘制“点”为基础,逐步介绍显示图形、位图的方法和原理,并将文本界面的“外汇牌价看板”程序升级到图形用户界面;“外汇牌价看板”程序的完成与交付(第10、11课),在前面已完成内容的基础上对“外汇牌价看板”进行重构,完善细节并使其达到交付标准。此外,在附录A(电子版形式,请扫描第1页的二维码获取)介绍了一些有关计算机的基础知识。
《换个姿势学C语言》不仅适合对学习编程感到困难的读者,也适合那些“看了很多书,听了很多课,但仍然没有编程思路,不会动手写程序”的读者,还适合没有编程经验的读者学习。
? 这是一本按照“先让读者在实践中遇到问题,再通过理论学习来解决问题”思路编写的C语言实践指导书;
? 全书本着“急用先学,学以致用”的原则,将一个完整项目开发过程分解为65个任务,将C语言的核心知识点按照项目需求的顺序贯穿其中,并注重编程思维和编码习惯的训练;
? 使用《换个姿势学C语言》,读者可快速进入项目开发状态,锻炼发现问题、分析问题和解决问题的核心能力。
— 没有更多了 —
以下为对购买帮助不大的评价