提交 c17571ab 编写于 作者: W wizardforcel

2019-08-15 21:39:23

上级 1d6a0bb0
......@@ -2,7 +2,7 @@
> 原文: [https://beginnersbook.com/2015/02/c-program-to-check-if-number-is-even-or-odd/](https://beginnersbook.com/2015/02/c-program-to-check-if-number-is-even-or-odd/)
如果一个数字可以被 2 整除,则它是偶数,否则它是一个奇数。在本文中,我们分享了两种方式(两个 C 程序)来检查输入数字是偶数还是奇数。 1)使用模数运算符()2)使用按位运算符。
如果一个数字可以被 2 整除,则它是偶数,否则它是一个奇数。在本文中,我们分享了两种方式(两个 C 程序)来检查输入数字是偶数还是奇数。 1)使用模数运算符(%)2)使用按位运算符。
#### 程序 1:使用模数运算符
......
......@@ -2,12 +2,13 @@
> 原文: [https://beginnersbook.com/2014/01/c-for-loop/](https://beginnersbook.com/2014/01/c-for-loop/)
循环用于重复执行语句块,直到给定条件返回 false
循环用于重复执行语句块,直到给定条件返回`false`
## C `for`循环
这是 [C 编程](https://beginnersbook.com/2014/01/c-tutorial-for-beginners-with-examples/)中最常用的循环之一。
**for 循环语法:**
**`for`循环语法:**
```c
for (initialization; condition test; increment or decrement)
......@@ -19,9 +20,12 @@ for (initialization; condition test; increment or decrement)
### `for`循环流程图
![C for loop](img/7d2a9990f04a58183ff2d8c7815e07aa.jpg)
**步骤 1:**首次初始化发生,计数器变量初始化。
**步骤 2:**在第二步中检查条件,其中计数器变量被测试给定条件,如果条件返回 true 则执行 for 循环体内的 C 语句,如果条件返回 false,则 for 循环终止,控件退出循环。
**步骤 3:**在循环体内成功执行语句后,计数器变量会递增或递减,具体取决于操作(++或 - )。
**步骤 2:**在第二步中检查条件,其中计数器变量被测试给定条件,如果条件返回`true`则执行`for`循环体内的 C 语句,如果条件返回`false`,则`for`循环终止,控制流退出循环。
**步骤 3:**在循环体内成功执行语句后,计数器变量会递增或递减,具体取决于操作(`++``--`)。
### `for`循环的示例
......@@ -50,8 +54,9 @@ int main()
### C 中的各种形式的`for`循环
我在以下所有例子中使用变量 num 作为计数器 -
1)这里使用 num = num + 1 而不是 num ++,而不是 num ++。
我在以下所有例子中使用变量`num`作为计数器 -
1)这里使用`num = num + 1`而不是`num ++`
```c
for (num=10; num<20; num=num+1)
......@@ -64,8 +69,9 @@ int num=10;
for (;num<20;num++)
```
**注意:**即使我们可以在条件必须之前跳过初始化部分但是分号(;),否则你将得到编译错误。
3)与初始化一样,您也可以跳过增量部分,如下所示。在这种情况下,分号(;)必须在条件逻辑之后。在这种情况下,增量或减量部分在循环内完成。
**注意:**即使我们可以在条件必须之前跳过初始化部分但是分号(`;`),否则你将得到编译错误。
3)与初始化一样,您也可以跳过增量部分,如下所示。在这种情况下,分号(`;`)必须在条件逻辑之后。在这种情况下,增量或减量部分在循环内完成。
```c
for (num=10; num<20; )
......@@ -86,7 +92,7 @@ for (;num<20;)
}
```
5)如上所述,计数器变量也可以递减。在下面的示例中,每次循环运行时变量都会递减,直到条件 num&gt; 10 返回 false
5)如上所述,计数器变量也可以递减。在下面的示例中,每次循环运行时变量都会递减,直到条件`num > 10`返回`false`
```c
for(num=20; num>10; num--)
......@@ -125,20 +131,23 @@ Output:
1, 3
```
在上面的例子中,我们在另一个 for 循环中有一个 for 循环,这称为循环嵌套。我们使用嵌套 for 循环的示例之一是[二维数组](https://beginnersbook.com/2014/01/2d-arrays-in-c-example/)
在上面的例子中,我们在另一个`for`循环中有一个`for`循环,这称为循环嵌套。我们使用嵌套`for`循环的示例之一是[二维数组](https://beginnersbook.com/2014/01/2d-arrays-in-c-example/)
## 在 C 中循环内部进行多次初始化
我们可以在 for 循环中进行多次初始化,如下所示。
我们可以在`for`循环中进行多次初始化,如下所示。
```c
for (i=1,j=1;i<10 && j<10; i++, j++)
```
**上面的循环和简单的 for 循环有什么区别?**
1.它正在初始化两个变量。注意:两者都用逗号(,)分隔。
2.它有两个使用 AND(&amp;&amp;&amp;)逻辑运算符连接在一起的测试条件。注意:您不能使用以逗号分隔的多个测试条件,您必须使用逻辑运算符,例如&amp;&amp;或||加入条件。
3.增量部分有两个变量。 **注意:**应以逗号分隔。
**上面的循环和简单的`for`循环有什么区别?**
1\.它正在初始化两个变量。注意:两者都用逗号(`,`)分隔。
2\.它有两个使用 AND(`&&`)逻辑运算符连接在一起的测试条件。注意:您不能使用以逗号分隔的多个测试条件,您必须使用逻辑运算符,例如`&&``||`加入条件。
3\.增量部分有两个变量。 **注意:**应以逗号分隔。
### 具有多个测试条件的`for`循环的示例
......
......@@ -6,7 +6,7 @@ break 语句用于循环内部和 [switch case](https://beginnersbook.com/2014/0
## C - `break`语句
它用于立即退出循环。当在循环内遇到 break 语句时,控直接退出循环并且循环终止。它与 [if 语句](https://beginnersbook.com/2014/01/c-if-statement/)一起使用,只要在循环内使用。
它用于立即退出循环。当在循环内遇到 break 语句时,控制流直接退出循环并且循环终止。它与 [if 语句](https://beginnersbook.com/2014/01/c-if-statement/)一起使用,只要在循环内使用。
2.这也可用于`switch-case`控制结构。每当在`switch-case`中遇到它时,控制器都会从`switch-case`中出来(参见下面的例子)。
### `break`语句的流程图
......
......@@ -2,7 +2,7 @@
> 原文: [https://beginnersbook.com/2014/01/c-continue-statement/](https://beginnersbook.com/2014/01/c-continue-statement/)
**继续语句**用于[循环](https://beginnersbook.com/2014/01/c-loops-examples/)。当在循环内遇到 continue 语句时,控跳转到循环的开头以进行下一次迭代,跳过当前迭代循环体内语句的执行。
**继续语句**用于[循环](https://beginnersbook.com/2014/01/c-loops-examples/)。当在循环内遇到 continue 语句时,控制流跳转到循环的开头以进行下一次迭代,跳过当前迭代循环体内语句的执行。
## C - `continue`语句
......@@ -49,11 +49,11 @@ int main()
0 1 2 3 5 6 7 8
```
输出中缺少值 4,为什么?当变量 j 的值为 4 时,程序遇到一个 continue 语句,它使控在 for 循环的开头跳转以进行下一次迭代,跳过当前迭代的语句(这就是 printf 在 j 时没有执行的原因)等于 4)。
输出中缺少值 4,为什么?当变量 j 的值为 4 时,程序遇到一个 continue 语句,它使控制流在 for 循环的开头跳转以进行下一次迭代,跳过当前迭代的语句(这就是 printf 在 j 时没有执行的原因)等于 4)。
### 示例:在`while`循环中使用`continue`
在这个例子中,我们在 while 循环中使用`continue`。当使用 while 或 do-while 循环时,需要在`continue`上方放置一个递增或递减语句,以便在下一次迭代时更改计数器值。例如,如果我们不在“if”的主体中放置反陈述,那么 counter 的值将无限期地保持为 7。
在这个例子中,我们在 while 循环中使用`continue`。当使用 while 或 do-while 循环时,需要在`continue`上方放置一个递增或递减语句,以便在下一次迭代时更改计数器值。例如,如果我们不在“if”的正文中放置反陈述,那么 counter 的值将无限期地保持为 7。
```c
#include <stdio.h>
......
......@@ -6,7 +6,7 @@
## C - `goto`语句
当在 C 程序中遇到 goto 语句时,控直接跳转到 goto
当在 C 程序中遇到 goto 语句时,控制流直接跳转到 goto
**C 语言中 goto 语句的语法中提到的标签**
```c
......
......@@ -156,6 +156,6 @@ Output:
1600101376 1600101392 1600101408 1600101424 1600101440
```
实际地址表示应为十六进制,我们使用%p 而不是%d,如注释中所述。这只是为了表明元素存储在连续的内存位置。您可以将输出与上图相关联,以查看这些地址之间的差异实际上是该行元素消耗的字节数。
实际地址表示应为十六进制,我们使用%p 而不是%d,如注释中所述。这只是为了表明元素存储在连续的内存位置。您可以将输出与上图相关联,以查看这些地址之间的差异实际上是该行元素消耗的字节数。
输出中显示的地址属于每行`abc[0][0]``abc[1][0]``abc[2][0]``abc[3][0]``abc[4][0]`的第一个元素。
\ No newline at end of file
......@@ -63,7 +63,7 @@ Enter your Nick name:Negan
Negan
```
**注意:**s 格式说明符用于字符串输入/输出
**注意:**%s 格式说明符用于字符串输入/输出
### 使用`gets()`和`puts()`函数在 C 中读取和编写字符串
......
......@@ -8,7 +8,7 @@
**下载链接**[下载适用于 Windows 的 Turbo C++](https://download.cnet.com/TurboC-for-Windows/3000-2212_4-75786077.html)
**步骤 1** :找到 TC.exe 文件并将其打开。你会在位置 **C:\ TC \ BIN \找到它。**
**步骤 1** :找到`TC.exe`文件并将其打开。你会在位置`C:\TC\BIN\`找到它。
**步骤 2** :文件&gt;新建(如上图所示)然后编写 C 程序
......@@ -22,20 +22,28 @@ int main()
```
![first-C-program](img/8153ad8938e1406e575b973426e74cde.jpg)
**第 3 步**:使用 F2(OR 文件&gt;保存)保存程序,记住扩展名应为“.c”。在下面的屏幕截图中,我将名称命名为 helloworld.c。
**第 3 步**:使用`F2`(或者文件&gt;保存)保存程序,记住扩展名应为`.c`。在下面的屏幕截图中,我将名称命名为`helloworld.c`。
![save C program](img/fe7594daef99ba9dc694790d8205c933.jpg)
**步骤 4** :使用 Alt + F9 **或**编译&gt;编译程序。编译(如下面的屏幕截图所示)。
**步骤 4** :使用`Alt + F9`**或**编译&gt;编译程序。编译(如下面的屏幕截图所示)。
![compile C program](img/86097aaf3fb2a76322a03bdb2d58341c.jpg)
**步骤 5** :按 Ctrl + F9 运行(或选择运行&gt;在菜单栏中运行)C 程序。
**步骤 5** :按`Ctrl + F9`运行(或选择运行&gt;在菜单栏中运行)C 程序。
![run C program](img/9fc01d8374049649dfc9c87676d50962.jpg)
**步骤 6** :Alt + F5 查看输出屏幕上程序的输出。
**步骤 6** :`Alt + F5`查看输出屏幕上程序的输出。
![output](img/808eaa3a22ef94482163dfc08ade399c.jpg)
## 使用 gcc 编译器编译和运行 C 程序
我们已经看到了使用 Turbo C++编译和执行 C 程序的步骤。我们也可以使用 gcc 编译器来做同样的事情。步骤如下:
**源代码** **Helloworld.c(文件应始终以.c 扩展名保存)**
**源代码** `Helloworld.c`(文件应始终以`.c`扩展名保存)
```c
# include<stdio.h>
......@@ -46,17 +54,17 @@ int main()
}
```
**编译它**(它基本上是将 helloworld.c 文件转换为 helloworld 文件)
**编译它**(它基本上是将`helloworld.c`文件转换为`helloworld`文件)
```c
>gcc helloworld.c –o helloworld
>
```
如果您在 Windows 上编译,生成的文件将是 helloworld.exe
如果您在 Windows 上编译,生成的文件将是`helloworld.exe`
**运行已编译的程序**
一旦你给出了上面的命令,如果你在 Windows 上就会创建一个.exe 文件,然后输入以下命令来运行源代码。
一旦你给出了上面的命令,如果你在 Windows 上就会创建一个`.exe`文件,然后输入以下命令来运行源代码。
**适用于 Windows**
......@@ -70,4 +78,4 @@ int main()
>./helloworld
```
gcc 编译器采用人类可读格式(helloworld.c 文件)并转换为 Windows,Linux 和 Mac OS X 的机器代码。
\ No newline at end of file
gcc 编译器采用人类可读格式(`helloworld.c`文件)并转换为 Windows,Linux 和 Mac OS X 的机器代码。
\ No newline at end of file
......@@ -78,7 +78,7 @@ Address of variable num is: 0x7fff5694dc58
printf("Address of var is: %p", &num);
```
**注意事项:**p 是一种格式说明符,用于以十六进制格式显示地址。
**注意事项:**%p 是一种格式说明符,用于以十六进制格式显示地址。
既然您知道如何获取变量的地址,但**如何将该地址存储在其他变量中?** 这就是指针进入画面的地方。如本指南开头所述,C 编程中的指针用于保存另一个变量的地址。
**指针就像另一个变量,主要区别在于它存储另一个变量的地址而不是值。**
......
......@@ -29,7 +29,7 @@
| **描述** | **运算符** | **相关性** |
| --- | --- | --- |
| 乘法运算符,除以,模数 | *,/, | Left to Right |
| 乘法运算符,除以,模数 | *,/,% | Left to Right |
| 加,减 | +, - | Left to Right |
### **关系运算符**
......@@ -66,7 +66,7 @@
| | = | Right to Left |
| | * = | Right to Left |
| | / = | Right to Left |
| | = | Right to Left |
| | %= | Right to Left |
| | + = | Right to Left |
| | - = | Right to Left |
| | &安培; = | Right to Left |
......
......@@ -2,7 +2,7 @@
> 原文: [https://beginnersbook.com/2014/01/c-program-structure/](https://beginnersbook.com/2014/01/c-program-structure/)
C 程序源代码可以在任何文本编辑器中编写;但是文件应该以.c 扩展名保存。让我们编写 First C 程序。
C 程序源代码可以在任何文本编辑器中编写;但是文件应该以`.c`扩展名保存。让我们编写第一个 C 程序。
## 第一个 C 程序
......@@ -35,22 +35,22 @@ You can vote!!
### 让我们了解这个程序:
**评论:**评论以'/ *'开头,以'* /'结尾。注释不是强制性的,但如果您使用它们仍然是一个很好的做法,它提高了代码的可读性。程序可以包含任意数量的注释。
**注释:**注释以`/*`开头,以`*/`结尾。注释不是强制性的,但如果您使用它们仍然是一个很好的做法,它提高了代码的可读性。程序可以包含任意数量的注释。
**包含部分:**在编写程序时,我们使用了几个关键字&amp;语句和函数,如 printf(),scanf()等。具有这些函数定义的文件需要包含在程序中。在上面的程序中我们使用了`stdio.h`。有几个库,“stdio.h”就是其中之一,用于从终端读取数据并在终端上显示数据。
**包含部分:**在编写程序时,我们使用了几个关键字&amp;语句和函数,如 `printf()``scanf()`等。具有这些函数定义的文件需要包含在程序中。在上面的程序中我们使用了`stdio.h`。有几个库,`stdio.h`就是其中之一,用于从终端读取数据并在终端上显示数据。
**显示语句:** `printf`功能用于上述代码中的几个地方。无论你在双引号内给出什么,它都会在控制台上打印出来。您还可以使用格式说明符(如%d,%c,%p)来显示使用 printf 的变量和指针的值。
**显示语句:** `printf`功能用于上述代码中的几个地方。无论你在双引号内给出什么,它都会在控制台上打印出来。您还可以使用格式说明符(如`%d``%c``%p`)来显示使用`printf`的变量和指针的值。
**从用户那里获取输入:** `scanf`功能用于从用户那里获取输入。当您运行此程序时,它等待用户输入(年龄),一旦用户输入年龄,它将根据用户输入的年龄来处理其余的语句。
**Main()函数:**它是所有 C 程序的起点。 C 源代码的执行始于此函数。
**`main()`函数:**它是所有 C 程序的起点。 C 源代码的执行始于此函数。
## 有关 C 程序中`main()`函数的更多信息
main()函数应存在于所有 C 程序中,因为如果没有此函数,程序将无法启动。
`main()`函数应存在于所有 C 程序中,因为如果没有此函数,程序将无法启动。
**main()函数的返回类型:** `main ()`函数的返回类型应始终为 int
**`main()`函数的返回类型:** `main ()`函数的返回类型应始终为`int`
**为什么它有一个返回类型,它有什么需要呢?** 编译器应该知道您的程序是成功编译还是失败。为了知道这一点,它检查函数`main ()`的返回值。如果返回值为 0 则表示程序成功,否则它假定存在问题,这就是我们在 main 函数末尾有一个 return 0 语句的原因。
**为什么它有一个返回类型,它有什么需要呢?** 编译器应该知道您的程序是成功编译还是失败。为了知道这一点,它检查函数`main ()`的返回值。如果返回值为 0 则表示程序成功,否则它假定存在问题,这就是我们在`main`函数末尾有一个`return 0`语句的原因。
**主要功能的结构:**功能名称后跟返回类型。函数名后应该有一个紧密的括号。如果有参数或参数,则它必须在此括号内。大括号内的代码块是函数体。我们将在单独的教程中讨论更多关于函数的内容: [C 编程中的函数](https://beginnersbook.com/2014/01/c-functions-examples/)
\ No newline at end of file
......@@ -6,32 +6,32 @@
![C-keywords](img/6b0f334487af51719b901310f17c0690.jpg)
**这些关键字的基础用法 -**
**这些关键字的基础用法**
**if,else,switch,case,default -** 用于决策控制编程结构。
`if``else``switch``case``default` - 用于决策控制编程结构。
**break -** 用于任何循环 OR `switch-case`
`break` - 用于任何循环 OR `switch-case`
**int,float,char,double,long -** 这些是数据类型,在变量声明期间使用。
`int``float``char``double``long` - 这些是数据类型,在变量声明期间使用。
**for,while,** - C 中的循环结构类型。
`for``while` - C 中的循环结构类型。
**void -** 其中一种返回类型。
`void` - 其中一种返回类型。
**goto -** 用于重定向执行流程。
`goto` - 用于重定向执行流程。
**auto,signed,const,extern,register,unsigned -** 定义一个变量。
`auto``signed``const``extern``register``unsigned` - 定义一个变量。
**return -** 该关键字用于返回值。
`return` - 该关键字用于返回值。
**continue -** 它通常与 for,while 和 dowhile 循环一起使用,当编译器遇到此语句时,它执行循环的下一次迭代,跳过当前迭代的其余语句。
`continue` - 它通常与`for``while``do-while `循环一起使用,当编译器遇到此语句时,它执行循环的下一次迭代,跳过当前迭代的其余语句。
**枚举 -** 常量集。
`enum` - 常量集。
**sizeof -** 用于了解尺寸。
`sizeof` - 用于了解尺寸。
**struct,** **typedef** - 结构中使用的这两个关键字(单个记录中的数据类型分组)。
`struct``typedef` - 结构中使用的这两个关键字(单个记录中的数据类型分组)。
**union -** 它是一组变量,它们共享相同的内存位置和内存存储。
`union` - 它是一组变量,它们共享相同的内存位置和内存存储。
**挥发性**
\ No newline at end of file
`volatile
\ No newline at end of file
......@@ -2,12 +2,13 @@
> 原文: [https://beginnersbook.com/2014/01/c-if-statement/](https://beginnersbook.com/2014/01/c-if-statement/)
当我们只在给定条件为真时才需要执行一个语句块,那么我们使用 if 语句。在下一个教程中,我们将学习 [C if..else,嵌套 if..else 和 else..if](https://beginnersbook.com/2014/01/c-if-else-statement-example/)
当我们只在给定条件为真时才需要执行一个语句块,那么我们使用`if`语句。在下一个教程中,我们将学习[ C `if..else`,嵌套`if..else`和`else..if`](https://beginnersbook.com/2014/01/c-if-else-statement-example/)
## C - `if`语句
if 语句的语法:
“if”正文中的语句仅在给定条件返回 true 时才执行。如果条件返回 false,则跳过“if”内的语句。
`if`语句的语法:
`if`正文中的语句仅在给定条件返回`true`时才执行。如果条件返回`false`,则跳过`if`内的语句。
```c
if (condition)
......@@ -44,11 +45,9 @@ int main()
Variable x is less than y
```
**说明:**“if”中指定的条件(x
### 多个`if`语句的示例
我们可以使用多个 if 语句来检查多个条件。
我们可以使用多个`if`语句来检查多个条件。
```c
#include <stdio.h>
......
......@@ -2,13 +2,13 @@
> 原文: [https://beginnersbook.com/2014/01/c-if-else-statement-example/](https://beginnersbook.com/2014/01/c-if-else-statement-example/)
在上一个教程中,我们学习了如何在 C 中使用 [if 语句。在本指南中,我们将学习如何使用 if else,嵌套 if else 和 else C 语句中的语句。](https://beginnersbook.com/2014/01/c-if-statement/)
在上一个教程中,我们学习了如何在 C 中使用[`if`语句](https://beginnersbook.com/2014/01/c-if-statement/)。在本指南中,我们将学习如何使用 C 语句中的`if else`,嵌套`if else``else`语句。
## C `if-else`语句
**if else 语句的语法:**
如果 condition 返回 true,则执行“if”主体内的语句,并跳过“else”主体内的语句。
如果 condition 返回 false,则跳过“if”正文中的语句,并执行“else”中的语句。
**`if else`语句的语法:**
如果条件返回`true`,则执行`if`正文内的语句,并跳过`else`正文内的语句。
如果条件返回`false`,则跳过`if`正文中的语句,并执行`else`中的语句。
```c
if(condition) {
......@@ -25,7 +25,7 @@ else {
### `if-else`语句的示例
在此程序中,要求用户输入年龄,并根据输入,if..else 语句检查输入的年龄是否大于或等于 18.如果满足此条件,则显示消息“您有资格投票”,但是,如果条件不符合,则显示不同的消息“您没有资格投票”。
在此程序中,要求用户输入年龄,并根据输入,`if..else`语句检查输入的年龄是否大于或等于 18.如果满足此条件,则显示消息“您有资格投票”,但是,如果条件不符合,则显示不同的消息“您没有资格投票”。
```c
#include <stdio.h>
......@@ -60,7 +60,7 @@ Enter your age:14
You are not eligible for voting
```
**注意:**如果**只有一个语句**出现在“if”或“else”主体中,那么你不需要使用大括号(括号)。例如,上面的程序可以像这样重写:
**注意:**如果**只有一个语句**出现在`if``else`正文中,那么你不需要使用大括号(括号)。例如,上面的程序可以像这样重写:
```c
#include <stdio.h>
......@@ -79,8 +79,9 @@ int main()
## C 嵌套`if-else`语句
当 if else 语句出现在另一个“if”或“else”的主体内时,如果是 else 则称为嵌套。
**嵌套 if 语句的语法:**
`if else`语句出现在另一个`if``else`的正文内时,则称为嵌套`if-else`
**嵌套`if`语句的语法:**
```c
if(condition) {
......@@ -141,9 +142,9 @@ var2 is greater than var1
## C - `else..if`语句
当需要检查程序中的多个条件时,else..if 语句很有用,可以使用 else..if 语句避免嵌套 if-else 块。
当需要检查程序中的多个条件时,`else..if`语句很有用,可以使用`else..if `语句避免嵌套`if-else`块。
**else..if 语法的语法:**
**`else..if`语法的语法:**
```c
if (condition1)
......@@ -168,7 +169,7 @@ else
### `else..if`语句的示例
让我们在讨论嵌套的 if..else 时采用我们在上面看到的相同示例。我们将使用 else..if 语句重写相同的程序。
让我们在讨论嵌套的`if..else`时采用我们在上面看到的相同示例。我们将使用`else..if`语句重写相同的程序。
```c
#include <stdio.h>
......@@ -208,11 +209,12 @@ Input the value of var2:21
var1 is not equal to var2
```
> 正如您所看到的那样,只执行“if”正文中的语句。这是因为在该语句中,只要满足条件,就会执行该块内的语句,并忽略其余的块。
> 正如您所看到的那样,只执行`if`正文中的语句。这是因为在该语句中,只要满足条件,就会执行该块内的语句,并忽略其余的块。
重要事项:
1\. else 和 else..if 是可选语句,只有“if”语句的程序运行正常。
2.否则,如果没有“if”,则无法使用。
3\. if else..if 块中可以有任意数量的 else..if 语句。
4.如果没有满足任何条件,则执行 else 块中的语句。
5.就像关系运算符一样,我们也可以使用逻辑运算符,如 AND(`&&`),OR(`||`)和 NOT(`!`)。
\ No newline at end of file
1\. `else``else..if`是可选语句,只有`if`语句的程序运行正常。
2\. 否则,如果没有`if`,则无法使用。
3\. `if else..if`块中可以有任意数量的`else..if`语句。
4\. 如果没有满足任何条件,则执行`else`块中的语句。
5\. 就像关系运算符一样,我们也可以使用逻辑运算符,如 AND(`&&`),OR(`||`)和 NOT(`!`)。
\ No newline at end of file
......@@ -56,11 +56,11 @@ int main()
Default: value is: 2
```
**说明:**开关中我给出了一个表达式,你也可以给变量。我给了 num + 2,其中 num 值是 2,并且在添加之后表达式得到 4.因为没有用值 4 定义的情况,所以执行默认情况。
**说明:**`switch`中我给出了一个表达式,你也可以给变量。我给了`num + 2`,其中`num`值是 2,并且在添加之后表达式得到 4.因为没有用值 4 定义的情况,所以执行默认情况。
### 怪异故事 - 介绍`break`语句
在我们讨论更多关于 [break 语句](https://beginnersbook.com/2014/01/c-break-statement/)之前,请猜测这个 C 程序的输出。
在我们讨论更多关于[`break`语句](https://beginnersbook.com/2014/01/c-break-statement/)之前,请猜测这个 C 程序的输出。
```c
#include <stdio.h>
......@@ -90,17 +90,17 @@ int main()
Case2 Case3 Case4 Default
```
我传递了一个变量来切换,变量的值是 2,所以控制跳转到案例 2,但是在上面的程序中没有这样的语句可以在案例 2 执行后打破流程。这就是案例之后的原因 2,所有后续案例和默认语句都已执行。
我传递了一个变量`switch`,变量的值是 2,所以控制跳转到`case` 2,但是在上面的程序中没有这样的语句可以在`case` 2 执行后打破流程。这就是`case`之后的原因 2,所有后续`case`和默认语句都已执行。
**如何避免这种情况?**
我们可以使用 break 语句来打破每个 case 块之后的控制流。
我们可以使用`break`语句来打破每个`case`块之后的控制流。
### `switch-case`中的`break`语句
当您希望程序流从交换机体中出来时,Break 语句很有用。每当在 switch 体中遇到 break 语句时,控件都会出现在 switch case 语句中。
当您希望程序流从交换机体中出来时,`break`语句很有用。每当在`switch`体中遇到`break`语句时,控制流都会出现在`switch case`语句中。
**具有中断的`switch-case`示例**
我在上面看到的相同,但这次我们正在使用 break
**具有`break`的`switch-case`示例**
我在上面看到的相同,但这次我们正在使用`break`
```c
#include <stdio.h>
......@@ -134,12 +134,12 @@ int main()
Case 2
```
**为什么我默认后不使用 break 语句?**
件本身会在默认情况下从开关中出来,所以我没有使用它,但是如果你想在默认情况下使用它,你可以使用它,这样做没有坏处。
**为什么我默认后不使用`break`语句?**
制流本身会在默认情况下从`switch`中出来,所以我没有使用它,但是如果你想在默认情况下使用它,你可以使用它,这样做没有坏处。
## 关于`switch-case`的几个重点
1)案例并不总是需要订购 1,2,3 等。它们可以在 case 关键字后面包含任何整数值。此外,情况不需要始终按升序排列,您可以根据程序的需要以任何顺序指定它们。
1)`case`并不总是需要订购 1,2,3 等。它们可以在`case`关键字后面包含任何整数值。此外,`case`不需要始终按升序排列,您可以根据程序的需要以任何顺序指定它们。
2)您也可以在`switch-case`中使用字符。例如 -
......@@ -175,20 +175,20 @@ int main()
CaseB
```
3)交换机中提供的表达式应该产生一个常量值,否则它将无效。
3)`switch`中提供的表达式应该产生一个常量值,否则它将无效。
例如:
**开关的有效表达式 -**
**`switch`的有效表达式 -**
```c
switch(1+2+23)
switch(1*2+3%4)
```
**无效的开关表达式 -**
**无效的`switch`表达式 -**
```c
switch(ab+cd)
switch(a+b+c)
```
4)允许嵌套 switch 语句,这意味着你可以在另一个开关内部使用 switch 语句。但是应该避免使用嵌套的 switch 语句,因为它会使程序更复杂,更不易读。
\ No newline at end of file
4)允许嵌套`switch`语句,这意味着你可以在另一个`switch`内部使用`switch`语句。但是应该避免使用嵌套的`switch`语句,因为它会使程序更复杂,更不易读。
\ No newline at end of file
......@@ -18,7 +18,7 @@
## 1)基本算术运算符
基本算术运算符为:+, - ,*,/,
基本算术运算符为:+, - ,*,/,%
**+** 用于加法。
**-** 用于减法。
......@@ -27,8 +27,8 @@
**/** 用于划分。
****用于模数。
**注**:模运算符返回余数,例如 205 将返回 0
**%**用于模数。
**注**:模运算符返回余数,例如 20%5 将返回 0
### 算术运算符的例子
......@@ -59,7 +59,7 @@ num1 % num2: 0
## 2)赋值运算符
C++中的赋值运算符是:=,+ =, - =,* =,/ =,=
C++中的赋值运算符是:=,+ =, - =,* =,/ =,%=
**num2 = num1** 将变量 num1 的值赋给变量。
......@@ -71,7 +71,7 @@ C++中的赋值运算符是:=,+ =, - =,* =,/ =,%=
**num2 / = num1** 等于 num2 = num2 / num1
**num2%= num1** 等于 num2 = num2%num1
**num2%= num1** 等于 num2 = num2%num1
### 赋值运算符的示例
......@@ -364,7 +364,7 @@ C++中很少有其他运算符,如**逗号运算符**和 **sizeof 运算符**
++ - - ! 〜
**乘法**
* /
* /%
**添加剂**
+ -
......@@ -396,4 +396,4 @@ C++中很少有其他运算符,如**逗号运算符**和 **sizeof 运算符**
?:
**作业**
= + = - = * = / =%=&gt; &gt; =&lt; &lt; =&amp; = ^ = | =
\ No newline at end of file
= + = - = * = / =%=&gt; &gt; =&lt; &lt; =&amp; = ^ = | =
\ No newline at end of file
......@@ -4,7 +4,7 @@
之前我在 Java 集合框架上分享了 [100+教程](https://beginnersbook.com/java-collections-tutorials/ "Java Collections Framework Tutorials")。在本文中,我将分享有关 Java 集合框架的面试问题。如果您不熟悉集合,我建议您在完成以下问题集之前参考[这些教程](https://beginnersbook.com/java-collections-tutorials/ "Java Collections Framework Tutorials"),因为它们可以帮助您学习集合的基础知识。开始吧…
几乎在每次采访中,您都会被要求解释两个集合类或两个集合界面之间的差异,“差异”问题在访问者中变得如此受欢迎,以至于他们在访谈期间提出了大约 90的问题。我几乎涵盖了所有常见的收藏差异。他们是:
几乎在每次采访中,您都会被要求解释两个集合类或两个集合界面之间的差异,“差异”问题在访问者中变得如此受欢迎,以至于他们在访谈期间提出了大约 90%的问题。我几乎涵盖了所有常见的收藏差异。他们是:
**Q)ArrayList 和 Vector 有什么区别?**
A)参考文章: [Arraylist vs. Vector](https://beginnersbook.com/2013/12/difference-between-arraylist-and-vector-in-java/ "Difference between ArrayList and Vector In java")
......
......@@ -19,7 +19,7 @@ P (1 + R/n) (nt) - P
**在编写 java 程序之前,我们以一个例子来计算复合兴趣。**
**假设 2000 美元的金额作为定期存款存入银行账户,年利率为 8,每月复利,5 年后的复利将是:**
**假设 2000 美元的金额作为定期存款存入银行账户,年利率为 8%,每月复利,5 年后的复利将是:**
P = 2000\.
R = 8/100 = 0.08(十进制)。
......
......@@ -16,7 +16,7 @@ Simple Interest = (P × R × T)/100
**R** 是每年的费率。
**T** 是多年的时间。
**例如:** **假设一个人在银行账户中存入 2000 INR,年利率为 6,为期 3 年,计算 3 年末的简单利息。**
**例如:** **假设一个人在银行账户中存入 2000 INR,年利率为 6%,为期 3 年,计算 3 年末的简单利息。**
简单兴趣= 2000 * 6 * 3/100 = 360 INR
......
......@@ -27,7 +27,7 @@ public class JavaExample {
为了找到**商**,我们使用`/`运算符将 num1 除以 num2。由于变量 num1 和 amp; num2 是整数,尽管 15/2 的结果在数学上是 7.5,但结果将是整数。因此,操作后分配给变量`quotient`的值为 7。
要找到**余数**,我们使用运算符。操作后,将 15/2 的余数(即 1)分配给变量`remainder`
要找到**余数**,我们使用%运算符。操作后,将 15/2 的余数(即 1)分配给变量`remainder`
在程序结束时,打印变量`quotient``remainder`的值。
......
......@@ -8,7 +8,7 @@
在下面的例子中,我们提供了 **n 的值为 100** ,因此程序将打印从 1 到 100 的奇数。
我们在这个程序中使用的逻辑是我们使用 for 循环遍历从 1 到 n 的整数值,我们检查每个值是否**值2!= 0** 这意味着它是一个奇数我们正在展示它。要理解这个程序,你应该具有 [for loop](https://beginnersbook.com/2015/03/for-loop-in-java-with-example/)[if 语句](https://beginnersbook.com/2017/08/if-else-statement-in-java/)的基本知识。
我们在这个程序中使用的逻辑是我们使用 for 循环遍历从 1 到 n 的整数值,我们检查每个值是否**值%2!= 0** 这意味着它是一个奇数我们正在展示它。要理解这个程序,你应该具有 [for loop](https://beginnersbook.com/2015/03/for-loop-in-java-with-example/)[if 语句](https://beginnersbook.com/2017/08/if-else-statement-in-java/)的基本知识。
```java
class JavaExample {
......
......@@ -54,7 +54,7 @@ My String is 12.121000
## Java String format()连接字符串参数的示例
我们可以使用%1 $,%2 $,..格式说明符指定参数位置。这里%1 $表示第一个参数,%2 $表示第二个参数,依此类推。
我们可以使用%1 $,%2 $,..格式说明符指定参数位置。这里%1 $表示第一个参数,%2 $表示第二个参数,依此类推。
```
public class Example{
......@@ -81,9 +81,9 @@ My String is: cool string, cool string and 88
## 使用字符串格式()填充字符串
在这个例子中,我们用 0 填充一个数字并将数字转换为格式化的字符串。在上面的例子中,我们已经格式化了浮点数和字符串,在这个例子中,我们正在格式化一个整数。要记住的重要一点是,这些格式说明符是不同的。
s - 对于字符串
f - 对于浮点数
d - 对于整数
%s - 对于字符串
%f - 对于浮点数
%d - 对于整数
```
public class Example{
......@@ -132,13 +132,13 @@ public class JavaExample {
## Java 字符串格式说明符
c - 字符
d - 整数
s - 字符串
o - 八进制
x - 十六进制
f - 浮点数
h - 一个哈希码值
%c - 字符
%d - 整数
%s - 字符串
%o - 八进制
%x - 十六进制
%f - 浮点数
%h - 一个哈希码值
#### 相关文章:
......
......@@ -72,9 +72,9 @@ abstract class A{
**注 3:**如果一个孩子没有实现抽象父类的所有抽象方法,那么子类也必须被声明为 abstract。
> **你知道吗?** 由于抽象类也允许具体方法,因此它不提供 100抽象。你可以说它提供了部分抽象。抽象是一个过程,您只显示“相关”数据并从用户“隐藏”对象的不必要细节。
> **你知道吗?** 由于抽象类也允许具体方法,因此它不提供 100%抽象。你可以说它提供了部分抽象。抽象是一个过程,您只显示“相关”数据并从用户“隐藏”对象的不必要细节。
>
> 另一方面,[接口](https://beginnersbook.com/2013/05/java-interface/ "Interface in java with example programs")用于 100抽象(这里有关[抽象](https://beginnersbook.com/2013/03/oops-in-java-encapsulation-inheritance-polymorphism-abstraction/)的更多信息)。
> 另一方面,[接口](https://beginnersbook.com/2013/05/java-interface/ "Interface in java with example programs")用于 100%抽象(这里有关[抽象](https://beginnersbook.com/2013/03/oops-in-java-encapsulation-inheritance-polymorphism-abstraction/)的更多信息)。
> 您可能还想阅读: [Java 中抽象类和接口之间的区别](https://beginnersbook.com/2013/05/abstract-class-vs-interface-in-java/)
### 为什么我们不能创建抽象类的对象?
......
......@@ -16,7 +16,7 @@
## 1)基本算术运算符
基本算术运算符是:+, - ,*,/,
基本算术运算符是:+, - ,*,/,%
**+** 用于加法。
**-** 用于减法。
......@@ -25,8 +25,8 @@
**/** 用于划分。
****用于模数。
注意:模运算符返回余数,例如 105 将返回 0
**%**用于模数。
注意:模运算符返回余数,例如 10%5 将返回 0
### 算术运算符的例子
......@@ -64,7 +64,7 @@ num1 % num2: 0
## 2)赋值运算符
java 中的赋值运算符是:=,+ =, - =,* =,/ =,=
java 中的赋值运算符是:=,+ =, - =,* =,/ =,%=
**num2 = num1** 将变量 num1 的值赋给变量。
**num2 + = num1** 等于 num2 = num2 + num1
......@@ -75,7 +75,7 @@ java 中的赋值运算符是:=,+ =, - =,* =,/ =,%=
**num2 / = num1** 等于 num2 = num2 / num1
**num2%= num1** 等于 num2 = num2%num1
**num2%= num1** 等于 num2 = num2%num1
### 赋值运算符的示例
......@@ -398,7 +398,7 @@ num2: 100
**++ - - ! 〜**
乘法
*** /**
*** /%**
添加剂
**+ -**
......@@ -431,4 +431,4 @@ Shift
**?:**
作业
**= + = - = * = / =%=&gt; &gt; =&lt; &lt; =&amp; = ^ = | =**
\ No newline at end of file
**= + = - = * = / =%=&gt; &gt; =&lt; &lt; =&amp; = ^ = | =**
\ No newline at end of file
......@@ -6,11 +6,11 @@
[**下一个教程:JSP 动作»**](https://beginnersbook.com/2013/06/jsp-tutorial-actions/)
**Scriptlet 只是包含在**&lt;%和%&gt;中的 java 代码**了。标签**。 JSP 容器将 JSP 中包含的语句移动到 **_jspService()**方法,同时从 JSP 生成 servlet。将此代码复制到服务方法的原因是:对于每个客户端的请求,调用 _jspService()方法,因此其中的代码将针对客户端发出的每个请求执行。
**Scriptlet 只是包含在**&lt;%和%&gt;中的 java 代码**了。标签**。 JSP 容器将 JSP 中包含的语句移动到 **_jspService()**方法,同时从 JSP 生成 servlet。将此代码复制到服务方法的原因是:对于每个客户端的请求,调用 _jspService()方法,因此其中的代码将针对客户端发出的每个请求执行。
**Scriptlet 的语法:**
[code language =“java”]&lt;%可执行的 java 代码%&gt; [/ code]
[code language =“java”]&lt;%可执行的 java 代码%&gt; [/ code]
### JSP 到 Scriptlet 的 Servlet 转换 -
......@@ -20,7 +20,7 @@
[code language =“html”]
&lt; H3&gt;样本 JSP&lt; / H3&gt;
&lt;%myMethod();%&gt;
&lt;%myMethod();%&gt;
[/ code]
**注意:**分号在 scriptlet 的末尾。
......@@ -41,49 +41,49 @@ myMethod();
### **了解脚本元素的一个例子:**
[code language =“java”]
&lt;% - 学习 JSP 脚本元素的 jsp 示例 - %&gt;
&lt;%String string1 =“JSP scriptlet”;%&gt;
&lt;%!String string2 =“”;%&gt;
&lt;% - 学习 JSP 脚本元素的 jsp 示例 - %&gt;
&lt;%String string1 =“JSP scriptlet”;%&gt;
&lt;%!String string2 =“”;%&gt;
&lt; html&gt;
&lt; head&gt;
&lt; title&gt; JSP 页面:欢迎&lt; / title&gt;
&lt; / head&gt;
&lt; body&gt;
&lt; h1&gt;
&lt;% - 这是一个表达式声明 - %&gt;
欢迎使用&lt;%= string1%&gt;
&lt;% - 这是一个表达式声明 - %&gt;
欢迎使用&lt;%= string1%&gt;
&lt; / h1&gt;
&lt;% - sciptlet 示例 - %&gt;
&lt;%if(localstring.equals(“JSP scriptlet”)){%&gt;
&lt;% - sciptlet 示例 - %&gt;
&lt;%if(localstring.equals(“JSP scriptlet”)){%&gt;
你好
&lt;}
&lt;%}
别的{&gt;
别的{%&gt;
你好
&lt;%}%&gt;
&lt;%}%&gt;
&lt;% - 同样可以用这种方式完成 - %&gt;
&lt;if(localstring.equals(“JSP scriptlet”))
&lt;% - 同样可以用这种方式完成 - %&gt;
&lt;%if(localstring.equals(“JSP scriptlet”))
out.println(“Hi”+ string2);
其他
out.println(“你好”);
&gt;
%&gt;
&lt; / body&gt;
&lt; / html&gt; [/ code]
在上面的示例中,存在许多类型的 JSP 元素,例如 Expression,JSP comment,Declaration 元素等。我们将在即将到来的 JSP 教程中看到它们中的每一个,但是到目前为止,您只能关注 Scriptlet。以下是上例中使用的 scriptlets 语句 -
[code language =“java”]
&lt;if(localstring.equals(“JSP scriptlet”))
&lt;%if(localstring.equals(“JSP scriptlet”))
out.println(“Hi”+ string2);
其他
out.println(“你好”);
&gt; [/ code]
%&gt; [/ code]
上面的代码是一个 JSP scriptlet(通知开始&lt;%和结束%&gt;标记)。如果您分析上面的代码,那么您会发现标签内的代码是纯 Java 代码,因此为了在 JSP 中执行 Java 代码,我们使用 scriptlet。
上面的代码是一个 JSP scriptlet(通知开始&lt;%和结束%&gt;标记)。如果您分析上面的代码,那么您会发现标签内的代码是纯 Java 代码,因此为了在 JSP 中执行 Java 代码,我们使用 scriptlet。
[code language =“java”]&lt;%String string1 =“JSP scriptlet”;%&gt; [/ code]
[code language =“java”]&lt;%String string1 =“JSP scriptlet”;%&gt; [/ code]
像上面的语句一样,这个语句是一个 java 初始化代码,它包含在标记中。
......@@ -112,11 +112,11 @@ out.println(“num 值不应小于 6”);
&lt; TITLE&gt;我的 JSP PAGE&lt; / TITLE&gt;
&lt; / HEAD&gt;
&lt; BODY&gt;
&lt;%if(num&gt; 5){%&gt;
&lt;%if(num&gt; 5){%&gt;
&lt; H3&gt;&lt; / H3&gt;
&lt;%} else {%&gt;
&lt;%} else {%&gt;
&lt; h3&gt; num 值不应小于 6&lt; / h3&gt;
&lt;%}%&gt;
&lt;%}%&gt;
&lt; / BODY&gt;
&lt; / HTML&gt;
[/ code]
......
......@@ -25,7 +25,7 @@ Input Second Integer:<input type="text" name="secondnum" />
</html>
```
这里我们将 exception.jsp 指定为 errorPage,这意味着如果在此 JSP 页面中发生任何异常,控件将立即转移到 exception.jsp JSP 页面。注意:我们使用了 Page Directive 的 **errorPage 属性来指定异常处理 JSP 页面(&lt;%@ page errorPage =“exception.jsp”%&gt;)。**
这里我们将 exception.jsp 指定为 errorPage,这意味着如果在此 JSP 页面中发生任何异常,控件将立即转移到 exception.jsp JSP 页面。注意:我们使用了 Page Directive 的 **errorPage 属性来指定异常处理 JSP 页面(&lt;%@ page errorPage =“exception.jsp”%&gt;)。**
division.jsp
......
......@@ -35,12 +35,12 @@ Current time is: <%= new java.util.Date() %>
**Hello,示例 JSP 代码**
**上述代码**
的说明 1)行**&lt;% - JSP Comment - %&gt;** 表示名为 JSP Comment 的 JSP 元素,在向 JSP 页面添加注释时可以使用此标记,我们将在后续帖子中详细讨论。
**注意:** JSP 注释必须以标签**&lt;% -** 开头,以 **- %&gt;结尾。**
的说明 1)行**&lt;% - JSP Comment - %&gt;** 表示名为 JSP Comment 的 JSP 元素,在向 JSP 页面添加注释时可以使用此标记,我们将在后续帖子中详细讨论。
**注意:** JSP 注释必须以标签**&lt;% -** 开头,以 **- %&gt;结尾。**
**2)Head,Title 和 Body 标签是 HTML 标签** - 它们是 HTML 标签,经常用于静态网页。无论他们拥有什么内容,都会传递给客户端(Web 浏览器)。
3)**&lt;%out.print(“Hello,Sample JSP code”);%&gt;** 是一个 JSP 元素,称为 Scriptlet。 Scriptlet 可以包含 Java 代码。 scriptlet 的**语法是:**&lt;%Executable java code%&gt;。由于 Scriptlets 中的代码是 java 语句,因此它们必须以分号(;)结尾。 out.print(“Hello,示例 JSP 代码”)是一个 java 语句,它打印“Hello,Sample JSP code”。
3)**&lt;%out.print(“Hello,Sample JSP code”);%&gt;** 是一个 JSP 元素,称为 Scriptlet。 Scriptlet 可以包含 Java 代码。 scriptlet 的**语法是:**&lt;%Executable java code%&gt;。由于 Scriptlets 中的代码是 java 语句,因此它们必须以分号(;)结尾。 out.print(“Hello,示例 JSP 代码”)是一个 java 语句,它打印“Hello,Sample JSP code”。
如上所述,JSP 用于创建动态网页。动态网页通常是静态和网络的混合。动态内容。
......
......@@ -62,7 +62,7 @@ var num = 100
1.标识符不能有空格。
2\. Kotlin 中的标识符区分大小写。
3.它们不能包含特殊字符,如@,#,等。
3.它们不能包含特殊字符,如@,#,%等。
4.标识符可以以下划线“_”开头。
5.最佳做法是为标识符指定有意义的名称。例如:add,multiply 和 divide 是比 a,m 和 d 更有意义的标识符。
6.如果您希望在标识符中包含两个单词,则可以使用大写字母开头第二个单词。例如,sumOfTwo。
......
......@@ -14,7 +14,7 @@ Kotlin 中的运算符分为以下几类:
* - 减法运算符
* *乘法运算符
* /部门经营者
* 模数运算符
* %模数运算符
### 算术运算符的例子
......
......@@ -2,7 +2,7 @@
> 原文: [https://beginnersbook.com/2017/05/hashes-in-perl/](https://beginnersbook.com/2017/05/hashes-in-perl/)
**哈希**是一组键值对。哈希变量以“”符号为前缀。让我们先举一个简单的例子,然后我们将详细讨论哈希。
**哈希**是一组键值对。哈希变量以“%”符号为前缀。让我们先举一个简单的例子,然后我们将详细讨论哈希。
```
#!/usr/bin/perl
......
......@@ -14,7 +14,7 @@ perl 中的运算符分为以下类型:
## 1)基本算术运算符
基本算术运算符是:+, - ,*,/,,**
基本算术运算符是:+, - ,*,/,%,**
**+** 用于加法:$ x + $ y
**-** 用于减法:$ x - $ y
......@@ -23,8 +23,8 @@ perl 中的运算符分为以下类型:
**/** 用于划分:$ x / $ y
**%**用于模数:$ x%$ y
**注:**它返回余数,例如 105 将返回 0
**%**用于模数:$ x%$ y
**注:**它返回余数,例如 10%5 将返回 0
****** 用于指数:$ x ** $ y
x 到幂 y
......@@ -68,14 +68,14 @@ print '** Operator output: ' . $result . "\n";
## 2)分配运算符
perl 中的赋值运算符是:=,+ =, - =,* =,/ =,=,** =
perl 中的赋值运算符是:=,+ =, - =,* =,/ =,%=,** =
**$ x = $ y** 会将变量 y 的值赋给变量 x
**$ x + = $ y** 等于$ x = $ x + $ y
**$ x - = $ y** 等于$ x = $ x- $ y
**$ x * = $ y** 等于$ x = $ x * $ y
**$ x / = $ y** 等于$ x = $ x / $ y
**$ x%= $ y** 等于$ x = $ x%$ y
**$ x%= $ y** 等于$ x = $ x%$ y
**$ x ** = $ y** 等于$ x = $ x ** $ y
#### 例:
......
......@@ -41,7 +41,7 @@ print "\$pincode[0] = $pincode[0]\n";
#### 哈希
它们是无序的键值对组。它们以百分号()为前缀。
它们是无序的键值对组。它们以百分号(%)为前缀。
```
#!/usr/bin/perl
......
......@@ -59,7 +59,7 @@ $friends[3] = Dhruv
### 哈希(也称为关联数组)
[哈希](https://beginnersbook.com/2017/05/hashes-in-perl/)是一组键值对。哈希变量以“”符号为前缀。让我们看看下面的例子:
[哈希](https://beginnersbook.com/2017/05/hashes-in-perl/)是一组键值对。哈希变量以“%”符号为前缀。让我们看看下面的例子:
```
#!/usr/bin/perl
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册