程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 0X04 字符串和格式化輸入/輸出,0x04字符串

0X04 字符串和格式化輸入/輸出,0x04字符串

編輯:關於C語言

0X04 字符串和格式化輸入/輸出,0x04字符串


字符串(character string)就是一個或多個字符的序列。如:“hello world”,雙引號不是字符串的一部分,而是通知編譯器,這是一個字符串。

C沒有為字符串定義專門的變量類型,而是把它存儲在一個char數組中。該數組的單元數必須要比字符數多1,因為字符串在數組的最後一個位置會有\0.

在printf中用%s表示打印一個字符串。

strlen()函數,以字符為單位給出字符串的長度。需要使用string.h頭文件,該頭文件中包含許多與字符串相關的函數原型。

sizeof:是否使用括號,取決於是想獲得類型的大小,還是想獲得具體量的大小,例如:sizeof(int),sizeof name或sizeof 13

const:該關鍵字把一個變量聲明轉換成常量聲明

printf()和scanf()

簡稱為I/O函數,即輸入/輸出函數(input/output)。起初,它不是C定義的函數,而是把輸入/輸出的實現留給了使用者,這樣可以更好的使I/O與特定的機器相匹配。

printf

轉換說明符

轉換說明 輸出 %a 浮點數、十六進制數和p-計數法(C99) %A 浮點數、十六進制數和p-計數法(C99) %c 一個字符 %d 有符號十進制數 %e 浮點數、e-計數法 %E 浮點數、E-計數法 %f 浮點數、十進制計數法 %g 根據數值不同自動選擇%f或%e。%e格式在指數小於-4活著打掩護等於精度時使用 %G 根據數值不同自動選擇%f或%E。%e格式在指數小於-4活著打掩護等於精度時使用 %i 有符號十進制整數(與%d相同) %o 無符號八進制整數 %p 指針 %s 字符串 %u 無符號十進制整數 %x 使用十六進制數字0f和無符號十六進制整數 %X 使用十六進制數字0f和無符號十六進制整數 %% 打印一個百分號

 

修飾符

 修飾符  意義  標志

五種標志(-、+、空格、#和0)

示例:%-19d

digit(s)

字段寬度的最小值,如果該字段不能容納要打印的數或字符串,系統會用更寬的字段

示例:%4d

.digit(s)

精度

示例:%3.2f,打印一個浮點數,他的字段寬度是3,小數點後有兩個數字

h

和整數轉換說明符一起使用,表示一個short int或者unsigned short int類型數值

示例:%hu    %hx    %6.4h

hh

和整數轉換說明符一起使用,表示一個signed char或 unsigned char類型數值

示例:%hhu

j

和整數轉換說明符一起使用,表示一個intmax_t或uintmax_t值

示例:%jd     %8jd

l

和整數轉換說明符一起使用,表示一個long int或unsigned long int類型值

示例:%ld

ll

和整數轉換說明符一起使用,表示一個long long int或unsigned long long int類型值  (C99)

示例:%lld

L

和浮點轉換說明符一起使用,表示一個long double值

示例:%Lf

t

和整數轉換說明符一起使用,表示一個ptrdiff_t值(與兩個指針之間的差相對應的值)(C99)

示例:%td  %12ti

z

和整數轉換說明符一起使用,表示一個size_t值(sizeof返回的類型)(C99)

示例:%zd

 

標志 意義 - 項目是左對齊 + 有符號的值若為正,則顯示帶加號的符號,若為負,則帶減號符號 (空格) 有符號的值若為正,則顯示時帶前導空格(但是不顯示符號),若為負,則帶減號符號。+標志會覆蓋空格標志 # 使用轉換說明的可選形式 0 對於所有的數字格式,用前導零而不是用空格填充字段寬度。如果出現-標志或指定了精度(對於整數)則忽略該標志

scanf

轉換說明符和修飾符與printf大多相同

scanf()的返回值是成功讀入的項目的個數。當它檢測到“文件結尾”(End of File)是,它返回EOF(EOF是在stdio.h中定義的特殊值,一般定義為-1)

 

printf和scanf的*修飾符

假定不想事先指定字段寬度,而是希望程序指定該值,那麼就可以在字段寬度部分使用*代替數字來達到目的

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved