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"
using
namespace
std;
int
main()
注意,輸出中任何乙個字元都算作一位。
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...