A. c语言 转义字符 不懂
main()
{char a,b,c,*d;
a='\'; //应为'\\';
b='\xbc';
c='\0xab'; //没有0x这种形式
d="\0127"; //d为字符形指针,不能用值来赋值,且\后应为三位八进制
printf("%c %c %c %c\n",a,b,c,*d); //d的指向不明,不能输出
}
转义字符是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程序中,使用不可打印字符时,通常用转义字符表示
B. C语言中的转义字符 \a(响铃)是什么意思
C语言中的转义字符a(响铃)是在标准输出设备输出字符'a'时,系统自带的扬声器(或蜂鸣器)会发出“叮”的一声。
转义字符不同于字符原有的意义,例如,在前面各例题printf函数的格式串中用到的“ ”就是一个转义字符,其意义是“回车换行”。转义字符主要用来表示那些用一般字符不便于表示的控制代码。
(2)c语言程序能发出声音的转意符扩展阅读
C语言中常用的转义字符及其含义
转义字符转义字符的意义ASCII代码
回车换行10
横向跳到下一制表位置9
退格8
回车13
f走纸换页12
\反斜线符""92
'单引号符39
”双引号符34
a鸣铃7
ddd1~3位八进制数所代表的字符
\xhh1~2位十六进制数所代表的字符
C. C语言转义字符
字符常量中使用单引号和反斜杠以及字符常量中使用双引号和反斜杠时,都必须使用转义字符表示,即在这些字符前加上反斜杠。下图是C语言中常用的转义字符。
在C程序中使用转义字符ddd或者xhh可以方便灵活地表示任意字符。 ddd为斜杠后面跟三位八进制数,该三位八进制数的值即为对应的八进制ASCII码值。 x后面跟两位十六进制数,该两位十六进制数为对应字符的十六进制ASCII码值。
使用转义字符时需要注意以下问题:
1)转义字符中只能使用小写字母,每个转义字符只能看作一个字符。
2) v垂直制表和f换页符对屏幕没有任何影响,但会影响打印机执行响应操作。
3)在C程序中,使用不可打印字符时,通常用转义字符表示
注:
1,v垂直制表和f换页符对屏幕没有任何影响,但会影响打印机执行响应操作。
2,
其实应该叫回车换行。换行只是换一行,不改变光标的横坐标;回车只是回到行首,不改变光标的纵坐标。
3, 光标向前移动四格或八格,可以在编译器里设置
4,'在字符里(即单引号里)使用。在字符串里(即双引号里)不需要,只要用'即可。
5,?其实不必要。只要用?就可以了(在windows VC6和tc2中验证)。
D. C语言中的\t怎么理解
\t和\n一样,是转义字符的一种
只不过\n 的作用是换行,\t表示的是向后空出8个空格,并不需要你按tab建,电脑会自动向后空出,类似的转义字符还有\a \b \f等 但用法不一样,可以查阅转义字符表
E. 在C语言中用\a表示鸣铃是什么意思啊
就是一个硬件控制符, 让喇叭响的的 一个命令
F. C语言里的“\r”是什么东西
\r表示将当前的光标移动到行首,但不会移动到下一行;\n表示将光标移动到下一行,但不会移动到行首。单独一个\r或\n都不是一般意义上的回车,\r\n放在一起才是。通常在写程序的时候只要一个\n就可以了,这是因为编译器会自动将\n替换成\r\n。
G. C语言"\"什么意思
反斜杠\可以表示转义字符,也可以表示文件路径。
如:c:\qq.txt使用 \表示文件路径。
更多的是用来表示转义字符,也就是经常使用在printf与scanf里面的格式控制符:
%c 字符
%d 十进制整数
%e 浮点数,指数e的形式 %s 字符串
%E 浮点数,指数E的形式 %u 无符号十进制整数
%f 浮点数,小数点形式 %g 输出%f与%e较短者
%o 无符号八进制整数 %G 输出%F与%E较短者
%x 无符号十六进制整数,以0~f表示 %X 无符号十六进制整数,以0~F表示
%l 长整型,加在d,o,u,x,X之前,如%ld(注意%l是英文字母l,不是数字1) int printf(const char *format,[argument]);
format 参数输出的格式,定义格式为:
%[flags][width][.perc] [F|N|h|l]type
规定数据输出方式,具体如下:
1.type 含义如下:
d 有符号10进制整数
i 有符号10进制整数
o 有符号8进制整数
u 无符号10进制整数
x 无符号的16进制数字,并以小写abcdef表示
X 无符号的16进制数字,并以大写ABCDEF表示
F/f 浮点数
E/e 用科学表示格式的浮点数
g 使用%f和%e表示中的总的位数表示最短的来表示浮点数 G 同g格式,但表示为指数
c 单个字符
s 字符串
% 显示百分号本身
p 显示一个指针,near指针表示为:XXXX
far 指针表示为:XXXX:YYYY
n 相连参量应是一个指针,其中存放已写字符的个数
2.flags 规定输出格式,取值和含义如下:
无 右对齐,左边填充0和空格
- 左对齐,右边填充空格
+ 在数字前增加符号 + 或 -
一个空格 只对负数显示符号
# 当type=c,s,d,i,u时没有影响
type=o,x,X时,分别在数值前增加'0',"0x","0X"
type=e,E,f时,总是使用小数点
type=g,G时,除了数值为0外总是显示小数点 3.width 用于控制显示数值的宽度,取值和含义如下n(n=1,2,3...) 宽度至少为n位,不够以空格填充
0n(n=1,2,3...) 宽度至少为n位,不够左边以0填充 * 格
式列表中,下一个参数还是width 4.prec 用于控制小数点后面的位数,取值和含义如下:
无 按缺省精度显示
0 当type=d,i,o,u,x时,没有影响
type=e,E,f时,不显示小数点
n(n=1,2,3...) 当type=e,E,f时表示的最大小数位数
type=其他,表示显示的最大宽度 .*
格式列表中,下一个参数还是width
5.F|N|h|l 表示指针是否是远指针或整数是否是长整数
F 远指针
n 近指针
h短整数或单精度浮点数
l 长整数或双精度浮点数
1.一般格式
printf(格式控制,输出表列)
例如:printf("i=%d,ch=%c\n",i,ch);
说明:
(1)“格式控制”是用双撇号括起来的字符串,也称“转换控制字符串”,它包括两种信息:
①格式说明:由“%”和格式字符组成,它的作用是将输出的数据转换为指定的格式输出。
②普通字符,即需要原样输出的字符。
(2)“输出表列”是需要输出的一些数据,可以是表达式
(3)printf函数的一般形式可以表示为
printf(参数1,参数2,……,参数n)
功能是将参数2~参数n按参数1给定的格式输出
2.格式字符(9种)
(1)d(或i)格式符。用来输出十进制整数,有以下几种用法:
①%d,按整型数据的实际长度输出。
②%md,m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。
③%ld(%mld 也可),输出长整型数据。
例如:long a=123456;
printf("%ld",a);
(2)o格式符,以八进制数形式输出整数。格式:%o,%mo,%lo,%mlo都可。
(3)x(或X)格式符,以十六进制数形式输出整数。格式:%x,%mx,%lx,%mlx都可。
(4)u格式符,用来输出unsigned型数据,即无符号数,以十进制数形式输出。格式:%u,%mu,%lu都可。
参见:li4-3.c/*无符号数据的输出*/
(5)c格式符,用来输出一个字符。格式:%c,%mc都可。
(6)s格式符,用来输出一个字符串。格式:%s,%ms,%-ms,%m.ns,%-m.ns都可。
参见:li4-5.c /*字符串的输出*/
(7)f格式符,用来输出实数(包括单、双精度),以小数形式输出。格式:%f,%m.nf,%-m.nf都可。
注意:单精度实数的有效位数一般为7位,双精度为16位。
参见:li4-6.c/*输出单精度实数时的有效位数*/
li4-7.c/*输出双精度实数时的有效位数*/
li4-8.c/*输出实数时指定小数位数*/
(8)e(或E)格式符,以指数形式输出实数。格式:%e,%m.ne,%-m.ne都可。
(9)g(或G)格式符,用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种)。
3.说明
(1)除了X、E、G(用大写字母表示)外,其他格式字符必须用小写字母;
(2)“格式控制”字符串内可以包含转义字符;
(3)如果想输出字符“%”,则应该在“格式控制”字符串中用连续两个%表示,如:
printf("%f%%",1.0/3);
(4)格式字符表参见下表
表4.1 printf格式字符
格式字符 说 明
d,i 以带符号的十进制形式输出整数(正数不输出符号)
o 以八进制无符号形式输出整数(不输出前导符0)
x,X 以十六进制无符号形式输出整数(不输出前导符0x),用x则输出十六进制数的a~f时以小写形式输出,用X时,则以大写字母输出
u 以无符号十进制形式输出整数
c 以字符形式输出,只输出一个字符
s 输出字符串
f 以小数形式输出单、双精度数,隐含输出6位小数
e,E 以指数形式输出实数
g,G 选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0
表4.2 printf的附加格式说明字符
字符
说明
字母l
用于长整型整数,可加在格式符d、o、x、u前面
m(代表一个正整数)
数据最小宽度
n(代表一个正整数)
对实数,表示输出n位小数;对字符串,表示截取的字符个数
-
输出的数字或字符在域内向左靠
有兴趣还可以网上搜索一下。
可以参见:http://ke..com/view/73.htm
另外,如果需要打印'\',需要printf("\\");两个反斜杠你能输出一个!与%%一样,这点要注意。
还说一句,在scanf里不要乱用格式控制符!如
scnaf("%3d%c%2d")此类,请慎用!
H. c语言的转义字符\b的意思
:在c语言中表示退格,相当于键盘上的backspace键。下面的代码只会输出网络二字。
#include<stdio.h>
intmain()
{
printf("网络网");
return0;
}
常用的C语言转义字符如下: