计算机编程 - 快速指南


计算机编程 - 概述

计算机程序简介

在开始讨论计算机编程之前,让我们首先了解计算机程序及其用途。

计算机程序是使用计算机编程语言编写的一系列指令,用于由计算机执行指定的任务。

我们在上述定义中使用的两个重要术语是 -

  • 指令顺序
  • 计算机编程语言

要理解这些术语,请考虑当有人询问您如何去附近的肯德基时的情况。你究竟要做什么来告诉他去肯德基的路?

您将使用人类语言告诉去肯德基的路,如下 -

先直走,半公里后,红灯左转,再行驶一公里左右,肯德基就在右边。

在这里,您使用英语给出了到达肯德基需要采取的几个步骤。如果按照以下顺序进行操作,那么您将到达肯德基 -

1.	Go straight
2.	Drive half kilometer
3.	Take left
4.	Drive around one kilometer
5.	Search for KFC at your right side

现在,尝试用计算机程序绘制情况图。上面的指令序列实际上是用英语编写的人类程序,它指示如何从给定的起点到达肯德基。相同的序列可以用西班牙语、印地语、阿拉伯语或任何其他人类语言给出,只要寻求指导的人懂得这些语言中的任何一种即可。

现在,让我们回过头来尝试理解计算机程序,它是用计算机语言编写的一系列指令,用于由计算机执行指定的任务。以下是用Python编程语言编写的简单程序-

print "Hello, World!"

上面的计算机程序指示计算机打印“Hello, World!” 在电脑屏幕上。

  • 计算机程序也称为计算机软件,其范围可以从两行到数百万行指令。

  • 计算机程序指令也称为程序源代码,计算机编程也称为程序编码

  • 没有计算机程序的计算机只是一个垃圾箱;使计算机活跃的是程序。

由于我们开发了如此多的语言来进行相互交流,计算机科学家也开发了几种计算机编程语言来向计算机提供指令(即编写计算机程序)。我们将在后续章节中看到几种计算机编程语言。

计算机编程概论

如果你了解什么是计算机程序,那么我们会说:编写计算机程序的Behave称为计算机编程。

正如我们之前提到的,有数百种编程语言可用于编写计算机程序,以下是其中的一些 -

  • 爪哇
  • C
  • C++
  • Python
  • PHP
  • 珀尔
  • Ruby

计算机程序的用途

如今,计算机程序几乎应用于每个领域,家庭、农业、医疗、娱乐、国防、通信等。下面列出了计算机程序的一些应用 -

  • MS Word、MS Excel、Adobe Photoshop、Internet Explorer、Chrome 等都是计算机程序的示例。

  • 计算机程序被用来开发电影制作中的图形和特效。

  • 计算机程序被用来进行超声波检查、X 射线检查和其他医学检查。

  • 我们的手机中使用计算机程序进行短信、聊天和语音通信。

计算机程序员

能够编写计算机程序的人,或者换句话说,能够进行计算机编程的人被称为计算机程序员。

根据计算机编程语言的专业知识,我们可以按如下方式命名计算机程序员 -

  • C程序员
  • C++程序员
  • Java程序员
  • Python程序员
  • PHP程序员
  • Perl程序员
  • Ruby程序员

算法

从编程的角度来看,算法是解决任何问题的逐步过程。算法是一种有效的方法,表示为一组有限的明确定义的指令。

因此,计算机程序员在编写实际代码之前列出了解决问题所需的所有步骤。以下是一个简单的算法示例,用于从给定的数字列表中找出最大的数字 -

1. Get a list of numbers L1, L2, L3....LN
2. Assume L1 is the largest, Largest = L1
3. Take next number Li from the list and do the following
4. If Largest is less than Li
5. Largest = Li
6. If Li is last number from the list then
7. Print value stored in Largest and come out
8. Else repeat same process starting from step 3

上面的算法是用粗略的方式编写的,以帮助初学者理解这个概念。当您进入高级计算机编程水平时,您将遇到更标准化的计算机算法编写方法。

计算机编程 - 基础知识

我们假设您非常了解英语,这是一种著名的人机界面语言。英语有预先定义的语法,需要遵循该语法才能正确地编写英语语句。同样,大多数人机界面语言(印地语、英语、西班牙语、法语等)都是由动词、名词、形容词、副词、命题和连词等多种元素组成。

与人机界面语言类似,计算机编程语言也由多个元素组成。我们将带您了解这些元素的基础知识,并让您轻松地在各种编程语言中使用它们。这些基本要素包括 -

  • 编程环境
  • 基本语法
  • 数据类型
  • 变量
  • 关键词
  • 基本运算符
  • 决策
  • 循环
  • 数字
  • 人物
  • 数组
  • 弦乐
  • 功能
  • 文件输入/输出

我们将在后续章节中通过使用不同编程语言的示例来解释所有这些元素。首先,我们将尝试理解所有这些术语的一般含义,然后,我们将了解如何在不同的编程语言中使用这些术语。

本教程旨在让您了解以下最流行的编程语言 -

  • C语言编程
  • Java编程
  • Python编程

本教程的主要部分是通过以 C 作为编程语言来解释的,然后我们展示了类似的概念如何在 Java 和 Python 中工作。因此,完成本教程后,您将对这些流行的编程语言非常熟悉。

