C/C++的轉義字符詳解

所有的ASCII碼都可以用“\”加數字(一般是8進制數字)來表示。而C中定義了一些字母前加"\"來表示常見的那些不能顯示的ASCII字符,如\0,\t,\n等,就稱為轉義字符,因為后面的字符,都不是它本來的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語言干貨裙815393859

\a:蜂鳴,響鈴?
\b:回退:向后退一格?
\f:換頁?
\n:換行,光標到下行行首?
\r:回車,光標到本行行首?
\t:水平制表?
\v:垂直制表?
\\:反斜杠?
\':單引號?
\":雙引號?
\?:問號?
\ddd:三位八進制?
\xhh:二位十六進制?
\0:空字符(NULL),什么都不做?
注:?
1,\v垂直制表和\f換頁符對屏幕沒有任何影響,但會影響打印機執行響應操作。?
2,\n其實應該叫回車換行。換行只是換一行,不改變光標的橫坐標;回車只是回到行首,不改變光標的縱坐標。?
3,\t 光標向前移動四格或八格,可以在編譯器里設置?
4,\' 在字符里(即單引號里)使用。在字符串里(即雙引號里)不需要,只要用 ' 即可。?
5,\? 其實不必要。只要用 ? 就可以了(在windows VC6 和tc2 中驗證)。?

我自己的C語言干貨群:815393859

格式控制符參考:?

格式輸出字符:printf

使用:向終端輸出若干個類型任意的數據。

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

說明:

格式控制符:% 格式說明引導符。

- 指定左對齊輸出。

0 指定空位填零。

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

l.h 輸出長度的修正。

格式字符 指定輸出的數據類型。

說明:

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

d 有符號十進制整數。

o 無符號八進制數。

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

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

基本整型:兩個字節,十六個bit(位)

11 11 11 11 11 11 11 11 等于 65535.

11 11 11 11 11 11 11 10 等于 -2.

負數的第一位(符號位)為1。負數的補碼怎么得到:原碼取反加一。2的二進制數為:00 00 00 00 00 00 00 10,取反就等于11 11 11 11 11 11 11 01,然后加1,二進制數逢二進一,所以就得出-2 的二進制代碼。

有符號的整型數可以用 %d 輸出。

無符號的整型數可以用 %u 輸出。

電腦里存的數字都是二進制數,最高位是符號位還是數據位,可以由輸出格式符來控制。

二進制數轉換八進制數:三個 1 對應一個 7 。

二進制數鏨十六進制數:四位二進制對應一位十六進制,四個1 對應一個 f。

說明:

格式字符:c 輸出一個字符。

s 輸出一個字符串。

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

f 以小數形式輸出實型數。

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

% 輸出%。

注意:對于單精度數,使用 %f 格式符輸出時,僅前7位是有效數字,小數6位。

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

長度修正符

l:對整型指定長整型long

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

對實型指定雙精度double

例:%lf

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

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

對64位整數的輸入輸出,在POJ上的C++環境下(即VC++),64位整數是:?
__int64?
輸入輸出格式為”%I64d”.

在G++環境下, 64位整數是?
long long?
輸入輸出格式為”%lld”.

域寬及精度的描述

M:域寬,即對應的輸出項在輸出設備上所占字符數

若:實際數據寬度>M,按實際數據寬度輸出。

實際數據寬度<M,左邊補空。

N:精度,說明輸出的實型數的小數位數。

幾點說明:

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

格式字符要用小寫字母。

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

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

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

%g,%f和%e這三個格式用于打印浮點值。?
????????????????? %g格式用于打印那些不需要按列對齊的浮點數特別有用。其作用有二:?
????????????????? 一,去掉該數尾多余的零(沒有達到六位的數)?
????????????????? 二,保留六位有效數字(多余六位的)?
????????????????? %e格式用于打印浮點數時,一律顯示地使用指數形式:例如:輸出圓周率時是:3.141593e+00?
???????????????? 兩者的區別:?
???????????????? %g格式打印出的數是總共6位有效數字?
???????????????? %e格式打印出小數點后的6位有效數字?
???????????????? %f禁止使用指數形式來表示浮點數。因此圓周率輸出為:3.141593?
??????????????? (但注意它的精度要求:也是小數點后6位有效數字)?
??????????????? (8)%%格式用于打印一個%字符。?
?????????????? (9)%E和%G只是在輸出時用大寫字母(E)代替了小寫字母(e)

