日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

C语言格式控制符和转义字符

發布時間:2023/11/27 生活经验 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言格式控制符和转义字符 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.???????? 格式控制符

格式輸出printf 作用是向終端輸出若干個類型任意的數據。

格式:printf (格式控制符,輸出列表)

1)???????? 格式控制符

l????????? %  格式說明引導符。

l????????? -  指定左對齊輸出。

l????????? 0  指定空位填零。

l????????? m.n? 指定輸出域寬度及精度

m表示數據最小寬度,如果實際數據寬度>m,按實際數據寬度輸出,如果實際數據寬度<m,左邊補空格。n對于實數來講表示n位小數,對于字符串來講,表示截取的字符個數

l????????? l,h? ??輸出長度的修正

l對整型指定長整型long

例:%ld , %lx , %lo , %lu

l對實型指定雙精度double

例:%lf

h 只用于整型的格式字符修正為short

例:%hd , %hx , %ho , %hu

?

2)???????? 格式字符 指定輸出項的數據類型和輸出格式。

l????????? d  有符號十進制整數。

l????????? o  無符號八進制數。

l????????? x   無符號十六進制數(小寫的x格式中用小寫字母a,b,c,d,e,f來表示10到15之間的數,大寫的X則用大寫的ABCDEF來表示10到15之間的數)

l????????? u  不帶符號的十進制整數。

l????????? c?   輸出一個字符。

l????????? s  輸出一個字符串

l????????? e  以指數形式輸出實型數。

l????????? f???? ?? 以小數形式輸出實型數(單精度,或稱浮點數)。

l????????? g   自動決定輸出格式為e和f中較短的一種,不打印無效的零。

l????????? %   輸出%

補充:%a(%A) 浮點數、十六進制數字和p-(P-)記數法(C99)

?????????? %p 指針

?

注意:

????????? 對于單精度數,使用 %f 格式符輸出時,僅前7位是有效數字,小數6(有效數字定義:在一個近似數中,從左邊第一個不是0的數字起,到精確到末位數止,所有的數字,都叫這個近似數字的有效數字)。

????????? 對于雙精度數,使用 %lf 格式符輸出時,前16位是有效數字,小數6

????????? 編譯程序只是檢查printf 函數的調用形式,不分析格式控制字符串,如果格式字符與輸出項的類型不匹配,不進行類型轉換(輸出的數為隨機)。

????????? 格式控制字符串中可以包含轉義字符。

????????? 格式控制字符串中的普通字符則原樣輸出

????????? 輸出項的參數除了常數、變量外還可以是表達式、函數調用。

????????? %g,%f和%e這三個格式用于打印浮點值,%g格式用于打印那些不需要按列對齊的浮點數特別有用,其作用有:

a)???????? 去掉該數尾多余的零(沒有達到六位的數)

b)???????? 保留六位有效數字(多余六位的)

%e格式用于打印浮點數時,一律顯式地使用指數形式

例如:輸出圓周率時是:3.141593e+00

??? 它們的區別:

??? %g格式打印出的數是總共6位有效數字

??? %e格式打印出小數點后的6位有效數字

%f禁止使用指數形式來表示浮點數,因此圓周率輸出為:3.141593(但注意它的精度要求:也是小數點后6位有效數字)

????????? %E和%G只是在輸出時用大寫字母(E)代替了小寫字母(e)

????????? %%格式用于打印一個%字符。

????????? 輸出正負號的技巧,例如:

printf("%+d %+d %+d\n",-5,0,5);

只要在中間加個“+”號就行,作用是輸出符號位(即,數的正負號)

如果不希望正數的前面出現‘+’號,只要在“% d”中間加個“ ”號(即空格)就行,例如:

int i;

for(i=-3;i<=3;i++)

printf("% d\n",i);?? ?// 注意%和d之間有一個空格

?

?2.???????? 轉義字符

\a: 蜂鳴,響鈴

\b: 回退:向后退一格

\f: 換頁

\n: 換行,光標到下行行首

\r: 回車,光標到本行行首

\t: 水平制表

\v: 垂直制表

\\: 反斜杠

\': 單引號

\": 雙引號

\?: 問號

\ddd: 1到3位八進制數所代表的字符

\xhh: 1到2位十六進制數所代表的字符

\0: 空字符(NULL),什么都不做

注:

l????????? \v垂直制表和\f換頁符對屏幕沒有任何影響,但會影響打印機執行響應操作。

l????????? \n其實應該叫回車換行。換行只是換一行;\r回車只是回到行首。

l????????? \t 光標向前移動四格或八格,可以在編譯器里設置

l????????? \' 在字符里(即單引號里)使用。在字符串里(即雙引號里)不需要,只要用 ' 即可。

例:

如果在字符'a'中直接使用',就會出現這種情形:'a'' ,編譯器會報錯,因為編譯器會認為多寫了一個單引號。

所以在字符中時,必須使用\',以避免歧義性。

如果為了在字符串里面添加一個單引號,直接用單引號 ' ?即可,如果用轉義字符 \' 的話就會把\'兩者直接算進去。

總結

以上是生活随笔為你收集整理的C语言格式控制符和转义字符的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。