计算机编程 - 环境

尽管环境设置不是任何编程语言的组成部分,但它是开始编写程序之前需要遵循的第一步。

当我们说环境设置时,它只是意味着我们可以在其上进行编程的基础。因此,我们需要安装所需的软件,即安装在我们的PC上,用于编写计算机程序、编译和执行它们。例如,如果您需要浏览互联网,那么您需要在您的计算机上进行以下设置 -

  • 用于连接到 Internet 的有效 Internet 连接
  • Web 浏览器,例如 Internet Explorer、Chrome、Safari 等。

如果您是 PC 用户,那么您一定会认出下面的屏幕截图,这是我们在浏览tutorialspoint.com 时从 Internet Explorer 中截取的。

IE浏览器

同样,您将需要以下设置才能开始使用任何编程语言进行编程。

  • 用于创建计算机程序的文本编辑器。
  • 编译器将程序编译为二进制格式。
  • 直接执行程序的解释器。

如果您没有足够的计算机经验,您将无法安装这些软件。因此,我们建议您向周围的技术人员寻求帮助,在您的计算机上设置编程环境,从这里开始。但对您来说,了解这些项目是什么很重要。

文本编辑器

文本编辑器是一种用于编写计算机程序的软件。您的Windows机器必须有一个记事本,可以用来输入程序。您可以按照以下步骤启动它 -

Start Icon → All Programs → Accessories → Notepad → Mouse Click on Notepad

它将启动记事本并显示以下窗口 -

记事本

您可以使用此软件键入计算机程序并将其保存在任何位置的文件中。您可以下载并安装其他优秀的编辑器,例如免费提供的Notepad++ 。

如果您是 Mac 用户,那么您将拥有TextEdit ,或者您可以先安装一些其他商业编辑器,例如BBEdit 。

编译器?

您使用自己喜欢的编程语言编写计算机程序,并将其保存在称为程序文件的文本文件中。

现在让我们尝试更详细地了解计算机如何理解您使用编程语言编写的程序。实际上,计算机无法理解你直接以文本格式给出的程序,因此我们需要将这个程序转换为计算机可以理解的二进制格式。

从文本程序到二进制文件的转换是由另一个称为Compiler的软件完成的,从文本格式的程序到二进制格式文件的转换过程称为程序编译。最后,您可以执行二进制文件来执行编程任务。

我们不会详细介绍编译器和编译的不同阶段。

以下流程图说明了该过程 -

编译器

因此,如果您要使用任何此类需要编译的语言(如 C、C++、Java 和 Pascal 等)编写程序,那么您需要在开始编程之前安装它们的编译器。

口译员

我们刚刚讨论了编译器和编译过程。如果您要使用编程语言编写程序,并且在执行之前需要将其编译为二进制格式,则需要编译器。

还有其他编程语言,如Python、PHP、Perl,不需要任何编译成二进制格式,而是可以使用解释器逐行读取此类程序并直接执行,无需进一步转换。

口译员

因此,如果您打算使用 PHP、Python、Perl、Ruby 等语言编写程序,那么您需要在开始编程之前安装它们的解释器。

在线编译

如果您无法在计算机上设置任何编辑器、编译器或解释器,那么tutorialspoint.com提供了一种工具,只需单击一下即可在线编译和运行几乎所有程序。

所以不用担心,让我们进一步体验通过简单易行的步骤成为一名计算机程序员的惊险体验。

计算机编程 - 基本语法

让我们从一些编码开始,这将使您真正成为一名计算机程序员。我们将编写一个单行计算机程序来编写Hello, World! 在你的屏幕上。让我们看看如何使用不同的编程语言来编写它。

C 语言的 Hello World 程序

使用www.compileonline.com上提供的在线编译器选项尝试以下示例。

对于本教程中给出的大多数示例,您将在我们网站右上角的代码部分中找到“试用”选项,该选项将带您进入在线编译器。

尝试更改 printf() 中的内容,即键入任何内容来代替Hello World! 然后检查其结果。它只是打印您在两个双引号内保留的内容。

#include <stdio.h>

int main() {
   /* printf() function to write Hello, World! */
   printf( "Hello, World!" );
}

产生以下结果 -

Hello, World!

这个 Hello World 小程序将帮助我们理解与 C 编程相关的各种基本概念。

程序入口点

现在,只需忘记#include <stdio.h>语句,但请注意,您必须将此语句放在 C 程序的顶部。

每个 C 程序都以 main() 开头,称为主函数,然后后面跟着一个左大括号。程序指令的其余部分写在中间,最后用右大括号结束程序。

