程序设计语言必备要素和技能
对于Python、C和Java这三门常见的编程语言,它们都有一些共同的必备要素和技能。
-
语法和语义:编程语言的语法和语义是这个语言的基础。这包括了熟悉变量、数据类型、运算符、控制流程等基本语法结构,以及了解编程语言的特性和约束。
-
数据结构与算法:了解常见的数据结构和算法对于解决问题和优化代码至关重要。掌握如数组、链表、树、图等数据结构,以及排序、搜索、动态规划等常用算法,能够帮助你提高代码的效率和质量。
-
编程范式:熟悉并理解不同的编程范式,如面向对象编程、函数式编程等。掌握不同的设计模式和技巧有助于开发出可靠、可维护的代码。
-
调试和故障排除:能够识别和解决常见的编程错误和异常是一项重要的技能。学会使用调试工具和技术,能够追踪和修复代码中的问题。
sh编程
sh是一个解释程序,逐行读取sh脚本文件并直接执行这些行。如果行是可执行命令且为内置命令,那么sh可直接执行。否则,它会复制一个子进程来执行命令,并等待子进程终止后再继续,这与它执行单个命令行完全一样。在sh脚本中,每个变量都是字符串,因此不需要类型。sh脚本不需要main函数,第一个可执行语句是程序的入口点。
- 语法语义:
-
命令行参数:通过位置参数$0、$1、$2等访问命令行参数。10n参数必须称为${10}${n}。通常$0是程序名本身,$1到$n是程序参数。
-
特殊字符:在sh中特殊字符$表示替换。sh有许多特殊字符,如$、/、*、>、<。要按原样使用它们,必须带有单引号或反引号\。
-
变量:sh中使用变量存储数据,可以使用等号赋值,例如:name="John"。使用变量时需要在变量名前使用美元符号,例如:echo $name。如果A是一个变量,则$A是变量的值。
-
输入输出:可以通过read语句接收用户输入,使用echo语句输出文本。
name="John"
# 定义name变量并赋值为John
age=25
# 定义age变量并赋值为25
echo "$name is $age years old."
# 输出John is 25 years old.
2.sh命令:
sh有许多内置命令,这些命令由 sh执行,不需要创建一个新进程。下面列出一些常用的内置sh命令。
- .file:读取并执行文件。
- break[n]:从最近的第n个嵌套套循环中退出。
- cd[dirname]:更换目录。
- continue[n]:重启最近的第n个嵌套循环。
- eval[arg…]:计算一次参数并让sh执行生成的命令。
- oexec [arg…]:通过这个sh执行命令,sh 将会退出。
- exit[n]:使sh 退出,退出状态为n。
- export [var…]:将变量导出到随后执行的命令。
- read [var …]:从 stdin 中读取一行并为变量赋值。
- set [arg … ]:在执行环境中设置变量。
- shift:将位置参数 $2 $3 …. 重命名为 $1 $2 …。
- trap [arg] [n]:接收到信号n后执行参数。
- umask [ddd]:将掩码设置为八进制数 ddd 的。
- wait[pid]:等待进程pid,如果没有给出 pid,则等待所有活动子进程。
- sh控制语句:
条件判断:可以使用if语句进行条件判断,语法为if [ 条件 ]; then ... fi。常见的判断条件包括:
(1)字符串比较
等于:=
,例如:if [ "$str1" == "$str2" ]
,表示变量str1的值是否等于变量str2的值。
不等于:!=
,例如:if [ "$str1" != "$str2" ]
,表示变量str1的值是否不等于变量str2的值。
小于:<
,按照字典顺序比较。例如:if [ "$str1" \< "$str2" ]
,表示变量str1的值是否在字典中小于变量str2的值。
大于:>
,用于判断一个字符串是否大于另一个字符串(按照字典顺序比较)。例如:if [ "$str1" \> "$str2" ]
,表示变量str1的值是否在字典中大于变量str2的值。
(2)整数比较
运算符等于-eq
、不等于-ne
、小于-lt
、大于-gt
、小于等于-le
、大于等于-ge
将参数作为整数比较。
(3)需要注意的是,字符串比较时要使用双引号将字符串变量括起来,运算符前后需要有空格,并且在进行小于和大于比较时,需要使用反斜杠(\)进行转义。此外,还可以使用-n来判断字符串是否非空,例如:if [ -n "$str" ],表示变量str是否非空。等。
循环:可以使用for、while等循环语句来实现重复执行一系列操作。
for语句
for VARIABLE in string1 string2 ... stringn
do
commands
done
while语句
while [ condition ]
do
commands
done
4.sh函数
sh函数定义为:
func()
{
# function code
}
必须在任何可执行语句之前定义sh脚本中的所有函数。sh脚本中无法声明函数原型。
sh语句
func s1 s2 ... sn
5.sh调试
sh脚本可由带有 -x选项的子sh运行,以进行调试,如:
bash -x mysh
苏格拉底挑战
针对sh程序苏格拉底挑战
针对学习一门程序设计语言有哪些必备的要素和技能知识点的苏格拉底挑战