内容简介:学习第一门编程语言的时候,你很可能是读过一本书,输入了你不太懂的代码,然后试图弄懂它们的原理。我写的其他书大多是这个样子,这对初学者非常有效。初学的时候,对于有一些复杂的主题,你需要在弄懂它们之前先学会怎么用,因此这是一个简单的学习方式。然而,一旦你已经学过了一门编程语言,这种慢速摸索语法的方法就不那么有效了。这样学习语言是可以的,但是有一种更快的方法让你学会编程技能,并且建立起使用的信心。这种学习编程的方法像是魔术,但你要相信我,它的效果出奇地好。
扫描二维码可进入本文的学习视频
学习第一门编程语言的时候,你很可能是读过一本书,输入了你不太懂的代码,然后试图弄懂它们的原理。我写的其他书大多是这个样子,这对初学者非常有效。初学的时候,对于有一些复杂的主题,你需要在弄懂它们之前先学会怎么用,因此这是一个简单的学习方式。
然而,一旦你已经学过了一门编程语言,这种慢速摸索语法的方法就不那么有效了。这样学习语言是可以的,但是有一种更快的方法让你学会编程技能,并且建立起使用的信心。这种学习编程的方法像是魔术,但你要相信我,它的效果出奇地好。
学习C语言的时候,我想要你 首先
记住所有的基本符号和语法,
然后
将它们用到一系列的习题中。这种方法和你学习人类语言的过程很相似:记忆单词和语法,然后将记住的东西用到对话中。只要一开始下功夫简单记住一些东西,你就有了足够的基础知识,以后读写C代码就更容易了。
警告
有的人极其反对背诵记忆。一般他们会说这会抹杀你的想象力,让你变成呆子。其实不会,我就是一个活的证据。我会画油画,会弹吉他,会制作吉他,会唱歌,会写代码,会写书,而且我背过很多东西。因此,这种说法不但毫无根据,而且会破坏学习效率。别把他们的话当回事儿。
如何记忆
最好的记忆方法过程其实很简单。
1.创建一系列的速记卡,将符号写在一面,将描述写在另一面。你还可以使用一个叫Anki的程序在计算机上完成这件事。我喜欢自己制作速记卡,因为制作的过程也有助于记忆。
2.将速记卡打乱,然后一张一张开始浏览,先只看其中的一面,努力想想另一面的内容,别着急看答案。
3.如果无法想起另一面的内容,那就看看答案,然后复述答案,再把卡片放到单独的一摞里边。
4.看完所有的卡片以后,你手头就有两摞卡片了:一摞是你能快速记起的,另一摞是你没有记住的。 拿起没记住的那一摞,下功夫努力去记这些卡片。
5.一个阶段结束以后(通常是15~30分钟),你手头还是会有一摞没记住的卡片。将这些卡片随身携带,只要有空,就背一会儿里边的内容。
记忆的技巧有很多,不过我发现,这是让你能做到即时想起你需要能立即使用的东西的最好方法。C语言的符号、关键字、语法是你需要即时想起的东西,所以这个方法最适用。
另外还要记住,你需要做到卡片的 双面
记忆。你应该能做到通过描述知道对应的符号,也要能从符号知道它的描述。
最后,你 不需要专门停下来
去背这些运算符。最好的方法是将其和书中的习题结合起来,以便对记忆的内容进行应用。关于这一点参见下一个习题。
运算符列表
首先要列出的是算术运算符,与几乎每一种编程语言里的算术运算符都很像。写卡片的时候,描述中要写上它是算术运算符,并说明它的具体功能。
算术运算符 |
描述 |
---|---|
+ |
加 |
- |
减 |
* |
乘 |
/ |
除 |
% |
取模 |
++ |
自增 |
-- |
自减 |
关系运算符用于测试等值性,它们在各种编程语言中也都很常见。
关系运算符 |
描述 |
---|---|
== |
等于 |
!= |
不等于 |
> |
大于 |
< |
小于 |
>= |
大于等于 |
<= |
小于等于 |
逻辑运算符用于逻辑测试,它们的功能你应该已经知道了。唯一特殊的是 逻辑三元运算符
(logical ternary),你将会在本书的后面学到。
逻辑运算符 |
描述 |
---|---|
&& |
逻辑与 |
|| |
逻辑或 |
! |
逻辑非 |
?: |
条件运算符/逻辑三元运算符 |
按位运算符做的事在现代代码中不常见到。它们会用各种方式改变构成字节和其他数据结构的位。我不会在本书中讲这些,不过在一些特定类型底层系统中,它们用起来会非常顺手。
按位运算符 |
描述 |
---|---|
& |
按位与 |
| |
按位或 |
^ |
按位异或 |
~ |
按位取反 |
<< |
按位左移 |
>> |
按位右移 |
赋值运算符的作用是将表达式赋给变量,不过C语言中很多运算符都可以和赋值合并使用。因而,当我说“与等”(and-equal),我说的是 按位
运算符,而不是逻辑运算符。
赋值运算符 |
描述 |
---|---|
= |
赋值(等) |
+= |
加后赋值(加等) |
- = |
减后赋值(减等) |
*= |
乘后赋值(乘等) |
/= |
除后赋值(除等) |
%= |
取模后赋值(取模等) |
<<= |
按位左移后赋值(左移等) |
>>= |
按位右移后赋值(右移等) |
&= |
按位与后赋值(与等) |
^ = |
按位异或后赋值(异或等) |
|= |
按位或后赋值(或等) |
我把下面的操作叫 数据运算符
,不过它们其实处理的是指针、成员访问,以及C语言的各种数据结构的元素。
数据运算符 |
描述 |
---|---|
sizeof() |
获取……的大小 |
[] |
数组下标 |
& |
……的地址 |
* |
……的值 |
-> |
结构体解引用 |
. |
结构体引用 |
最后还有一些杂项符号,它们要么用途多变(如 ,
),要么由于各种原因没法归类,所以一并列在下面。
杂项运算符 |
描述 |
---|---|
, |
逗号 |
( ) |
圆括号 |
{ } |
花括号 |
: |
冒号 |
// |
单行注释开始 |
/* |
多行注释开始 |
*/ |
多行注释结束 |
一边学习速记卡,一边继续阅读本书。如果你每次学习之前花15~30分钟攻读速记卡,每天睡前也花15~30分钟,那么应该用不了几个星期你就能都记住了。
本文摘自 《“笨办法”学C语言》
在本书中,你将通过完成52个精心设计的习题来学会C语言。阅读书里的习题,看作者提供的视频,照着录入代码(不要复制和粘贴!),修正自己的错误,观察程序的运行。在这个过程中,你将会了解好的现代C代码长什么样子,如何有效地思考代码,如何更加有效地找出和修正错误。重要地是,你将掌握严密的防御性编程技术,不管你使用什么编程语言,利用这些技术你都可以创建避免缺陷并抵御恶意行为的软件。本书通过实用的项目,让你学以致用,从而对自己新学会的技能更有信心。Zed将教会你编写出色的C代码所需具备的诸多关键技能。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- ES6—扩展运算符和rest运算符(6)
- C/C++三元运算符实际上是否具有与赋值运算符相同的优先级?
- Python 运算符
- Python算术运算符
- 004.Python运算符
- JavaScript③运算符
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
粒子群优化算法及其工程应用
刘波 / 2010-8 / 28.00元
《粒子群优化算法及其工程应用》的主要内容是:粒子群优化(PSO)算法是一种基于群体智能的新兴演化计算技术,广泛用于解决科学研究和工程实践中的优化问题。《粒子群优化算法及其工程应用》主要阐述粒子群优化算法的基本理论及其在机械故障诊断和机械工程测试中的应用成果。全书共5章,第1至3章介绍了PSO算法的原理和各种改进、变体PSO算法的原理,第4章介绍了PSO算法在机械工程领域的应用,第5章介绍了PSO算......一起来看看 《粒子群优化算法及其工程应用》 这本书的介绍吧!
SHA 加密
SHA 加密工具
HEX HSV 转换工具
HEX HSV 互换工具