这两个花括号内的编码部分称为程序体。左大括号可以与 main(){ 位于同一行,也可以位于下一行,就像上面的程序中提到的那样。

功能

函数是程序的小单元,它们用于执行特定任务。例如,上面的程序使用了两个函数:main()printf()。这里,函数 main() 提供程序执行的入口点,另一个函数 printf() 用于在计算机屏幕上打印信息。

你可以编写自己的函数,我们将在单独的章节中看到,但 C 编程本身提供了各种内置函数,如 main()、printf() 等,我们可以根据需要在程序中使用它们。

一些编程语言使用“子例程”一词而不是“函数”,但它们的功能或多或少是相同的。

评论

C 程序可以将语句包含在/*.....*/内。此类语句称为注释,这些注释用于使程序用户友好且易于理解。注释的好处是它们会被编译器和解释器完全忽略。因此,您可以使用任何您想要的语言来撰写评论。

空格

当我们使用任何编程语言编写程序时,我们都会使用各种可打印字符来准备编程语句。这些可打印字符是a, b, c,......z, A, B, C,......Z, 1, 2, 3,...... 0, !, @, # , $, %, ^, &, *, (, ), -, _, +, =, \, |, {, }, [, ], :, ;, <, >, ?, /, \, ~ 。`。", '。希望我没有遗漏您键盘上的任何可打印字符。

除了这些字符之外,还有一些我们经常使用但在程序中不可见的字符,这些字符是空格、制表符(\t)、换行符(\n)。这些字符称为空白

这三个重要的空白字符在所有编程语言中都很常见,并且它们在文本文档中保持不可见 -

空白 解释 表示
新队 创建新行 \n
标签 创建一个选项卡。 \t
空间 创造一个空间。 空的空间

仅包含空格(可能带有注释)的行称为空行,C 编译器完全忽略它。空白是 C 语言中用来描述空白、制表符、换行符和注释的术语。所以你可以写printf("Hello, World!" ); 如下所示。这里是围绕“Hello, World!”创建的所有空间。没有用处,编译器在编译时会忽略它们。

#include <stdio.h>

int main() {

   /* printf() function to write Hello, World! */
   
   printf(    "Hello, World!"      );
   
}

产生以下结果 -

Hello, World!

如果我们使所有这些空白字符可见,那么上面的程序将如下所示,并且您将无法编译它 -

#include <stdio.h>\n
\n
int main()\n
{
   \n
   \t/* printf() function to write Hello, World! */
   \n 
   \tprintf(\t"Hello, World!"\t);\n
   \n
}\n

分号

C 程序中的每个单独语句都必须以分号 ( ; ) 结束,例如,如果您想编写“Hello, World!” 两次,那么就会写成如下 -

#include <stdio.h>

int main() {
   /* printf() function to write Hello, World! */
   printf( "Hello, World!\n" );
   printf( "Hello, World!" );
}

该程序将产生以下结果 -

Hello, World! 
Hello, World!

在这里,我们在第一个 printf() 函数中使用换行符\n来创建新行。让我们看看如果我们不使用这个换行符会发生什么 -

#include <stdio.h>

int main() {
   /* printf() function to write Hello, World! */
   printf( "Hello, World!" );
   printf( "Hello, World!" );
}

该程序将产生以下结果 -

Hello, World! Hello, World!

我们将在接下来的几章中学习标识符和关键字。

程序说明

让我们了解一下上面的 C 程序是如何工作的。首先,使用C编译器将上述程序转换为二进制格式。因此,让我们将此代码放入 test.c 文件中并按如下方式编译它 -

$gcc test.c -o demo

如果存在任何语法错误(计算机术语中的语法错误),那么我们会在将其转换为二进制格式之前修复它。如果一切顺利,那么它会生成一个名为demo的二进制文件。最后,我们执行生成的二进制演示,如下所示 -

$./demo

产生以下结果 -

Hello, World!

在这里,当我们执行二进制a.out文件时,计算机从 main() 开始进入程序内部,并遇到 printf() 语句。请注意 /*....*/ 内的行是注释,它在编译时被过滤。因此 printf() 函数指示计算机在计算机屏幕上打印给定的行。最后,它遇到一个右花括号,表示 main() 函数结束并退出程序。

语法错误

如果不遵循编程语言定义的规则,那么在编译时,就会出现语法错误,程序将无法编译。从语法的角度来看,即使是单个点、逗号或单个分号也很重要,您也应该注意这样的小语法。在下面的示例中,我们跳过了一个分号,让我们尝试编译程序 -

#include <stdio.h>

main() {
   printf("Hello, World!")
}

该程序将产生以下结果 -

main.c: In function 'main':
main.c:7:1: error: expected ';' before '}' token
 }
 ^

因此,最重要的是,如果您没有遵循程序中编程语言定义的正确语法,那么您将出现语法错误。在尝试另一次编译之前,您需要修复它们然后继续。

Java 中的 Hello World 程序

以下是用 Java 编写的等效程序。这个程序也会产生相同的结果Hello, World!

public class HelloWorld { 
   public static void main(String []args) {
      /* println() function to write Hello, World! */
      System.out.println("Hello, World!");     
   }
}

产生以下结果 -

Hello, World!

Python 中的 Hello World 程序

以下是用 Python 编写的等效程序。这个程序也会产生相同的结果Hello, World!

#  print function to write Hello, World! */
print "Hello, World!"

产生以下结果 -

Hello, World!

希望您注意到,对于 C 和 Java 示例,我们首先编译程序,然后执行生成的二进制文件,但在 Python 程序中,我们直接执行它。正如我们在上一章中所解释的,Python 是一种解释性语言,它不需要称为编译的中间步骤。

Python 不需要分号 (;) 来终止语句,而是换行始终意味着语句的终止。

计算机编程 - 数据类型

让我们讨论一个几乎所有编程语言中都可用的非常简单但非常重要的概念,即数据类型。顾名思义,数据类型表示可以使用计算机程序处理的数据类型。它可以是数字、字母数字、小数等。

让我们先把计算机编程放在一边,举一个简单的例子,将两个整数 10 和 20 相加,可以简单地按如下方式完成:

10 + 20

让我们考虑另一个问题,我们想要将两个小数 10.50 和 20.50 相加,其写法如下:

10.50 + 20.50

这两个例子很简单。现在我们再举一个例子,我们想要在笔记本中记录学生信息。在这里我们想记录以下信息 -

Name:
Class:
Section:
Age:
Sex:

现在,让我们根据给定的要求放置一份学生记录 -

Name: Zara Ali
Class: 6th
Section: J
Age: 13
Sex: F

第一个示例处理整数,第二个示例添加两个小数,而第三个示例处理不同数据的混合。让我们这样说 -

  • 学生姓名“Zara Ali”是一个字符序列,也称为字符串。

  • 学生班级“6th”由整数和两个字符的字符串混合表示。这种组合称为字母数字。

  • 学生部分由单个字符“J”表示。

  • 学生年龄用整数 13 表示。

  • 学生性别由单个字符“F”表示。

这样,我们意识到在日常生活中,我们处理不同类型的数据,例如字符串、字符、整数(整数)和小数(浮点数)。

同样,当我们编写计算机程序来处理不同类型的数据时,我们需要明确指定其类型;否则计算机无法理解如何对给定数据执行不同的操作。不同的编程语言使用不同的关键字来指定不同的数据类型。例如,C 和 Java 编程语言使用int指定整数数据,而char指定字符数据类型。

后续章节将向您展示如何在不SymPy况下使用不同的数据类型。现在,让我们检查一下 C、Java 和 Python 中可用的重要数据类型以及我们将用于指定这些数据类型的关键字。

C 和 Java 数据类型

C 和 Java 支持几乎相同的数据类型集,但 Java 支持其他数据类型。目前,我们采用两种编程语言都支持的一些常见数据类型 -

类型 关键词 该数据类型可以表示的取值范围
特点 字符 -128 至 127 或 0 至 255
数字 整数 -32,768 至 32,767 或 -2,147,483,648 至 2,147,483,647
少数 短的 -32,768 至 32,767
长数 长的 -2,147,483,648 至 2,147,483,647
十进制数 漂浮 1.2E-38 至 3.4E+38 直至小数点后 6 位

这些数据类型称为原始数据类型,您可以使用这些数据类型构建更复杂的数据类型,这些数据类型称为用户定义的数据类型,例如字符串将是字符序列。

Python 数据类型

Python 有五种标准数据类型,但这种编程语言不使用任何关键字来指定特定的数据类型,相反,Python 足够智能,可以自动理解给定的数据类型。

  • 数字
  • 细绳
  • 列表
  • 元组
  • 字典

这里,Number指定包括十进制数在内的所有类型的数字,string表示长度为1个或更多字符的字符序列。现在,我们先讨论这两种数据类型,并跳过 List、Tuple 和 Dictionary 这些 Python 中的高级数据类型。

计算机编程 - 变量

变量是您为计算机内存位置指定的名称,用于在计算机程序中存储值。

例如,假设您想要在程序中存储两个值 10 和 20,并且在稍后阶段,您想要使用这两个值。让我们看看你会怎么做。以下是以下三个简单步骤 -

  • 创建具有适当名称的变量。
  • 将您的值存储在这两个变量中。
  • 检索并使用变量中存储的值。

创建变量

创建变量在 C 编程中也称为声明变量。不同的编程语言有不同的在程序中创建变量的方法。例如,C 编程有以下创建变量的简单方法 -

#include <stdio.h>

int main() {
   int a;
   int b;
}

上面的程序创建两个变量来保留两个名为ab的内存位置。我们使用int关键字创建这些变量来指定变量数据类型,这意味着我们希望在这两个变量中存储整数值。同样,您可以创建变量来存储longfloatchar或任何其他数据类型。例如 -

/* variable to store long value */
long a;

/* variable to store float value */
float b;

您可以通过将类似类型的变量放在一行中但用逗号分隔来创建它们,如下所示 -

#include <stdio.h>

int main() {
   int a, b;
}

下面列出了您需要牢记的有关变量的要点 -

  • 变量名可以保存单一类型的值。例如,如果变量a已定义为int类型,则它只能存储整数。

  • C 编程语言需要创建变量,即在程序中使用变量之前进行声明。尽管Python等编程语言允许您在不创建变量的情况下使用变量名称,但您无法在程序中使用变量名称而不创建它。

  • 变量名只能在程序中使用一次。例如,如果已定义变量a来存储整数值,则不能再次定义a来存储任何其他类型的值。

  • 有些编程语言,如 Python、PHP、Perl 等,不希望您在创建变量时指定数据类型。因此,您可以存储整数、浮点数或长整型,而无需指定其数据类型。

  • 您可以为变量指定任何名称,例如agesexsalaryyear1990或您想要指定的任何其他名称,但大多数编程语言只允许在变量名称中使用有限的字符。目前,我们建议在变量名称中仅使用a....z、A....Z、0....9 ,并仅使用字母而不是数字来开始其名称。

  • 几乎所有编程语言都不允许以数字开头变量名称,因此1990year不是有效的变量名称,而year1990ye1990ar是有效的变量名称。

