有符號的整型數可以用 %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,按實際資料寬度輸出。
實際資料寬度 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語言轉義字元大全
轉義字元是c語言中表示字元的一種特殊形式。通常使用轉義字元表示ascii碼字符集中不可列印的控制字元和特定功能的字元,如用於表示字元常量的單撇號 用於表示字串常量的雙撇號 和反斜槓 等。轉義字元用反斜槓 後面跟乙個字元或乙個八進位制或十六進製制數表示。轉義字元意義 ascii碼值 十進位制 a 響鈴...
c語言轉義符與格式控制符
c語言格式控制符和轉義字元 1格式控制符 格式輸出printf 作用是向終端輸出若干個型別任意的資料。格式 printf 格式控制符,輸出列表 1格式控制符 l格式說明引導符。l指定左對齊輸出。l指定空位填零。lm.n 指定輸出域寬度及精度 m表示資料最小寬度,如果實際資料寬m,按實際資料寬度輸出,...
C語言陣列和字串
實驗10 陣列和字串 實驗目的 1 理解一維陣列和二維陣列在記憶體中的存放形式。2 掌握一維陣列和二維陣列變數的定義和陣列元素的引用。3 掌握字串庫函式的用法。4 掌握字串和字元陣列的區別。實驗準備 1 一維陣列的定義。定義形式如下 儲存型別符資料型別符陣列變數名 整形常量表示式 如 int a 1...