????????????????? 輸出正負號的技巧,例如:?
??????????????? printf("%+d %+d %+d\n",-5,0,5);?
??????????????? 只要在中間加個“+”號就行。作用是輸出符號位(即,數的正負號)?
??????????????? 如果不希望正數的前面出現‘+’號,可用下面的方法?
??????????????? 只要在中間加個“ ”號(即:空格)就行。例如:?
??????????????? 作用:如果一個數是非負數,就在它的前面插入一個空格。?
??????????????? int i;?
??????????????? for(i=-3;i<=3;i++)?
??????????????????????? printf("% d\n",i); //注意%和d之間有一個空格

??????????????? sscanf()的使用技巧:?
??????????????? 分解字符串,很多功能都需要正則表達式的知識,所以就介紹一下最簡單的幾種用sscanf來分解字符串 的用法。?
??????????????? 1.?
??????????????? char str[100],str1[100],str2[100];?
??????????????? gets(str);?
??????????????? sscanf(str,”%s%s”,str1,str2);?
??????????????? 將讀入的一整行字符串按空格,制表符或回車符分割成兩個字符串。?
??????????????? 2?
??????????????? 取指定長度的字符串。如在下例中,取最大長度為4字節的字符串。?
???????? sscanf("123456 ", "%4s", str);

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/531178.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/531178.shtml
英文地址,請注明出處:http://en.pswp.cn/news/531178.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C語言深入理解!助你向大佬邁進!

Dennis Ritchie 過世了&#xff0c;他發明了C語言&#xff0c;一個影響深遠并徹底改變世界的計算機語言。一門經歷40多年的到今天還長盛不衰的語言&#xff0c;今天很多語言都受到C的影響&#xff0c;C&#xff0c;Java&#xff0c;C#&#xff0c;Perl&#xff0c; PHP&#xf…

【初涉C語言】程序員歡迎來到C語言的世界!

計算機發展史 機器語言所有的代碼里面只有0和1優點&#xff1a;直接對硬件產生作用&#xff0c;程序的執行效率非常高缺點&#xff1a;指令又多又難記、可讀性差、無可移植性匯編語言符號化的機器語言&#xff0c;用一個符號&#xff08;英文單詞、數字&#xff09;來代表一條…

C語言和C++的區別整理詳解!

c和c主要區別 根據書中的描述&#xff0c;進行了整理 推薦一個我自己的C/C交流裙815393895 1、 源代碼文件的擴展名 摘自1.4.1 C實現源代碼文件的擴展名UNIXC、cc、cxx、cGNU CC、cc、cxx、cpp、cDigital Marscpp、cxxBorland CcppWatcomcppMicrosoft Visual Ccpp、cxx、cc…

揭示C語言函數調用的本質解析

C語言是面向過程的&#xff0c;而C&#xff0b;&#xff0b;是面向對象的C和C的區別&#xff1a; C是一個結構化語言&#xff0c;它的重點在于算法和數據結構。C程序的設計首要考慮的是如何通過一個過程&#xff0c;對輸入&#xff08;或環境條件&#xff09;進行運算處理得到…

C語言的關鍵字和詳細介紹

C語言是面向過程的&#xff0c;而C&#xff0b;&#xff0b;是面向對象的C和C的區別&#xff1a; C是一個結構化語言&#xff0c;它的重點在于算法和數據結構。C程序的設計首要考慮的是如何通過一個過程&#xff0c;對輸入&#xff08;或環境條件&#xff09;進行運算處理得到…

【C語言簡介】C語言的前世今生

C語言的發展歷史&#xff1a; 20世紀70年代初&#xff0c;貝爾實驗室的Dennis Richie 等人在B語言基礎上開發出C語言&#xff0c;最初是作為UNIX的開發語言&#xff1b; 20世紀70年代末&#xff0c;隨著微型計算機的發展&#xff0c;C語言開始移植到非UNIX環境中&#xff0c;并…

C語言/C++編程學習:不找C/C++的工作也要學C/C++的原因

C語言是面向過程的&#xff0c;而C&#xff0b;&#xff0b;是面向對象的 C和C的區別&#xff1a; C是一個結構化語言&#xff0c;它的重點在于算法和數據結構。C程序的設計首要考慮的是如何通過一個過程&#xff0c;對輸入&#xff08;或環境條件&#xff09;進行運算處理得…

C\C++中聲明與定義的區別

C語言是面向過程的&#xff0c;而C&#xff0b;&#xff0b;是面向對象的 C和C的區別&#xff1a; C是一個結構化語言&#xff0c;它的重點在于算法和數據結構。C程序的設計首要考慮的是如何通過一個過程&#xff0c;對輸入&#xff08;或環境條件&#xff09;進行運算處理得…

C++ 虛函數和虛繼承解析