每种编程语言都提供了更多与变量相关的规则,当您进一步详细了解该编程语言时,您将了解它们。

将值存储在变量中

您已经在上一节中看到了我们如何创建变量。现在,让我们在这些变量中存储一些值 -

#include <stdio.h>

int main() {
   int a;
   int b;
   
   a = 10;
   b = 20;
}

上面的程序有两个附加语句,其中我们将 10 存储在变量a中,将 20 存储在变量b中。几乎所有编程语言都有类似的在变量中存储值的方法,其中我们将变量名称保留在等号 = 的左侧,无论我们想要在变量中存储什么值,我们都将该值保留在右侧。

现在,我们已经完成了两个步骤,首先我们创建了两个变量,然后我们在这些变量中存储了所需的值。现在变量a的值为 10,变量b的值为 20。换句话说,当执行上述程序时,名为a 的内存位置将保存 10,而名为b的内存位置将保存 20。

访问变量中存储的值

如果我们不使用变量中存储的值,那么创建变量并在其中存储值就没有意义。我们知道上面的程序有两个变量ab,它们分别存储值10和20。因此,让我们尝试打印存储在这两个变量中的值。以下是一个 C 程序,它打印存储在其变量中的值 -

#include <stdio.h>

int main() {
   int a;
   int b;
   
   a = 10;
   b = 20;
   
   printf( "Value of a = %d\n", a );
   printf( "Value of b = %d\n", b );
}

执行上述程序时,会产生以下结果 -

Value of a = 10
Value of b = 20

您一定在上一章中见过printf()函数,我们用它来打印“Hello, World!”。这次,我们用它来打印变量的值。我们正在使用%d,它将替换为 printf() 语句中给定变量的值。我们可以使用单个 printf() 语句打印这两个值,如下所示 -

#include <stdio.h>

int main() {
   int a;
   int b;
   
   a = 10;
   b = 20;
   
   printf( "Value of a = %d and value of b = %d\n", a, b );
}

执行上述程序时,会产生以下结果 -

Value of a = 10 and value of b = 20

如果你想在 C 编程中使用浮点变量,那么你必须使用%f而不是%d,如果你想打印字符值,那么你必须使用%c。同样,不同的数据类型可以使用不同的%和字符来打印。

Java 中的变量

以下是用 Java 编程语言编写的等效程序。该程序将创建两个变量ab,与 C 编程非常相似,它将在这些变量中分配 10 和 20,最后以两种方式打印这两个变量的值 -

public class DemoJava {
   public static void main(String []args) {
      int a;
      int b;
   
      a = 10;
      b = 20;
   
      System.out.println("Value of a = " + a);
      System.out.println("Value of b = " + b);
      System.out.println("Value of a = " + a + " and value of b = " + b);     
   }
}

执行上述程序时,会产生以下结果 -

Value of a = 10
Value of b = 20
Value of a = 10 and value of b = 20

Python 中的变量

以下是用 Python 编写的等效程序。该程序将创建两个变量ab,同时为这些变量分配 10 和 20。

Python 不希望您在创建变量时指定数据类型,也无需提前创建变量。

a = 10
b = 20
   
print "Value of a = ", a
print "Value of b = ", b
print "Value of a = ", a, " and value of b = ", b

执行上述程序时,会产生以下结果 -

Value of a =  10
Value of b =  20
Value of a =  10  and value of b =  20

您可以在 C 和 Java 编程中使用以下语法来声明变量并同时赋值 -

#include <stdio.h>

int main() {
   int a = 10;
   int b = 20;
   
   printf( "Value of a = %d and value of b = %d\n", a, b );
}

执行上述程序时,会产生以下结果 -

Value of a = 10 and value of b = 20

计算机编程 - 关键词

到目前为止,我们已经介绍了两个重要的概念,即变量及其数据类型。我们讨论了如何使用intlongfloat来指定不同的数据类型。我们还学习了如何命名变量来存储不同的值。

尽管不需要单独本章,因为保留关键字是基本编程语法的一部分,但我们将其单独放在数据类型和变量之后进行解释,以便于理解。

像 int、long 和 float 一样,C 编程语言还支持许多其他关键字,我们将根据不同的目的使用它们。不同的编程语言提供不同的保留关键字集,但是在所有编程语言中都有一个重要且共同的规则,即我们不能使用保留关键字来命名我们的变量,这意味着我们不能像intfloat 那样命名我们的变量,而是这些关键字可以仅用于指定变量数据类型。

例如,如果您尝试使用任何保留关键字作为变量名,那么您将收到语法错误。

#include <stdio.h>

int main() {
   int float;
   float = 10;
   
   printf( "Value of float = %d\n", float);
}

当您编译上述程序时,它会产生以下错误 -

main.c: In function 'main':
main.c:5:8: error: two or more data types in declaration specifiers
   int float;
