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語言轉義字元如下: