1. 程式人生 > >c語言轉義字符

c語言轉義字符

abcde har 保留 設置 小數位 包括 小數位數 scanf() long

C語言轉義字符和格式控制符參考

轉義字符參考:

\a:蜂鳴,響鈴

\b:回退:向後退一格

\f:換頁

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

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

\t:水平制表

\v:垂直制表

\\:反斜杠

\‘:單引號

\":雙引號

\?

:問號

\ddd:三位八進制

\xhh:二位十六進制

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

註:

1。\v垂直制表和\f換頁符對屏幕沒有不論什麽影響,但會影響打印機運行響應操作。

2,\n事實上應該叫回車換行。換行僅僅是換一行,不改變光標的橫坐標;回車僅僅是回到行首,不改變光標的縱坐標。

3,\t 光標向前移動四格或八格,能夠在編譯器裏設置

4,\‘ 在字符裏(即單引號裏)使用。在字符串裏(即雙引號裏)不須要,僅僅要用 ‘ 就可以。

5,\?

事實上不必要。僅僅要用 ? 就能夠了(在windows VC6 和tc2 中驗證)。

格式控制符參考:

格式輸出字符: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);

c語言轉義字符