......

现在让我们为我们的整数变量指定一个正确的名称,然后上面的程序应该可以成功编译并执行 -

#include <stdio.h>

int main() {
   int count;
   count = 10;

   printf( "Value of count = %d\n", count);
}

C 编程保留关键字

这是一个包含 C 编程语言支持的几乎所有关键字的表 -

汽车 别的 长的 转变
休息 枚举 登记 类型定义
案件 外部的 返回 联盟
字符 漂浮 短的 未签名
常量 为了 空白
继续 大小 易挥发的
默认 如果 静止的 尽管
整数 结构体 _包装好的
双倍的

Java 编程保留关键字

这是一个包含 Java 编程语言支持的几乎所有关键字的表 -

抽象的 断言 布尔值 休息
字节 案件 抓住 字符
班级 常量 继续 默认
双倍的 别的 枚举
延伸 最终的 最后 漂浮
为了 如果 实施
进口 实例化 整数 界面
长的 本国的 新的 包裹
私人的 受保护的 民众 返回
短的 静止的 严格fp 极好的
转变 同步的
投掷 短暂的 尝试 空白
易挥发的 尽管

Python 编程保留关键字

这是一个包含 Python 编程语言支持的几乎所有关键字的表 -

执行 不是
断言 最后 或者
休息 为了 经过
班级 打印
继续 全球的 增加
定义 如果 返回
德尔 进口 尝试
埃利夫 尽管
别的
除了 拉姆达 屈服

我们知道您无法记住所有这些关键字,但我们将它们列出来供您参考并解释保留关键字的概念。因此,在为变量命名时要小心,不应使用该编程语言的任何保留关键字。

计算机编程 - 操作员

编程语言中的运算符是告诉编译器或解释器执行特定数学、关系或逻辑运算并产生最终结果的符号。本章将解释运算符的概念,并带您了解 C、Java 和 Python 中可用的重要算术和关系运算符。

算术运算符

计算机程序广泛用于数学计算。我们可以编写一个计算机程序来进行简单的计算,例如将两个数字相加 (2 + 3),我们也可以编写一个程序来求解复杂的方程,例如 P(x) = x 4 + 7x 3 - 5x + 9。如果你是一名差生,你一定知道第一个表达式中的 2 和 3 是操作数,+ 是运算符。计算机编程中也存在类似的概念。

看看下面的两个例子 -

2 + 3

P(x) = x4 + 7x3 - 5x + 9. 

这两个语句在编程语言中称为算术表达式,这些表达式中使用的、减称为算术运算符,这些表达式中使用的值如 2、3、x 等称为操作数。这些表达式以最简单的形式产生数值结果。

类似地,编程语言提供了各种算术运算符。下表列出了 C 编程语言中可用的一些重要算术运算符。假设变量 A 为 10,变量 B 为 20,则 -

操作员 描述 例子
+ 添加两个操作数 A + B 将为 30
- 从第一个操作数中减去第二个操作数 A - B 将给出 -10
* 将两个操作数相乘 A * B 将给出 200
/ 分子除以分子 B/A 将给出 2
% 这给出了整数除法的余数 B % A 将给出 0

以下是一个简单的 C 编程示例,用于理解上述数学运算符 -

#include <stdio.h>

int main() {
   int a, b, c;
   
   a = 10;
   b = 20;
   
   c = a + b;   
   printf( "Value of c = %d\n", c);
   
   c = a - b;   
   printf( "Value of c = %d\n", c);
   
   c = a * b;   
   printf( "Value of c = %d\n", c);
   
   c = b / a;   
   printf( "Value of c = %d\n", c);
   
   c = b % a;   
   printf( "Value of c = %d\n", c);
}

执行上述程序时,会产生以下结果 -

Value of c = 30
Value of c = -10
Value of c = 200
Value of c = 2
Value of c = 0

关系运算符

考虑这样一种情况,我们创建两个变量并为它们分配一些值,如下所示 -

A = 20
B = 10

在这里,很明显变量 A 的值大于 B。因此,我们需要借助一些符号来写出这样的表达式,我们称之为关系表达式。如果我们使用 C 编程语言,那么它将写成如下 -

(A > B)

在这里,我们使用了符号 >,它被称为关系运算符,以最简单的形式,它们产生布尔结果,这意味着结果要么为真,要么为假。类似地,编程语言提供了各种关系运算符。下表列出了 C 编程语言中可用的一些重要关系运算符。假设变量A为 10,变量B为 20,则 -

操作员 描述 例子
== 检查两个操作数的值是否相等,如果相等则条件为真。 (A == B) 不正确。
!= 检查两个操作数的值是否相等,如果值不相等则条件成立。 (A != B) 为真。
> 检查左操作数的值是否大于右操作数的值,如果是,则条件为真。 (A > B) 不正确。
< 检查左操作数的值是否小于右操作数的值,如果是,则条件为真。 (A < B) 为真。
>= 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件为真。 (A >= B) 不正确。
<= 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件为真。 (A <= B) 为真。

在这里,我们将向您展示一个使用if 条件语句的 C 编程示例。虽然这个语句将在后面单独的章节中讨论,但简而言之,我们使用if 语句来检查条件,如果条件为真,则执行if 语句的主体,否则跳过if 语句的主体。

