假设你想深入研究机器学习,但你不知道Python或者你想切换到全栈开发并且担心你从不使用 JavaScript 编码,这是学生在想要探索一个时经常遇到的常见问题计算机科学中令人兴奋的新领域。根据维基百科,这个世界上有超过 500 种编程语言,其中大约 50 种编程语言是最令人印象深刻的,因此在世界范围内流行。每种语言都统治着一个特定的计算机科学领域。许多学生经常会因为不知道该领域所需的编程语言而失去开始探索某个领域的动力,然后他们放弃了。
好吧,等一下,如果我们告诉您只需 5 个简单的步骤就可以非常快速地学习任何新的编程语言的编码。是的,这绝对是可能的,并且是学习任何新编程语言的最聪明、最令人兴奋的方式。如果您知道至少一种编程语言,这将非常有帮助,但不是绝对必要的,您总是可以从头开始,所以不要担心,不要想太多,只需使用这些简单的新编程语言进行编码就可以了下面给出五个步骤。
1.基本语法
在编程中,语法只不过是一组规则,它使用正确的符号和表达式的组合来描述代码的结构。它是构建代码的原材料或骨架。在开始编写代码之前,您必须从正确的资源中学习该编程语言的基本语法。您可以从GeeksforGeeks 获得帮助。尽管您会在每种语言中发现或多或少的相似之处,但不同的编码语言提供不同类型的语法。一开始,通过所有规则集似乎很无聊,但是当您练习并编写越来越多的代码时,这对您来说将不再是问题。如果您不遵循该编程语言的确切语法规则,您将在代码编译期间收到语法错误。语法错误意味着您的代码在语法上无效。您必须学习的内容如下:
- 头文件和库:头文件包含一组非常有用的预定义库函数。通常,在代码的开头,您必须包含这些头文件或导入所需的库。您无需深入研究这些内容,只需了解您应该在代码中包含哪些库或头文件即可。
- 代码入口点:这是代码开始执行的点。例如,每个C或C++代码都从 main函数开始执行,而在Java, main 方法是代码入口点。
- 终止一行:您必须知道特定行在哪里结束以及新行开始执行。在 C、 Java和 C++ 中,每条语句都以分号结尾,但在 JavaScript 和其他脚本语言中,分号不是必需的。
- 块结构:各种编码语言有不同的风格来表示块,就像在Python我们使用缩进,在 C、 Java或 C++ 中我们使用大括号。
- 关键字:在编程中,保留字是不能作为标识符使用的保留标识符,这些关键字用的很多,所以一定要了解这些关键字。
- 评论: 使用注释始终是一个很好的编程习惯,所以尝试学习如何在代码中编写注释,不同的编码语言有不同的语法来编写注释。
- Escape 关键字:这些非常方便,在某些情况下确实是救命稻草,例如没有 escape 关键字,我们将无法在 C 中打印引号。
- 空格:提供制表符 (\t)、换行符 (\n) 等非常有用。这些字符称为空格。
2.数据结构
它就像是继续编码之旅的主要燃料。数据结构是在编码领域前进的必备技能。它有助于有效地执行各种操作。拥有良好的数据结构知识,您将不仅成为一名程序员,而且将成为一名高效的程序员,他可以在时间和空间复杂度方面编写高效的代码。这意味着您可以正确地组织和存储以适当地执行操作。所以你一定在想我应该学什么?嗯,这真的很复杂,也是您编码之旅中最重要的部分。所以你必须从基础开始,一步一步深入。从原始数据结构开始,了解它们何时使用以及为何使用。准确地说,您必须有一个清晰的概念来决定在您面临的特定编程问题中使用哪种数据结构。有不同类型的数据结构,例如:
- 原始数据结构:整数、实数、字符、布尔值。
- 非原始数据结构:数组、链表、堆栈、队列、树、图
- 高级数据结构:不相交集、自平衡树、段树、尝试等
不同的编程语言具有不同类型的语法以不同的方式表示它们,但该数据结构的主要核心概念始终相同。因此,请尝试了解这些在您正在学习的特定编码语言中是如何表示的,并学习使用它们的基本操作。
3.控制流程
控制流或控制流是编码中非常有趣的部分,您必须从逻辑上想象或可视化哪些单独的语句、指令或函数调用将逐步或一行一行地执行。在控制流中,必须选择或决定遵循两条或更多条路径中的哪一条,以及执行此行后控制将去往何处。确切地说,当代码在 CPU 中运行时,控制流负责更新程序计数器值。不同语言支持的控制流程各不相同,但让我们从概念上对它们的作用进行分类:
- 无条件分支或跳转:不检查任何条件而将程序执行继续或转移到特定语句。例如,C 中的 goto 关键字是一个无条件分支语句。
- 条件分支:仅当指定的布尔条件评估为真时才在块内执行一组语句。例如,if-else、语句、嵌套在这里也可以使用 else if。 Switch-Case语句是根据指定常量的多路分支,如果匹配发生,则控制将进行。
- 循环:执行一组语句零次或多次,直到满足某个条件。循环是一个必须具备的概念。编程语言中有不同类型的循环。
- 计数控制循环:每次以不同的步长重复循环一定次数。例如,For 循环,
- 条件控制循环:重复循环直到指定的条件为真,当条件为假时停止。例如,While 循环、Do While 循环。
- 集合控制循环: 许多编码语言(例如,C++11、Smalltalk、 PHP、 Java、C#、Visual Basic、Ruby、 Python、JavaScript 等)具有允许隐式循环遍历集合或集合或数组的所有成员的特殊结构。
- 无限循环: 重复 永远循环或直到出现异常情况或错误。许多语言通过省略不定循环中的条件而具有用于无限循环的特殊构造。
- 子程序调用:在代码中的某处执行一组语句,之后控制流通常返回到子程序被调用的地方。例如,CALL 和 RETURN 语句与此相关联。
- 暂停:停止程序或阻止它进一步执行。例如,中断、退出关键字。
流程图对于可视化代码的控制如何从一个地方到另一个地方非常有用。
4.函数调用和递归
这些是掌握任何编程语言的必备概念。函数只不过是一段代码,仅用于特定目的,它增加了代码的可重用性和可维护性。每当必须执行特定任务时,我们都可以多次调用函数(不超过调用堆栈限制)。一个函数可以接受也可以不接受参数并且总是返回一个值。函数签名、函数体、形式参数、实参、函数声明、函数初始化、调用堆栈等与函数调用相关的术语有很多,请尝试清除您对这些术语的概念。不同的编码语言使用不同的参数传递约定:
Convention |
Why So? |
Languages |
---|---|---|
Call by value | A copy of Actual parameters are used hence actual parameters are not changed | C, C++, Java, Pascal, Simula, Ada etc |
Call by reference | We pass the address of the actual parameters hence actual can be modified | C, C++, Pascal, Ada, and many others |
Call by result | Actual parameters are not used but get modified or copied back from the formals | Ada out parameter semantics |
Call by value-result | Actuals used and get copied back from formal parameters on the return | Algol, Swift in/out-mode semantics |
Call by name | Name of actual parameters are passed and may get modified | Scala, Algol |
Call by constant | Similar to call by value, but the parameter is treated as a constant value | Ada, PL/I |
递归只不过是一个函数调用,其中函数直接或间接调用自身,相应的函数称为递归函数。这是一种非常有用的技术,使用它我们可以很容易地解决复杂的问题。使用递归的有趣之处在于它减少了解决问题所需的代码行数。只有当问题可以分解为更小的子问题时,我们才能使用递归。使用递归的关键部分是基本条件或停止递归的条件。
5. 练习!
最后但并非最不重要的是实践,是的,实践使一切变得清晰。这是掌握任何编程语言最重要的一步。你练习得越多,你就会学到和记住的越多。没有适当的练习,这只是时间问题,你会忘记你学到的很多概念,所以不要让你的努力就这样流失。始终尝试实现您的代码,无论您学到什么概念,都尝试使用该概念编写代码。
要有耐心并继续前进。掌握一门编码语言不是开玩笑,但只要付出大量的努力和努力是可能的。尽量保持一致,缓慢而稳定地前进。每当您感到大脑已满时就休息一下。向他人寻求帮助是一个很好的做法,这个世界上有一个庞大的编程社区,那里有很多有经验的人,尝试向他们学习并利用这个在线社区。