当前位置:首页 » 编程语言 » c语言不合法的字符串
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言不合法的字符串

发布时间: 2023-08-31 08:09:21

1. c语言的一道题:以下不合法的字符常量是()A.'\2' B.'"' c.' ' D.'\483' 问一下该选哪一项,为什么

你好!
D
'\ddd'类似这种形式代蔽野岩表八进制数,八进制数中每个数的值小于8,则'\483'是错误宏御脊缺的
如果对你有帮助,望采纳。

2. C语言中,下列不合法的字符常量是

C语言中,不合法的字符常量是“A、'xff'”,因为这虽然属于ASCII码字符,但是“ff”超出了ASCII码最大的“7f”,所以不合法。

“B、'65'”属于ASCII码字符,“C、'&'”属于普通字符,“D'28'”属于ASCII码字符。字符常量主要以下三类:

1、普通字符

即用单撇号括起来的一个字符,如'b' ,'y',‘?’。字符常量在储存在计算机的储存单元中时,是以其代码(一般采用ASCII代码)储存的。

2、转义字符

即特殊字符常量,转移字符是C语言中表示字符的一种特殊形式,其含义是将反斜杠后面的字符转换成另外的意义。

3、ASCII码字符

还可以用字符的ASCII码表示,即用反斜符()开头,后跟字符的ASCII码,这种方法也称为转义序列表示法,具体方法是:

(1)用字符的八进制ASCII码,表示为:dd.这里,0dd是八进制值(0可以省略)。

(2)使用字符的十六进制ASCII码值,表示为xhh或Xhh这里hh是两位十六进制值。

(2)c语言不合法的字符串扩展阅读:

C语言中合法标识符的规则:

1、标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。例如,正确的标识符:abc,a1,prog_to。

2、不能把C语言关键字作为用户标识符,例如if ,for, while等。

3、标识符长度是由机器上的编译系统决定的,一般的限制为8字符(注:8字符长度限制是C89标准,C99标准已经扩充长度,其实大部分工业标准都更长)。

3. 在c语言中为什么它是不合法的转义字符

因为这是两个字符,是字符串了,不是单个字符,而字符串是需要放在双引号中的
'\\'算一个转义字符
'0'也算一个字符

4. C语言:'\1011'为什么不是合法转义字符

所有的ASCII码都可以用“”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加""来表示常见的那些不能显示的ASCII字符,如, , 等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。


所有的转义字符和所对应的意义:

字符型常量编辑

字符型常量所表示的值是字符型变量所能包含的值。我们可以用ASCII表达式来表示一个字符型常量,或者用单引号内加反斜杠表示转义字符。

'A', 'x2f', '13';

其中:x表示后面的字符是十六进制数,表示后面的字符是八进制数。

注意:在Turbo C 2.0中,字符型常量表示数的范围是-128到127,除非你把它声明为unsigned,这样就是0到255。

上面我们见到的x, ,a等等都是叫转义字符,它告诉编译器需要用特殊的方式进行处理。



转义字符串(Escape Sequence),即字符实体(Character Entity)分成三部分:第一部分是一个&符号,英文叫ampersand;第二部分是实体(Entity)名字或者是#加上实体(Entity)编号;第三部分是一个分号。

比如,要显示小于号(<),就可以写 &lt; 或者 < 。

用实体(Entity)名字的好处是比较好理解,一看lt,大概就猜出是less than的意思,但是其劣势在于并不是所有的浏览器都支持最新的Entity名字。而实体(Entity)编号,各种浏览器都能处理。

提示:实体名称(Entity)是区分大小写的。

备注:同一个符号,可以用“实体名称”和“实体编号”两种方式引用,“实体名称”的优势在于便于记忆,但不能保证所有的浏览器都能顺利识别它,而“实体编号”则没有这种担忧,但它实在不方便记忆。



作用

转义字符串(Escape
Sequence)也称字符实体(Character
Entity)。在HTML中,定义转义字符串的原因有两个:第一个原因是像“<”和“>”这类符号已经用来表示HTML标签,因此就不能直

当做文本中的符号来使用。为了在HTML文档中使用这些符号,就需要定义它的转义字符串。当解释程序遇到这类字符串时就把它解释为真实的字符。在输入转义
字符串时,要严格遵守字母大小写的规则。第二个原因是,有些字符在ASCII字符集中没有定义,因此需要使用转义字符串来表示。

其实所有编程语言,拥有转义字符的原因基本上是两点:一、使用转义字符来表示字符集中定义的字符,比如ASCll里面的控制字符及
回车换行等字符,这些字符都没有现成的文字代号。所以只能用转义字符来表示
。二、某一些特定的字符在编辑语言中被定义为特殊用途的字符。这些字符由于被定义为特殊用途,它们失去了原有的意义。比如说Html中,<被
HTML定义为标签的开始,所以当我们转入<时,HTML就会把它当作为开始,而不是当作一个<来看待。再如PHP
的双引号("),被PHP定义为字符串的外围标签,所以如果你在一对双引号里面,还想要使用双引号,只能使用转义字符了。不然PHP就会报错了。

从上面也可以看出转义无非是两种情况:1:将普通字符转为特殊用途,一般是编程语言中,用于表示不能直接显示的字
符,比如后退键,回车键,等。2:用来将特殊意义的字符转换回它原来的意义。一般用在正则表达式中。还有有些脚本语言是弱类型,有些语言比如html
并不是编程语言,而是标记语言,有些语言只有一种类型 比如shell 脚本语言,这些语言中字符串都不加引号” ” ,或者可以不加引号“
”,所以有时候需要转移字符说明某字符此时的身份是普通字符,而不是有特殊意义的元字符。

另外出于网站的安全。在数据写入数据库前,都会使用转义字符(函数)对一些敏感字符进行转义。这样做可以避免一些别有用心的人利用特殊符号的注入攻击。

5. c语言中非法字符有哪些

首先看定义,用单引号括起来的单个字符,或用双引号括起来的一串字符即字符常量。
C '&' 是用单引号括起来的单个字符,正确。
A '\xff' B '\65' D'\028' 是用单引号括起来的多个字符,但因它们前面都 有一个转义符 ‘\‘ ,就不能说它们都不符合定义,都不合法的。

A '\xff' 中 '\x' 组合表示是一个十六进制数 ffH = 10 进制的 255 ,它代表一个不可见字符的ASCII 码, 合法 。

B '\65' 同理 '\' + 三个十进制数 '\ddd' 表示的是 八进制数。'\65' = '\065' = 10 进制的 53, 是 ‘F’ 的ASCII 码表示。单 字,合法。

D '\028' 同上表示是八进制数,但八进制数中逢八则进一,是不会出现 8 的,所以格式虽对但数值错了。不合法。