#include <stdio.h>

int main() {
   int a, b;
   
   a = 10;
   b = 20;
   
   /* Here we check whether a is equal to 10 or not */
   if( a == 10 ) {
	   
      /* if a is equal to 10 then this body will be executed */
      printf( "a is equal to 10\n");
   }
   
   /* Here we check whether b is equal to 10 or not */
   if( b == 10 ) {
	
      /* if b is equal to 10 then this body will be executed */
      printf( "b is equal to 10\n");
   }
   
   /* Here we check if a is less b than or not */
   if( a < b ) {
	
      /* if a is less than b then this body will be executed */
      printf( "a is less than b\n");
   }
   
   /* Here we check whether a and b are not equal */
   if( a != b ) {
	
      /* if a is not equal to b then this body will be executed */
      printf( "a is not equal to b\n");
   }
}

执行上述程序时,会产生以下结果 -

a is equal to 10
a is less than b
a is not equal to b

逻辑运算符

逻辑运算符在任何编程语言中都非常重要,它们帮助我们根据某些条件做出决策。假设我们想要组合两个条件的结果,那么逻辑 AND 和 OR 逻辑运算符可以帮助我们产生最终结果。

下表列出了C语言支持的所有逻辑运算符。假设变量A为 1,变量B为 0,则 -

操作员 描述 例子
&& 称为逻辑与运算符。如果两个操作数均非零,则条件为真。 (A && B) 是错误的。
|| 称为逻辑或运算符。如果两个操作数中的任何一个非零,则条件为真。 (A || B) 为真。
称为逻辑非运算符。用于反转其操作数的逻辑状态。如果条件为真,则逻辑 NOT 运算符将为假。 !(A && B) 为真。

尝试以下示例来了解 C 编程语言中可用的所有逻辑运算符 -

#include <stdio.h>

int main() {
   int a = 1;
   int b = 0;

   if ( a && b ) {
	
      printf("This will never print because condition is false\n" );
   }
   if ( a || b ) {
	
      printf("This will be printed print because condition is true\n" );
   }
   if ( !(a && b) ) {
	
      printf("This will be printed print because condition is true\n" );
   }
}

当您编译并执行上述程序时,它会产生以下结果 -

This will be printed print because condition is true
This will be printed print because condition is true

Java 中的运算符

以下是用 Java 编写的等效程序。C 编程和 Java 提供了几乎相同的运算符和条件语句集。该程序将创建两个变量ab,与 C 编程非常相似,然后我们在这些变量中分配 10 和 20,最后,我们将使用不同的算术和关系运算符 -

您可以尝试执行以下程序来查看输出,该输出必须与上面示例生成的结果相同。

public class DemoJava {
   public static void main(String []args) {
      int a, b, c;
   
      a = 10;
      b = 20;
   
      c = a + b;   
      System.out.println("Value of c = " + c );
   
      c = a - b;
      System.out.println("Value of c = " + c );
   
      c = a * b;   
      System.out.println("Value of c = " + c );
   
      c = b / a;   
      System.out.println("Value of c = " + c );
   
      c = b % a;   
      System.out.println("Value of c = " + c );
      
      if( a == 10 ) {
		
         System.out.println("a is equal to 10" );
      }
   }
}

执行上述程序时,会产生以下结果 -

Value of c = 30
Value of c = -10
Value of c = 200
Value of c = 2
Value of c = 0
a is equal to 10

Python 中的运算符

以下是用 Python 编写的等效程序。该程序将创建两个变量ab,同时为这些变量分配 10 和 20。幸运的是,C 编程和 Python 编程语言提供了几乎相同的运算符集。该程序将创建两个变量ab,与 C 编程非常相似,然后我们在这些变量中分配 10 和 20,最后,我们将使用不同的算术和关系运算符。

您可以尝试执行以下程序来查看输出,该输出必须与上面示例生成的结果相同。

a = 10
b = 20
   
c = a + b   
print "Value of c = ", c

c = a - b   
print "Value of c = ", c

c = a * b   
print "Value of c = ", c

c = a / b   
print "Value of c = ", c

c = a % b   
print "Value of c = ", c

if( a == 10 ):
   print "a is equal to 10"

执行上述程序时,会产生以下结果 -

Value of c =  30
Value of c =  -10
Value of c =  200
Value of c =  0
Value of c =  10
a is equal to 10

决策声明

决策对于计算机编程至关重要。在很多情况下,您会得到两个或多个选项,并且您必须根据给定的条件选择一个选项。例如,我们想根据学生的安全分数打印有关该学生的评论。以下是情况 -

Assume given marks are x for a student:

If given marks are more than 95, then
Student is brilliant

If given marks are less than 30, then
Student is poor

If given marks are less than 95 and more than 30, then
Student is average

现在的问题是如何编写编程代码来处理这种情况。几乎所有编程语言都提供基于以下流程图工作的条件语句 -

C 中的决策语句

让我们借助if 条件语句编写一个 C 程序,将上述给定情况转换为编程代码 -

#include <stdio.h>

