淺談C語(yǔ)言轉(zhuǎn)義字符和格式控制符
轉(zhuǎn)義字符參考:
\a:蜂鳴,響鈴
\b:回退:向后退一格
\f:換頁(yè)
\n:換行,光標(biāo)到下行行首
\r:回車(chē),光標(biāo)到本行行首
\t:水平制表
\v:垂直制表
\\:反斜杠
\':單引號(hào)
\":雙引號(hào)
\?:問(wèn)號(hào)
\ddd:三位八進(jìn)制
\xhh:二位十六進(jìn)制
\0:空字符(NULL),什么都不做
注:
1,\v垂直制表和\f換頁(yè)符對(duì)屏幕沒(méi)有任何影響,但會(huì)影響打印機(jī)執(zhí)行響應(yīng)操作。
2,\n其實(shí)應(yīng)該叫回車(chē)換行。換行只是換一行,不改變光標(biāo)的橫坐標(biāo);回車(chē)只是回到行首,不改變光標(biāo)的縱坐標(biāo)。
3,\t 光標(biāo)向前移動(dòng)四格或八格,可以在編譯器里設(shè)置
4,\' 在字符里(即單引號(hào)里)使用。在字符串里(即雙引號(hào)里)不需要,只要用 ' 即可。
5,\? 其實(shí)不必要。只要用 ? 就可以了(在windows VC6 和tc2 中驗(yàn)證)。
格式控制符參考:
格式輸出字符:printf
使用:向終端輸出若干個(gè)類(lèi)型任意的數(shù)據(jù)。
形式:printf (格式控制符,輸出列表)
說(shuō)明:
格式控制符:% 格式說(shuō)明引導(dǎo)符。
- 指定左對(duì)齊輸出。
0 指定空位填零。
m.n 指定輸出域?qū)挾燃熬取?/p>
l.h 輸出長(zhǎng)度的修正。
格式字符 指定輸出的數(shù)據(jù)類(lèi)型。
說(shuō)明:
格式字符:指定輸出項(xiàng)的數(shù)據(jù)類(lèi)型和輸出格式。
d 有符號(hào)十進(jìn)制整數(shù)。
o 無(wú)符號(hào)八進(jìn)制數(shù)。
x 無(wú)符號(hào)十六進(jìn)制數(shù)。(小寫(xiě)的x格式中用小寫(xiě)字母a,b,c,d,e,f來(lái)表示10到15之間的數(shù),大寫(xiě)的X則用大寫(xiě)的ABCDEF來(lái)表示10到15之間的數(shù))
u 不帶符號(hào)的十進(jìn)制整數(shù)。
基本整型:兩個(gè)字節(jié),十六個(gè)bit(位)
11 11 11 11 11 11 11 11 等于 65535.
11 11 11 11 11 11 11 10 等于 -2.
負(fù)數(shù)的第一位(符號(hào)位)為1。負(fù)數(shù)的補(bǔ)碼怎么得到:原碼取反加一。2的二進(jìn)制數(shù)為:00 00 00 00 00 00 00 10,取反就等于11 11 11 11 11 11 11 01,然后加1,二進(jìn)制數(shù)逢二進(jìn)一,所以就得出-2 的二進(jìn)制代碼。
有符號(hào)的整型數(shù)可以用 %d 輸出。
無(wú)符號(hào)的整型數(shù)可以用 %u 輸出。
電腦里存的數(shù)字都是二進(jìn)制數(shù),最高位是符號(hào)位還是數(shù)據(jù)位,可以由輸出格式符來(lái)控制。
二進(jìn)制數(shù)轉(zhuǎn)換八進(jìn)制數(shù):三個(gè) 1 對(duì)應(yīng)一個(gè) 7 。
二進(jìn)制數(shù)鏨十六進(jìn)制數(shù):四位二進(jìn)制對(duì)應(yīng)一位十六進(jìn)制,四個(gè)1 對(duì)應(yīng)一個(gè) f。
說(shuō)明:
格式字符:
c 輸出一個(gè)字符。
s 輸出一個(gè)字符串。
e 以指數(shù)形式輸出實(shí)型數(shù)。
f 以小數(shù)形式輸出實(shí)型數(shù)。
g 自動(dòng)決定輸出格式為e和f中較短的一種,不打印無(wú)效的零。
% 輸出%。
注意:
對(duì)于單精度數(shù),使用 %f 格式符輸出時(shí),僅前7位是有效數(shù)字,小數(shù)6位。
對(duì)于雙精度數(shù),使用 %lf 格式符輸出時(shí),前16位是有效數(shù)字,小數(shù)6位。
長(zhǎng)度修正符
l:對(duì)整型指定長(zhǎng)整型long
例:%ld , %lx , %lo , %lu
對(duì)實(shí)型指定雙精度double
例:%lf
h:只用于整型的格式字符修正為short
例:%hd , %hx , %ho , %hu
對(duì)64位整數(shù)的輸入輸出,在POJ上的C++環(huán)境下(即VC++),64位整數(shù)是:
__int64
輸入輸出格式為”%I64d”.
在G++環(huán)境下, 64位整數(shù)是
long long
輸入輸出格式為”%lld”.
域?qū)捈熬鹊拿枋?/p>
M:域?qū)?,即?duì)應(yīng)的輸出項(xiàng)在輸出設(shè)備上所占字符數(shù)
若:實(shí)際數(shù)據(jù)寬度>M,按實(shí)際數(shù)據(jù)寬度輸出。
實(shí)際數(shù)據(jù)寬度<M,左邊補(bǔ)空。
N:精度,說(shuō)明輸出的實(shí)型數(shù)的小數(shù)位數(shù)。
幾點(diǎn)說(shuō)明:
編譯程序只是檢查printf 函數(shù)的調(diào)用形式,不分析格式控制字符串,如果格式字符與輸出項(xiàng)的類(lèi)型不匹配,不進(jìn)行類(lèi)型轉(zhuǎn)換。(輸出的數(shù)為隨機(jī))
格式字符要用小寫(xiě)字母。
格式控制字符串中可以包含轉(zhuǎn)義字符。
格式控制字符串中的普通字符則原樣輸出。
輸出項(xiàng)的參數(shù)除了常數(shù)、變量外還可以是表達(dá)式、函數(shù)調(diào)用。
%g,%f和%e這三個(gè)格式用于打印浮點(diǎn)值。
%g格式用于打印那些不需要按列對(duì)齊的浮點(diǎn)數(shù)特別有用。其作用有二:
一,去掉該數(shù)尾多余的零(沒(méi)有達(dá)到六位的數(shù))
二,保留六位有效數(shù)字(多余六位的)
%e格式用于打印浮點(diǎn)數(shù)時(shí),一律顯示地使用指數(shù)形式:例如:輸出圓周率時(shí)是:3.141593e+00
兩者的區(qū)別:
%g格式打印出的數(shù)是總共6位有效數(shù)字
%e格式打印出小數(shù)點(diǎn)后的6位有效數(shù)字
%f禁止使用指數(shù)形式來(lái)表示浮點(diǎn)數(shù)。因此圓周率輸出為:3.141593
(但注意它的精度要求:也是小數(shù)點(diǎn)后6位有效數(shù)字)
(8)%%格式用于打印一個(gè)%字符。
(9)%E和%G只是在輸出時(shí)用大寫(xiě)字母(E)代替了小寫(xiě)字母(e)
輸出正負(fù)號(hào)的技巧,例如:
printf("%+d %+d %+d\n",-5,0,5);
只要在中間加個(gè)“+”號(hào)就行。作用是輸出符號(hào)位(即,數(shù)的正負(fù)號(hào))
如果不希望正數(shù)的前面出現(xiàn)‘+'號(hào),可用下面的方法
只要在中間加個(gè)“ ”號(hào)(即:空格)就行。例如:
作用:如果一個(gè)數(shù)是非負(fù)數(shù),就在它的前面插入一個(gè)空格。
int i;
for(i=-3;i<=3;i++)
printf("% d\n",i); //注意%和d之間有一個(gè)空格
sscanf()的使用技巧:
分解字符串,很多功能都需要正則表達(dá)式的知識(shí),所以就介紹一下最簡(jiǎn)單的幾種用sscanf來(lái)分解字符串 的用法。
1.
char str[100],str1[100],str2[100];
gets(str);
sscanf(str,”%s%s”,str1,str2);
將讀入的一整行字符串按空格,制表符或回車(chē)符分割成兩個(gè)字符串。
2.
取指定長(zhǎng)度的字符串。如在下例中,取最大長(zhǎng)度為4字節(jié)的字符串。
sscanf("123456 ", "%4s", str);
以上這篇淺談C語(yǔ)言轉(zhuǎn)義字符和格式控制符就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
C語(yǔ)言指針如何實(shí)現(xiàn)字符串逆序反轉(zhuǎn)
這篇文章主要介紹了C語(yǔ)言指針如何實(shí)現(xiàn)字符串逆序反轉(zhuǎn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07利用C語(yǔ)言如何實(shí)現(xiàn)一些簡(jiǎn)單圖形的打印
這篇文章主要給大家介紹了關(guān)于利用C語(yǔ)言如何實(shí)現(xiàn)一些簡(jiǎn)單圖形的打印的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12C語(yǔ)言學(xué)習(xí)基礎(chǔ)知識(shí)分享
這篇文章主要介紹了C語(yǔ)言學(xué)習(xí)基礎(chǔ)知識(shí)分享的相關(guān)資料,需要的朋友可以參考下2023-01-01C++超詳細(xì)分析講解內(nèi)聯(lián)函數(shù)
為了消除函數(shù)調(diào)用的時(shí)空開(kāi)銷(xiāo),C++ 提供一種提高效率的方法,即在編譯時(shí)將函數(shù)調(diào)用處用函數(shù)體替換,類(lèi)似于C語(yǔ)言中的宏展開(kāi)。這種在函數(shù)調(diào)用處直接嵌入函數(shù)體的函數(shù)稱(chēng)為內(nèi)聯(lián)函數(shù)(Inline Function),又稱(chēng)內(nèi)嵌函數(shù)或者內(nèi)置函數(shù)2022-06-06C語(yǔ)言數(shù)組學(xué)習(xí)之特殊矩陣的壓縮存儲(chǔ)
矩陣在計(jì)算機(jī)圖形學(xué)、工程計(jì)算中都占有舉足輕重的地位,本文將討論如何將矩陣更有效地存儲(chǔ)在內(nèi)存中,并且能夠方便地提取矩陣中的元素。感興趣的同學(xué)可以了解一下2021-12-12深入探討linux下進(jìn)程的最大線(xiàn)程數(shù)、進(jìn)程最大數(shù)、進(jìn)程打開(kāi)的文件數(shù)
本篇文章是對(duì)linux下進(jìn)程的最大線(xiàn)程數(shù)、進(jìn)程最大數(shù)、進(jìn)程打開(kāi)的文件數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C++ 賦值構(gòu)造函數(shù)注意點(diǎn)介紹
下面小編就為大家?guī)?lái)一篇C++ 賦值構(gòu)造函數(shù)注意點(diǎn)介紹。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12C語(yǔ)言中#define在多行宏定義出錯(cuò)的原因及分析
這篇文章主要介紹了C語(yǔ)言中#define在多行宏定義出錯(cuò)的原因及分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02