本文針對C里的虛函數&#xff0c;虛繼承表現和原理進行一些簡單分析&#xff0c;有不對的地方請指出。下面都是以VC2008編譯器對這兩種機制內部實現為例。 有喜歡或者想學習C/C的朋友加一下我的C/C交流群815393895。謝謝大家的支持 虛函數 以下是百度百科對于虛函數的解釋&a…

【網絡攻防】精通C語言的黑客才是真正的黑客!

精通C語言的黑客才是真正的黑客 黑客界&#xff0c;有兩樣重要的課程&#xff0c;一是計算機的本質&#xff0c;二是編譯原理。相對于匯編等底層語言&#xff0c;它簡單&#xff1b;相對于其它高級語言&#xff0c;它更為接近計算機&#xff1b;同樣它對黑客的兩大課程很有幫助…

我兩小時學完指針,你學會數組/指針與函數需要多久?

數組與函數&#xff1a; 這段函數中 函數的參數是數組&#xff0c;注意數組作為函數參數時&#xff0c;數組名和數組元素個數時分別傳遞的。 指針與函數&#xff1a; 這段函數中的參數是指針變量&#xff0c;傳入的是數組的數組名或者首元素的地址&#xff0c;然后用引領操作…

【C語言】C語言結構解析

C 程序結構 在我們學習 C 語言的基本構建塊之前&#xff0c;讓我們先來看看一個最小的 C 程序結構&#xff0c;在接下來的章節中可以以此作為參考。 喜歡編程的或者想學習編程的朋友可以加一下我的C語言編程交流群815393895&#xff0c;謝謝大家的支持 C Hello World 實例 C…

每一個程序員都是自學成才?

為什么CS學位并非是成為開發人員的唯一路徑&#xff0c;因為每個開發人員在工作于他們的項目時學到了很多很多。 學習編程并不難 有興趣學習或者已經在學習C語言的朋友可以加一下我的編程交流群815393895 除了CS學位&#xff0c;還有很多成為程序員的方法。如果你正行進在一…

不妨問問自己,學習C語言是為了什么?

1、首先是雞湯&#xff0c;也就是為什么要學C語言。你可以先問自己&#xff0c;為什么我要學C語言&#xff1f;是為了應付考試&#xff0c;還是為了應聘&#xff0c;還是為了提高自己的編程能力。我想說的是&#xff0c;如果你打算以后長期從事計算機方面的工作&#xff0c;你就…

C語言靈魂——算法!

程序的靈魂—算法 一個程序應包括&#xff1a; 對數據的描述。在程序中要指定數據的類型和數據的組織形式&#xff0c;即數據結構&#xff08;data structure&#xff09;。 對操作的描述。即操作步驟&#xff0c;也就是算法&#xff08;algorithm&#xff09;。 Nikiklaus Wir…

為什么會有那么多人放棄編程?

為什么許多編程人員最后都放棄了呢&#xff1f;小編幫你理清下原因&#xff0c;主要有以下幾個 為什么這么多人選擇放棄學習編程&#xff1f; 加班加點是家常便飯 在軟件行業不加班的公司不是很多&#xff0c;區別就是加班強度。為什么程序員需要加這么多班&#xff0c;軟件是一…

C語言基礎知識梳理

C語言是面向過程的&#xff0c;而C&#xff0b;&#xff0b;是面向對象的 C和C的區別&#xff1a; C是一個結構化語言&#xff0c;它的重點在于算法和數據結構。C程序的設計首要考慮的是如何通過一個過程&#xff0c;對輸入&#xff08;或環境條件&#xff09;進行運算處理得到…

很多人大一就開始學習C語言,你真的學到了嗎?

好多人大一就學了C語言&#xff0c;但你有沒有感覺學的不深&#xff0c;不扎實。或者說越學越迷茫&#xff0c;不知道它能做什么 我相信&#xff0c;這可能是很多朋友的問題&#xff0c;其實&#xff0c;這是很多初學者都會踩到的一個坑&#xff01;C語言本身是一門很簡單的語言…

C語言發展歷史,C語言特點,C語言利于弊,入門須知三招

C語言是面向過程的&#xff0c;而C&#xff0b;&#xff0b;是面向對象的 這些是C/C能做的 服務器開發工程師、人工智能、云計算工程師、信息安全&#xff08;黑客反黑客&#xff09;、大數據 、數據平臺、嵌入式工程師、流媒體服務器、數據控解、圖像處理、音頻視頻開發工程…

程序員怎么看待C語言?最偉大?最落后?

一&#xff0c;前言 對我來說&#xff0c;C語言應該可以算得上是世界上最偉大的編程語言。全中國口氣最大的程序員&#xff0c;業界稱之為“垠神”&#xff0c;曾經發過文章吐槽過業界各種主流的編程語言&#xff08;對Java&#xff0c;的Python稍微寬容一些&#xff09;&…