当前位置: 首页 > news >正文

哈尔滨网络公司网站建设互联网营销平台

哈尔滨网络公司网站建设,互联网营销平台,网站制作难点,dede网站转移C语言 空白 C语言中的空白(空格、水平制表符、换行符)被用于分隔Token,因此Token间可以有任意多个空白。 // 例1 printf("Hello, World!"); 例1中存在5个Token,分别是: printf("Hello, World! \n&qu…

C语言

空白

        C语言中的空白(空格、水平制表符、换行符)被用于分隔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,分别是: 

  • echo
  • 111
  • 222
  • 333
  • 换行符

转义字符

        在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
a=test
echo \$a       
输出:$aecho \*
输出:*echo \|
输出:|echo \&
输出:&a=test
echo \\$a       
输出:\testecho \"111\"
输出:"111"echo 111 \#111
输出:111 #111

3、禁用别名替换

        如果一条命令的第一个Token(即命令名)被转义(任意一个字符)了,则其不会进行别名替换,如例9所示。

// 例9
alias echo='echo 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
a='111\n222'
b="111\n222"
c=$'111\n222'echo $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解析命令的方式icon-default.png?t=O83Ahttps://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
http://www.dinnco.com/news/42751.html

相关文章:

  • 深圳网站建设公司多少钱百度推广关键词多少合适
  • 网站建设完善方案2023年8月疫情恢复
  • 网站域名属于哪里管网站测试报告
  • 红酒网站页面设计总结网络推广运营是做什么
  • 温州企业网站开发公司开发设计推荐
  • 有没有专门做名片的网站公司网站推广技巧
  • 网站推广的效果好优化大师使用方法
  • 朝阳市做网站太原seo排名优化公司
  • 做网站建设的利润nba在线直播免费观看直播
  • 想在土巴兔做装修网站找谁永久不收费的软件app
  • 有哪些网站建设工作室企业邮箱登录
  • 做网站最主要是什么百度地图排名怎么优化
  • 可以做微课ppt模板 网站有哪些广州seo优化
  • 花钱做网站注意什么站长工具备案查询
  • 武威市建设局网站 放管服猪八戒网接单平台
  • amon wordpress在线seo诊断
  • 黑龙江网站开发seo外链查询工具
  • 推广项目网站seo免费优化公司推荐
  • 做加盟正规网站沈阳seo网站关键词优化
  • 百度蜘蛛抓取网站模块最近最新的新闻
  • 怎么做视频资源网站黄金网站app大全
  • 南京的网站建设公司hyein seo
  • 快速学会做网站设计网站logo
  • 学校网站建设审批推广app赚佣金平台有哪些
  • seo网站设计附近有学电脑培训班吗
  • wordpress添加文章属性青岛网站建设优化
  • 营销型网站建设案例郑州优化网站关键词
  • 沧州网站设计宁波专业seo外包
  • WordPress只能ssl青岛seo排名扣费
  • 重庆忠县网站建设公司哪家专业搜易网服务内容