最接地气的C语言图书,拥有3个最显著的特点,那就是——不用啃,不用啃,真的不用啃!
为零基础的初学者量身定做,让读者在十分轻松的环境中花费最少的时间掌握C语言。通过本书学习C语言,读者会很快抓住知识的“根”,因而事半功倍!
张宁,南开大学生物信息学博士和博士后,现任职于天津大学精密仪器与光电子工程学院,主要从事生物医学信息相关的数据分析、数据库、软件开发等工作。在C语言一线教学多年,精通C语言、Visual Basic、Windows编程等,有19年编程和软件开发的实践经验,在国内外高水平刊物发表论文50余篇,多次在各类编程竞赛和讲课大赛中获奖。著有《老兵新传:VisualBasic核心编程及通用模块开发》(清华大学出版社)等。
第1章 从这里爱上编程——程序设计和C语言概述
1.1 水面下的冰山——计算机程序和计算机语言
1.2 第一次亲密接触——纵览C语言
1.2.1 一窥程序之美——C语言程序的结构
1.2.2 循序渐进,快乐学习——语句的光和影
1.2.3 程序里的说明书——注释
1.2.4 免费翻译服务——编译和链接
1.3 先其利器——Visual C++ 6.0上机指导
1.4 天平称物问题——进制转换
1.4.1 这些进制是哪来的——二进制、八进制、十六进制
1.4.2 你还应知道这几招——不同进制之间的转换
第2章 色彩斑斓的积木——数据类型、运算符和表达式
2.1 标识符、常量和变量
2.1.1 给我起个名字吧——标识符
2.1.2 有一说一——常量
2.1.3 程序里的储物盒——变量
2.2 追根“数”源——细说数据类型
2.2.1 整型数据用C语言怎样说
2.2.2 实型数据用C语言怎样说
2.2.3 字符型数据用C语言怎样说
2.2.4 字符串型常量用C语言怎样说
2.3 诸算达人——运算符和表达式
2.3.1 再谈加减乘除——算术运算
2.3.2 走,给我进去!——赋值
2.3.3 加加和减减——自增、自减
2.3.4 神秘的倒数第一——逗号运算
2.4 位在我心中——位运算
第3章 一战到底——顺序结构
3.1 整装待发——C语言中的语句
3.2 别急,一个一个来——单个字符的输出与输入
3.2.1 拿好了钥匙进仓库——输出与输入概述
3.2.2 向屏幕开火——单个字符的输出
3.2.3 饭要一口一口地吃——单个字符的输入
3.3 更过瘾的输出与输入——格式输出与输入
3.3.1 我有私人警察——格式输出函数printf
3.3.2 我是快乐的快递员——格式输入函数scanf
3.4 常用系统数学函数
3.5 是不是有点专业级软件的意思了——顺序结构程序举例
……
第4章 程序也能跑捷径——选择结构
第5章 不必亲手愚公移山——循环结构
第6章 把平房升级为高楼大厦——数组
第7章 蒙着面干活——函数
第8章 璀璨的星星——指针
第9章 我的类型我做主——结构体与共用体
第10章 得文件者得天下——文件
第11章 编程的经验财富——算法与数据结构基础
第12章 程林高手武功秘籍——软件开发基础
第8章 璀璨的星星——指针
当你从网页复制一段文本,再到你想要的地方随意粘贴的时候;当你在Excel表格中插入几行数据的时候;当你不知怎的突然遭到被弹出“xx程序错误,单击确定立即关闭”的时候;当你用游戏修改软件锁定生命值,让游戏中的角色成为“金刚不死之躯”的时候……知道吗,这些都与指针息息相关!
指针可是程序设计的一个强大工具,使用指针,不仅可以表示很多重要的数据结构、高效地使用数组、方便地处理字符串、另类地调用函数……而且可以直接访问内存,赋予我们广大的自由度和“至高无上”的权利!编程高手们常说“无指针,不自由”,就是这个道理。因此指针也是学习C语言最重要的一环,可以说如果不会使用指针编程,就不是真正掌握了C语言。
有人说指针也是学习C语言最困难的一部分,但本书持相反意见。只要学习方法得当,实际上指针也并没有听起来那么难学!请读者不要畏惧,在本章我们会教给你很多技巧和方法,一步步带领大家攻克指针的壁垒。让我们现在就出发,一起体会这一次精彩、充满刺激挑战和富有乐趣的指针之旅!
8.1 内存里的门牌号——地址和指针的基本概念
“编号”,是人们常用的手段。例如,现在你翻到本书的这一页就有一个页码编号。编号的例子还有很多,如超市的存包箱有箱号,电影院座位有座次号,楼房的房间有房间号……。通过编号我们可以准确地找到位置。
计算机的内存是由一个个字节组成的,每个字节可以保存8个比特(8个0或1)。计算机内存的字节数可以有很多,例如一台有2GB内存的计算机就有多达2,147,483,648个字节(2×1024×1024×1024=2,147,483,648)! 那么多的字节,如果搞错搞乱,麻烦可就大了。如何有条不紊地管理这些字节,必须有个合适的手段。人们仿照生活中为事物编号的方式,也为计算机内存的每个字节编号。把第一个字节编为0号(从0开始,与数组下标有点像),第二个字节编为1号……,最后一个字节是2G-1即2,147,483,647号,如图8.1所示。
与我们把房间号称为地址类似,计算机内存中的字节编号也称为地址,地址也称指针。
9.4 内存空间的批发和零售——动态存储分配
在日常生活中,不知我们有没有遇到过这样的尴尬:本来说好了约10位朋友去吃饭,结果却只来了5个人,预定的10个菜由于吃不了就浪费了。然而作为聚会组织者却必须以最多的可能人数来订餐,这样带来的问题就是来的人越少,浪费得就越多。如何解决这种问题呢?我们可以不预先定餐,待客人来了之后,再根据实到人数来点菜;即使在开席之后中途又有新客人到来,也可以随时加菜。这样按需实时点菜,来多少人点多少菜,就不会有浪费了。
在程序中,预先定义的变量或固定大小的数组就如同预先订桌点好的菜,同样也会面临这样的尴尬。例如,计算平均分的程序需要由用户输入每位同学的分数,当预先不能确定有多少位同学时,就需事先定义一个足够大的数组,例如要定义包含100个元素的数组;又如输入字符串时,由于预先不能确定用户所输入字符串的长度,也要事先预定义一个足够大的char型数组如char str[80];。而这些数组的空间很可能实际只用了其中的一部分,没有使用的空间就浪费了。能否在程序中也实现按需实时分配内存空间呢?
C语言提供了一些内存管理库函数,常用的列于表9.1。通过这些库函数可由我们自己直接申请分配内存空间,而不必非要通过定义变量或数组才能够获得内存空间;在不需要这些空间时还可以随时将它们释放由系统回收。这称为动态存储分配。
12.1.3.1 类和实例
类,就是类型的类,“物以类聚,人以群分”,我们将同类事物归为一类。例如,张三、李四、王五同属人类;你的手机、我的手机、商场柜台上卖的手机同属手机这一类;电脑游戏中不断出现的一个个“小兵”同属小兵这一类。
“类(class)”只是一个抽象的概念,它并不代表某一个具体的事物。例如“人类”是个抽象的概念,但不指任何一个具体的人;而张三、李四、王五才是具体的人。“手机”也是个抽象的概念,它既不能打电话,也不能接电话;只有具体落实到某一部看得见摸得着的、实实在在的手机,才能使用。尽管“类”不代表具体事物,但“类”代表了同种事物的共性信息,只要提及“手机”这个概念,我们头脑中都会想象出一部手机的样子,而绝不会出现一幅长着两条腿可以走路的“人”的形象。
也可以将“类”看做一张设计图纸,它可用于制造具体的事物。例如“汽车”类是一张设计图纸,它是不能跑起来的;但按照“汽车”这个类的图纸制造出一辆辆具体的汽车我们就能坐上去“兜风”了。
一般来说,由“类”这张设计图制造出的一个个具体的事物才能称之为“对象”或“类的实例(instance)”,而不应把一个“类”叫做对象。但在不引起混淆的情况下,有人也把“类”叫做对象,即“对象”这个术语既可指具体的事物,也可泛指类;而“实例”这个术语,必然指具体的事物。所以把一个个具体的事物称之为“类的实例”更确切一些。
12.3 信息时代是怎样炼成的——数据库和数据库设计初步
现如今是一个信息高度发达的时代,足不出户就可以在网上商城查询各种商品的价格,人事管理部门轻点鼠标就能调出一个人的详细档案,从就医的病历记录到我们身边的百度搜索,从银行存款到网上婚恋交友,我们被充斥在各种信息的环境中,可以随时随地查询、获取我们所需要的信息。这些信息在计算机内部是怎样管理的,是怎样供我们查询使用的,为什么在一家银行把钱存进去却能在另一家联网银行把钱取出来,为什么查询序列号便能立即得知商品的真伪,为什么小小鼠标的轻轻点击就能在百度上想要什么查出什么……这些都要归功于数据库。数据库不仅使人们管理数据的工作量大大减轻,它也是信息时代的基础。现在很少有专业级的软件没有数据库的功能了,即使一个简单的网站在后台也配有数据库至少管理着浏览日志、登录账户、网站点击次数等信息。
那么什么是数据库呢?数据库(database,简称DB),顾名思义,就是数据的仓库,是计算机中保存和管理数据的所在。数据库有很多种类型,目前最常见的是关系型的数据库。
……
这本《C语言其实很简单》真的是颠覆了我对 C 语言的刻板印象。我之前听过太多关于 C 语言多么难学、多么抽象的说法,所以一直望而却步。拿到这本书后,我第一个动作就是快速浏览目录,然后开始随意翻看几页。令我惊喜的是,这本书的讲解方式简直像是在聊天一样,非常接地气。它不会上来就给你灌输一堆术语,而是循序渐进,从最基础的变量、数据类型开始,一点点地展开。最让我印象深刻的是,它在讲到循环和条件语句时,用了一个构建“自动化工厂流水线”的比喻,让我立刻就明白了这些控制结构在实际应用中的作用。而且,书中的每一章都配有相当数量的练习题,并且都有详细的答案解析。我尝试做了几道,发现它的题目设计得很巧妙,既能巩固当天学到的知识,又能启发我思考更深层次的应用。这种“学以致用,用中学”的模式,让我在学习过程中充满了成就感,也让我对 C 语言的兴趣越来越浓厚。总而言之,这本书为我打开了 C 语言的大门,让我看到了一个更清晰、更易于理解的 C 语言世界。
评分作为一名非计算机专业的学生,我之前对 C 语言的理解仅限于“代码”,感觉离我十万八千里。偶然的机会,我看到了这本《C语言其实很简单》,抱着试试看的心态买回了家。这本书的阅读体验出乎意料的好。它没有使用晦涩难懂的专业术语,而是用非常通俗易懂的语言来解释 C 语言的各个方面。我特别欣赏书中在介绍数据结构和算法的初步概念时,所使用的生动形象的比喻。例如,它在解释链表时,用“一串挂着的钥匙”来比喻节点之间的连接,让我瞬间就明白了其中的逻辑。而且,书中的图示也相当精美,能够直观地展示一些抽象的概念,比如内存的分配和释放。我经常在学习一个新章节后,会把书中相关的图示再看一遍,感觉对知识点的理解会更上一层楼。这本书让我觉得,原来 C 语言并不是一个高冷的学科,它也可以如此亲切和有趣。它真的为我打开了一扇通往编程世界的大门。
评分我是一个对编程有强烈好奇心,但又没什么基础的学习者。在朋友的推荐下,我入手了这本《C语言其实很简单》。坦白说,我一开始还有点担心,怕这本书太过于“简单”而流于表面,丢失了 C 语言的精髓。然而,当我真正翻开它的时候,我的顾虑就被完全打消了。这本书的作者似乎非常了解新手在学习 C 语言时会遇到的困难,并且提前为我们铺平了道路。它在讲解函数、数组等概念时,总是会先从一个大的问题场景出发,然后逐步引导我们如何用 C 语言来解决这个问题。这种“问题导向”的学习方式,比单纯的知识点罗列要有效得多。我记得在讲到文件操作的时候,它并没有直接讲解 `fopen`、`fclose` 这些函数,而是先描述了“记录一本书的借阅信息”这样一个实际场景,然后告诉我们如何用 C 语言来实现这个功能。这种循序渐进、结合实际的应用场景,让我对 C 语言的学习充满了动力。而且,书中对一些容易混淆的概念,比如“数组名”和“指针”的关系,也做了非常细致的区分和讲解,避免了我走很多弯路。
评分这本书我当初买的时候,其实对 C 语言本身没有太高的期望,更多的是抱着一种“据说 C 语言很重要,学一点总没错”的心态。拿到手后,第一感觉是排版印刷都挺舒服的,拿在手里沉甸甸的,厚实感挺好。翻了几页,就被书中那种娓娓道来的叙述方式吸引了。它不是那种冷冰冰的技术手册,而是像一个经验丰富的老师在旁边,耐心地一点点给你讲解。我尤其喜欢它在介绍一些核心概念时,会穿插一些生活中的例子。比如讲到指针的时候,它不是直接扔给你地址的概念,而是先讲了“找家”的比喻,让你先有个宏观的理解,然后再深入到具体的内存地址。这种由浅入深的讲解方式,对于我这种 C 语言新手来说,简直是福音。而且,书里的代码示例都非常精炼,没有那种冗余的解释,但每一个都恰到好处地展示了所讲的知识点。我还会时不时地跟着书里的例子敲一遍代码,感觉自己真的在一步步搭建起对 C 语言的认知,而不是被动地接收信息。这本书的氛围很轻松,读起来不费力,但知识点却一点没少,反而让我觉得 C 语言也没那么高不可攀。
评分我一直认为 C 语言是计算机科学的基石,但学起来肯定不容易。买了这本书,原本只是想“意思意思”地了解一下。没想到,这本书的讲解方式实在太出色了,让我彻底改变了看法。它在描述一些底层原理的时候,比如内存管理和进程通信,并没有回避其复杂性,但又用一种极其巧妙的方式将其分解,并辅以大量的图解和伪代码,让我这种非科班出身的人也能大致理解。它并不是一味地简化,而是在保证严谨性的前提下,让概念变得易于消化。最让我印象深刻的是,它在讲述宏定义和预处理命令时,并没有仅仅停留在表面,而是深入剖析了它们在代码优化和跨平台兼容性方面的作用,让我看到了 C 语言的强大之处。这本书的学习曲线非常平缓,但内容却相当扎实。它让我觉得,即使是 C 语言这样基础且重要的语言,也可以通过科学的讲解方式,变得“很简单”。我感觉自己不再是被动地记忆语法,而是开始理解 C 语言的“灵魂”。
评分这本书大致翻了一下,感觉还不错,得进入一步研究
评分好书 通俗易懂 适合初学者
评分这本书特别好、对于初学者来说通俗易懂、算c语言书中讲得详细的了。
评分结合cpp感觉挺不错的 言简意赅 专业也可以看看多一种思路吧!
评分喜欢
评分这本书大致翻了一下,感觉还不错,得进入一步研究
评分我为什么喜欢在京东买东西,因为今天买明天就可以送到。我为什么每个商品的评价都一样,因为在京东买的东西太多太多了,导致积累了很多未评价的订单,所以我统一用段话作为评价内容。京东购物这么久,有买到很好的产品,也有买到比较坑的产品,如果我用这段话来评价,说明这款产品没问题,至少85分以上,而比较垃圾的产品,我绝对不会偷懒到复制粘贴评价,我绝对会用心的差评,这样其他消费者在购买的时候会作为参考,会影响该商品销量,而商家也会因此改进商品质量。
评分快递很快,东西也完好无损。信任京东和这个牌子的东西,东西很好用,目前使用没有闹心的问题。
评分想给自己充下电,是很好
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有