C语言中转义字符\40表示什么意思啊?
转义字符是C语言中表示字符的一种特殊形式。通常使用转义字符表示ASCII码字符集中不可打印的控制字符和特定功能的字符,如用于表示字符常量的单撇号( ‘),用于表示字符串常量的双撇号( “)和反斜杠( \)等。转义字符用反斜杠\后面跟一个字符或一个八进制或十六进制数表示。
转义字符 意义 ASCII码值(十进制)
\a 响铃(BEL) 007
\b 退格(BS) 008
\f 换页(FF) 012
\n 换行(LF) 010
\r 回车(CR) 013
\t 水平制表(HT) 009
\v 垂直制表(VT) 011
\\ 反斜杠 092
\? 问号字符 063
\’ 单引号字符 039
\” 双引号字符 034
\0 空字符(NULL) 000
\ddd 任意字符 三位八进制
\xhh 任意字符 二位十六进制
楼主请看最后两行,在C程序中使用转义字符\ d d d或者\ x h h可以方便灵活地表示任意字符。\ d d d为斜杠后面跟三位八进制数,该三位八进制数的值即为对应的八进制A S C I I码值。\ x后面跟两位十六进制数,该两位十六进制数为对应字符的十六进制A S C I I码值。
你说的\40,表示八进制的ascii码为40的字符,
请看
这个字符为 40 20 32 sp 也就是空格(space)符
c语言转义字符里 (\xhh 任意字符 二位十六进制),括号里那个是什么意思啊?
举例说明:
假设开设一个字符串,abcd,我们用数组定义
char str[]={ ‘a’,’b’,’c’,’d’,0 };或char str[]={ “abcd” };
现在要求在ab之后加上换行符号,换行符号无法用简单的方法表示,
已知换行符号的ASCII码是10,表示成16进制的数字为0x0a,
那么我们的程序可以这样写
char str[]={ ‘a’,’b’,10,‘c’,’d’,0 };
或 char str[]={ ‘a’,’b’,0x0a,’c’,’d’,0 };
或 char str[]={ ‘a’,’b’,’\x0a’,’c’,’d’,0 };
而最后这句我们将换行符写成了’\x0a’,就是\xhh表示的意思,\x表示后面两位(hh)是个16进制数,
hh表示具体的数字占位符
问几个关与C语言表达式和转义字符的问题?
\t表示制表符, 它到底表示几个空格,不同的系统是不同的,一般是4或6。
f=(5.0),(0.0);相当于(f=(5.0)),(0.0);
而(5.0)、(0.0)的计算结果就是5.0、0.0。
所以,上式也相当于(f=5.0),0.0;即先将5.0赋给f(因为赋值运算符的优先级高于逗号表达式),再构成一个逗号表达式5.0,0.0,最后结果是将f赋值为5.0,同时丢弃了逗号表达式5.0,0.0的值。
逗号表达式不一定需要括号的,加括号只是为了改变优先级。如:
1,2与(1,2)的作用是一样的。但int a=1,2;与int a=(1,2);a的值最后是不同的。因为赋值运算符的优先级高于逗号表达式,
int a=1,2;中最后a是1,而int a=(1,2);中最后a等于2。
下面是一个关于逗号表达式的有趣的例子,你可以研究下:
#include stdio.h
int main()
{
int i,n,arr[10]={0};
n=1 ? i=3/2,3*2 : 0;
printf(“%d %d\n”,i,n);
arr[i=3/2,3*2]=6666;
printf(“%d %d\n”,i,arr[6]);
if(i=3/2,3*2==6)
printf(“%d\n”,i);
i=(3/2,3*2);
printf(“%d\n”,i);
return 0;
}
c语言中转义字符是什么意思
转义字符C语言表示字符种特殊形式通常使用转义字符表示ASCII码字符集打印控制字符和特定功能字符用于表示字符常量单撇号( ‘)用于表示字符串常量双撇号( “)和反斜杠( \)等转义字符用反斜杠\面跟字符或八进制或十六进制数表示
转义字符 意义 ASCII码值(十进制)
\a 响铃(BEL) 007
\b 退格(BS) 008
\f 换页(FF) 012
\n 换行(LF) 010
\r 回车(CR) 013
\t 水平制表(HT) 009
\v 垂直制表(VT) 011
\\ 反斜杠 092
\? 问号字符 063
\’ 单引号字符 039
\” 双引号字符 034
\0 空字符(NULL) 000
\ddd 任意字符 三位八进制
\xhh 任意字符 二位十六进制
字符常量使用单引号和反斜杠及字符常量使用双引号和反斜杠时都必须使用转义字符表示即些字符前加上反斜杠
C程序使用转义字符\ d d d或者\ x h h方便灵活地表示任意字符\ d d d斜杠面跟三位八进制数该三位八进制数值即对应八进制A S C I I码值\ x面跟两位十六进制数该两位十六进制数对应字符十六进制A S C I I码值
使用转义字符时需要注意下问题:
1) 转义字符只能使用小写字母每转义字符只能看作字符
2) \v 垂直制表和\f 换页符对屏幕没有任何影响会影响打印机执行响应操作
3) C程序使用打印字符时通常用转义字符表示
4)\n其实应该叫回车换行换行只换行改变光标横坐标;回车只回行首改变光标纵坐标
5)\t 光标向前移动四格或八格编译器里设置
6)\’ 字符里(即单引号里)使用字符串里(即双引号里)需要只要用 ‘ 即
7)\? 其实必要只要用 ? 了(windows VC6 和tc2 验证)