一个公司能备案多个网站吗,淘宝运营培训学校,高端网站设计元素图片,小程序维护费用一般多少钱C语言
空白 C语言中的空白#xff08;空格、水平制表符、换行符#xff09;被用于分隔Token#xff0c;因此Token间可以有任意多个空白。
// 例1
printf(Hello, World!); 例1中存在5个Token#xff0c;分别是#xff1a;
printf(Hello, World! \n空格、水平制表符、换行符被用于分隔Token因此Token间可以有任意多个空白。
// 例1
printf(Hello, World!); 例1中存在5个Token分别是
printf(Hello, World! \n); 将例1写成例2的形式也是可以的虽然它比较丑陋。
// 例2
printf (
Hello, World!);
转义字符 在C语言中转义字符是一种特殊的字符序列用于表示序列有特殊含义转义字符以反斜杠(\)开头一般紧接一个特定字符某些情况下可能会接多达三个字符它的用法有
1、在字符串常量或字符常量中表示一些特殊字符
\n换行符\t水平制表符\r回车符\b退格符\a响铃符\f换页符\v垂直制表符\\反斜杠\单引号\双引号\?问号\0空字符\x**十六进制表示法\***八进制表示法
2、转义换行符或者说连接两行 如果某行代码以转义字符加换行符结尾C预处理器会将该换行符删去并将其下一行拼接到上一行的后面这是在Token解析之前进行的因此可以用于将一个Token分成多行Token间的换行对Token解析没有影响如例3所示。
// 例2
prin\
tf (
Hello, \
World!); 除了以上两种情况外转义字符不能接其他字符。 Python
空白 Python中的空白空格、水平制表符被用于分隔Token因此Token间可以有任意多个空白而换行符其实它在Python中被认为是一个Token的功能根据其所在的位置的不同而异 1、当换行符在末尾时且前面没有转义字符用于表示一条简单语句的结束。 2、当换行符在圆括号、方括号、花括号内时用于分隔Token。
// 例3
print(Hello, World!) 例3中存在5个Token分别是
print(Hello, World! \n)换行符 将例3写成例4的形式也是可以的虽然它比较丑陋。
// 例4
print (
Hello, World! )
转义字符 在Python中转义字符是一种特殊的字符序列用于表示序列有特殊含义转义字符以反斜杠(\)开头一般紧接一个特定字符某些情况下可能会接多个字符它的用法有
1、在字符串常或字符常量中表示一些特殊字符
\n换行符\t水平制表符\r回车符\b退格符\a响铃符\f换页符\v垂直制表符\\反斜杠\单引号\双引号\0空字符\x**十六进制表示法\***八进制表示法\N{name}以Unicode数据库中字符名表示\u****16位的Unicode字符\U********32位的Unicode字符 如果字符串前有r或R则表示创建原始字符串忽略\的转义功能。
2、转义换行符或者说连接两行 如果某行代码以转义字符加换行符结尾Python会将该换行符删去并将其下一行拼接到上一行的后面这是在Token解析后进行的因此不能用于将一个Token分成多行除字符串Token外如例5所示。
// 例5
printf (
Hello, \
World!) 除了以上两种情况外转义字符不能接其他字符。 Bash
空白 Bash中的空白空格、水平制表符被用于分隔Token即命令、选项和参数因此Token间可以有任意多个空白而换行符的功能根据其所在的位置的不同而异 1、当换行符在末尾时且前面没有转义字符、没有被引号包括用于表示一条简单语句的结束。 2、当被引号包括时换行符只表示其本意即换行。
// 例6
echo 111 222 333 例6中存在5个Token分别是
echo111222333换行符
转义字符 在Bash中转义字符是一种特殊的字符序列用于表示序列有特殊含义转义字符以反斜杠(\)开头一般紧接一个特定字符某些情况下可能会接多个字符它的用法有
1、转义空白 默认情况下空白被用于分隔Token但如果空白前有转义字符则空白会被认为是Token的一部分如例7所示。
// 例7
echo 111 222 333 // 四个Token
输出111 222 333 echo 111\ \ 222\ \ 333 // 两个Token
输出111 222 333
2、转义特殊字符 转义字符可以转义一些特殊字符让它们保留字面值如例8所示。
// 例8
atest
echo \$a
输出$aecho \*
输出*echo \|
输出|echo \
输出atest
echo \\$a
输出\testecho \111\
输出111echo 111 \#111
输出111 #111
3、禁用别名替换 如果一条命令的第一个Token即命令名被转义任意一个字符了则其不会进行别名替换如例9所示。
// 例9
alias echoecho 111
echo 222
输出111 222
\echo 222
输出222
ec\ho 222
输出222
4、在引号中的转义行为
双引号 在双引号中转义字符只针对特定特殊字符有效$、、和自身\如例10所示。
// 例10
echo Cost: \$100, she said \Hello!\, uses \command\, shows \\, \common character.
输出Cost: $100, she said Hello!, uses command, shows \, common character.
单引号 转义字符在单引号中失去转义的能力实际上所有字符都会被当作字面量如例11所示。
// 例11
echo 1111\
输出1111\
在单引号的特殊语法中表示特殊字符 当使用$.....语法时支持ANSI-C风格的转义字符。
\n换行符\t水平制表符\r回车符\b退格符\a响铃符\f换页符\v垂直制表符\\反斜杠\单引号\双引号\?问号\x**十六进制表示法\***八进制表示法\u****16位的Unicode字符\U********32位的Unicode字符 下面以\n作为例子说明了这一语法。
// 例12
a111\n222
b111\n222
c$111\n222echo $a
输出111\n222echo -e $a
输出
111
222echo $b
输出
111 222echo $b
输出
111
222echo $c
输出
111 222echo $c
输出
111
222 如果不使用$.....语法\n被认为是一个字面量所以直接使用echo输出时可以看到\n如果使用echo -e则表示对输出结果进行分析将其中的转义字符进行替换。 如果使用$.....语法\n会被替换为换行符但由于变量替换后会进行Token重解析(word splitting)换行符会被认为用来分隔Token只有将其包围在双引号中才能阻止Token重解析并成功输出换行符有关Token重解析的进一步内容见下面的博客。
Linux执行命令的命令eval与Bash解析命令的方式https://chenzhang.blog.csdn.net/article/details/136943802
5、转义换行符或者说连接两行 如果某行代码以转义字符加换行符结尾Bash会将该换行符删去并将其下一行拼接到上一行的后面这是在Token解析之前进行的因此可以用于将一个Token分成多行Token间的换行对Token解析没有影响如例13所示。
// 例13
e\
c\
h\
o\nihao // 注意开头的空格
输出nihao 除了以上五种情况外转义字符也能接其他字符但不会有特殊作用如例14所示。
// 例14
echo \nihao
输出nihao