int main() {
   int x = 45;
   
   if( x > 95) {
	
      printf( "Student is brilliant\n");
   }
   if( x < 30) {
	
      printf( "Student is poor\n");
   }
   if( x < 95 && x > 30 ) {
	
      printf( "Student is average\n");
   }
}

执行上述程序时,会产生以下结果 -

Student is average

上面的程序使用了if条件语句。这里,第一个if语句检查给定的条件,即变量x是否大于95,如果发现条件为真,则输入条件体来执行给定的语句。这里我们只有一个printf()语句来打印有关该学生的评论。

同样,第二个if 语句也有效。最后,执行第三个if 语句,这里我们有以下两个条件 -

  • 第一个条件是x > 95

  • 第二个条件是x < 30

计算机评估给定的条件,然后借助二元运算符&&组合总体结果。如果最终结果为真,则执行条件语句,否则不执行任何语句。

本教程将为您介绍各种形式的if 语句的基本概念,并介绍C 编程语言中可用的switch语句。不同的编程语言提供不同类型的决策语句,但基本概念与本教程中解释的相同。

if...else 语句

if语句后面可以跟一个可选的else语句,该语句在布尔表达式为 false 时执行C 编程语言中if...else语句的语法是 -

if(boolean_expression) {
   
   /* Statement(s) will execute if the boolean expression is true */
} else {
  
  /* Statement(s) will execute if the boolean expression is false */
}

上述语法可以用流程图的形式表示,如下所示 -

C if...else 语句

当我们必须从两个选项中做出决定时,if...else 语句非常有用例如,如果一个学生的分数超过 95,那么该学生很聪明,否则无法对这种情况进行编码,如下 -

#include <stdio.h>

int main() {
   int x = 45;
   
   if( x > 95) {
	
      printf( "Student is brilliant\n");
   } else {
      printf( "Student is not brilliant\n");
   }
}

执行上述程序时,会产生以下结果 -

Student is not brilliant

if...elseif...else 语句

if语句后面可以跟一个可选的else if...else语句,这对于测试各种条件非常有用。

在使用if、else if、else语句时,需要记住以下几点 -

  • if可以有零个或一个else 并且它必须位于else if之后。

  • 一个if可以有零到多个else...if,并且它们必须出现在else之前。

  • 一旦else...if成功,其余的else...ifelse 都不会被测试。

C 编程语言中if...else if...else语句的语法为 -

if(boolean_expression 1) {

   /* Executes when the boolean expression 1 is true */
}
else if( boolean_expression 2) {

   /* Executes when the boolean expression 2 is true */
}
else if( boolean_expression 3) {

   /* Executes when the boolean expression 3 is true */
} else {
   
   /* Executes when the none of the above condition is true */
}

现在,借助if...elseif...else语句,第一个程序可以编码如下 -

#include <stdio.h>

int main() {
   int x = 45;
   
   if( x > 95) {
      printf( "Student is brilliant\n");
   } 
   else if( x < 30) {
      printf( "Student is poor\n");
   } 
   else if( x < 95 && x > 30 ) {
      printf( "Student is average\n");
   }
}

执行上述程序时,会产生以下结果 -

Student is average

Switch 语句

switch语句是if 语句的替代方法,它允许测试变量是否值列表相等。每个值称为一个case,并且针对每个 switch case 检查正在打开的变量。它具有以下语法 -

switch(expression){
   case ONE :
      statement(s);
      break;
   case TWO:
      statement(s);
      break;
   ......
   
   default :
      statement(s);
}

switch语句中使用的表达式必须给出一个整数值,该值将与给定的不SymPy况进行比较是否相等。只要表达式值与 case 值匹配,就会执行该 case 的主体,最后,将使用break语句终止 switch 。如果未提供中断语句,则计算机将继续执行下面针对匹配情况的其他可用语句。如果没有一个 case 匹配,则执行默认的 case 体。

上述语法可以用流程图的形式表示,如下所示 -

C 中的 Switch 语句

现在,让我们考虑另一个例子,我们想要为给定的数字写出等效的英语单词。然后,它可以编码如下 -

#include <stdio.h>

int main() {
   int x = 2;
   
   switch( x ){
      case 1 :
         printf( "One\n");
         break;
      case 2 :
         printf( "Two\n");
         break;
      case 3 :
         printf( "Three\n");
         break;
      case 4 :
         printf( "Four\n");
         break;
      default :
         printf( "None of the above...\n");
   }
}

执行上述程序时,会产生以下结果 -

Two

Java 中的决策

以下是用 Java 编写的等效程序,它也支持ifif...elseif...elseif...elseswitch语句。

您可以尝试执行以下程序来查看输出,该输出必须与上面的 C 示例生成的结果相同。

public class DemoJava {
   public static void main(String []args) {
      int x = 45;
   
      if( x > 95) {
         System.out.println( "Student is brilliant");
      } 
      else if( x < 30) {
         System.out.println( "Student is poor");
      } 
      else if( x < 95 && x > 30 ) {
         System.out.println( "Student is average");
      }
   }
}

执行上述程序时,会产生以下结果 -

Student is average

Python 中的决策

以下是用 Python 编写的等效程序。Python 提供ifif...elseif...elif...elseswitch语句。这里,你必须注意Python不使用大括号作为条件体,在