c語言格式大整理

2021-09-06 11:32:34 字數 4067 閱讀 9066

1、c語言中,非零值為真,真用1表示;零值為假,假用0表示。

2、轉義字元參考:

\a蜂鳴,響鈴  \b

回退:向後退一格 \f

換頁  \n

換行 \r

回車,游標到本行行首  \t

水平製表 \v

垂直製表  \\

反斜槓 \'

單引號  \"

雙引號 \?

問號 \ddd

三位八進位制  \0

空字元(null),什麼都不做

\xhh

二位十六進製制

說明:1)\v垂直製表和\f換頁符對螢幕沒有任何影響,但會影響印表機執行響應操作。

2),\n其實應該叫回車換行。換行只是換一行,不改變游標的橫座標;回車只是回到行首,不改變游標的縱座標。

注:

文字檔案的行結束符,傳統上(

ms)pc

用 crlf,蘋果

mac用cr,unix 用 lf。

cr -- 回車符,c語言'\r'

lf -- 換行符, c語言'\n'

不同計算機上c語言統一規定為:文字檔案的行結束符一律變成乙個符號lf,也就是換行符'\n'。「回車和換行符轉換成乙個換行符」,對pc(

ms os)

而言,文字檔案行結束符crlf讀入後,丟掉cr,留lf。例如fgets() 讀入一行,行尾只有lf,沒有cr。

3)\t游標向前移動四格或八格,可以在編譯器裡設定

4)\'在字元裡(即單引號裡)使用。在字串裡(即雙引號裡)不需要,只要用 '即可。

3、格式化輸入輸出

1)格式化輸入

printf("格式串" [,表示式1,表示式2,···]);

其中,格式串的字元有兩類:

① 以%開頭引導的格式符,用於控制表示式的輸出格式(有多少個表示式,就有多少個格式符);

② 非格式符:原樣顯示在螢幕上。

(1)字串常量的輸出

無表示式,格式串中無格式符,如:

printf("we are students.\n"); 

(2)格式符的語法

syntax: %[flag][width][.precision][h|l|l]type

a)[h|l|l]type

type欄位採用乙個英文本母來表達資料型別與格式:   

d 按十進位制有符號整數形式輸出 i 

按十進位制有符號整數形式輸出(同d格式) u

按十進位制無符號數形式輸出 o

按八進位制無符號數形式輸出 x

按十六進製制無符號數形式輸出,輸出時使用小寫字母 (a, b, c, d, e, f) x

按十六進製制無符號數形式輸出,輸出時使用大寫字母(a, b, c, d, e, f) f

按十進位制小數形式輸出浮點數,輸出格式為:[-]ddd.dddddd(預設輸出6位小數) e

按十進位制指數形式輸出浮點數,輸出格式為:[-]d.dddde[+/-]ddd,(e後面是指數) e

按十進位制指數形式輸出浮點數,輸出格式為:[-]d.dddde[+/-]ddd,(e後面是指數)。

用e和e格式輸出浮點數時,輸出的是科學記數法形式,即小數點前面的整數部分固定為1位整數 g

按十進位制形式輸出浮點數,自動選擇f或e格式中,輸出長度小的格式輸出;g格式不輸出無用的0。 g

按十進位制形式輸出浮點數,自動選擇f或e格式中,輸出長度小的格式輸出;g格式不輸出無用的0。 c

輸出單個字元 s

輸出字串 p

輸出void指標,輸出格式是:win32程式設計模式,只有******xx一種格式 %

輸出字元%(%用於引導格式控制符,在格式串中輸出%號時,必須採用格式%%)

字首修飾符:

l: 輸出long double型別表示式必加

l: 輸出長整型表示式必加

h: 輸出短整型表示式必加

b)[width]

width欄位用來指定輸出的資料項占用的字元列數,也稱為輸出域寬。預設該欄位,輸出寬度按資料的實際位數輸出;如果指定的輸出寬度小於資料的實際位數,則突破域寬的限制,按實際位數輸出;如果指定的域寬大於資料的實際位數,則預設在輸出資料的左邊輸出空格,使輸出的字元數等於列寬,也就是說,輸出的資料在輸出域中自動向右對齊。

width有以下三種情況:

n乙個非負整型常數,指定輸出占用n列寬度。 0n

n為乙個整型常數,輸出占用n列,如果實際位數不足n列,資料前面補0,填滿n列 *

輸出域寬來自待輸出表示式前面的乙個整型表示式。

printf("%*d", 8+1, -3);

c)[.precesion]

有以下4種情況:

預設對於f |e|e格式,表示小數點後輸出6位小數,對於g |g格式,表示最多輸出6位有效數字 .m

m為非負整型常數,對於浮點格式,指定小數點後面輸出m位小數; s格式,表示只輸出字串的前面m個字元 .0

對於f |e|e格式,表示不輸出小數點和小數,按整數形式輸出 .*

表示precision來自待輸出表示式前面的乙個整型表示式

示例view code

?

#include "iostream"

#include "stdio.h"

usingnamespacestd;

intmain()

注意,輸出中任何乙個字元都算作一位。

d)[flag]預設

輸出正數時不輸出正號;域寬大於資料實際位數時,域中左邊補空格,資料靠右對齊; +

輸出正數時要輸出正號; -

域寬大於資料實際位數時,域中右邊補空格,資料靠左對齊。 #

用於x |x格式:輸出0x(格式x)或0x(格式x)。

1、格式化輸入函式scanf

用法: scanf("格式串" ,位址1,位址2,···);

1)格式符

syntax: %[*][width][h|l|l]type

(1) [h|l|l]type

d以十進位制有符號整數形式轉換輸入資料 i

以十進位制有符號整數形式轉換輸入資料(同d格式) u

以十進位制無符號整數形式轉換輸入資料 o

以八進位制有符號整數形式轉換輸入資料

x |x

以十六進製制有符號整數形式轉換輸入資料(x和x等效)

e|e|f|g|g 

以十進位制浮點數形式轉換輸入資料,輸入資料時,可以輸入整型常量、小數形式實型常量或指數形式實型常量。

c  輸入乙個字元(可輸入控制字元)

s  輸入字串(遇到第乙個空格、tab或換行符結束轉換)

字首修飾符:

l: 輸入long double型別變數必加

l: 輸入長整型變數或者double型變數必加

h: 輸入短整型變數必加

(2) [width]

width欄位用來指定輸入資料的轉換寬度,它必須是乙個十進位製非負整型常量。width表示讀入多少個字元就結束本資料項的轉換。如果沒有指定width,則遇到空格 、tab鍵、回車/換行符、非法輸入則結束資料項的轉換(%c格式除外)。

float a;int b;double c;

scanf("%f%3x%lf",&a,&b,&c);

若輸入為:-1.5a8059¿

則a=-1.5, b=0xa80, c=59.0

(3) [*]號

表示資料輸入項要按指定格式進行轉換,但不儲存變數,即該%沒有對應的變數。

一般用%*c來吸收字元。

2、幾點說明:

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

格式字元要用小寫字母。

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

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

輸出項的引數除了常數、變數外還可以是表示式、函式呼叫。

Keil平台下C語言書寫格式規範整理

乙份編寫規範的 會讓人賞心悅目,養成良好的 編寫習慣是每乙個程式設計師應該具備的基本素養!當專案需要多人合作共同編寫的時候,共同的風格 方式就變得尤為重要,配合的效率也會提高,因此編寫本來規範 編寫的風格,請各位工程師參照。當然如果有不同的見解或需要增加的內容,請直接溝通。針對總的書寫格式,包括對齊...

C語言 格式化列印printf 常用整理

前言 c語言中printf經常被用來輸出各種除錯資訊,對於字串常量輸出,簡單使用一對 就可以達到目的,例如 printf hello,world n 而關於資料的格式化輸出就各有千秋,下面整理了它經常用的格式化輸出語句,不常用的就不記錄了,以免增加記憶負擔。printf沒有列印二進位制資料的格式,只...

C 語言知識整理

c 語言知識整理 前言 c語言語法即關鍵字的使用方法 1.關鍵字介紹如何處理01 記憶體意識 1.關鍵字分類 2.變數符號實質宣告 定義 賦值 3.型別符號的使用struct union enum typedef 4.符號修飾關鍵字extern volatile static const restr...