c语言格式化输入字符型,C语言——字符串和格式化输入/输出
今天,學習了C Primer Plus的第四章。本章講解了一些簡單的C預處理器的知識,一些字符、字符串以及數組等相關概念以及輸入輸出函數的使用。
現將知識點總結如下:
字符串:一個或多個字符的序列(雙引號不是字符串的一部分)
空字符(\0):標記字符串的結束? ? C中,一定以空字符結束,存儲單元比儲存的字符多一個
數組:同類型數據元素的有序序列
%s轉換說明,scanf()只會讀取字符串中的一個單詞,而不是一整句
比較字符串常量“x”和字符常量‘x’:‘x’是基本類型(char);“x”是派生類型(char數組),實際由兩個字符組成:‘x’和\0
strlen()函數:給出字符串中的字符長度(不計算空字符)
sizeof和strlen()的轉換說明:%zd
#include 提供strlen()函數等多個與字符串相關的函數原型
預處理器定義常量:#define NAME value (用該方式定義的常量稱為明示常量;通常用大寫字母表示符號常量;在名稱前帶c_或k_前綴來表示常量)
編譯時替換:編譯程序時,所有的NAME都被替換為value
%n.mf的打印格式:n表示字符寬度,m表示小數點后的位數
#define 指令還可定義字符和字符串常量
const限定符:限定一個變量為只讀
轉換說明:指定如何把數據轉換(翻譯)成可顯示的形式(p81)(把以二進制格式儲存在計算機中的值轉換成一系列字符以便于顯示)
printf()函數的格式:printf(格式字符串,待打印項1,待打印項2,......);
格式字符串包括實際要打印的字符以及轉換說明
在%和轉換字符之間插入修飾符可修飾基本的轉換說明(printf()的修飾符 p83 scanf()的修飾符 p93)
返回值:函數計算并返回給主調程序的值
printf()函數也有 一個返回值,它返回打印字符的個數(包括空格和不可見的換行符\n)
用反斜杠(\)和Enter(或Return)鍵組合來斷行。這使得光標移植下一行,而且字符串中不會包含換行符
scanf()中的格式字符串表明字符輸入流的目標數據類型
scanf()讀取基本變量類型的值,在變量名前加一個&;把字符串讀入字符數組中,不使用&
當scanf()把字符串放進指定數組中時,它會在字符序列的末尾加上‘\0’,讓數組中的內容成為一個C字符串
scanf()函數返回成功讀取的項數
printf()函數中的*修飾符代替字段寬度,scanf()函數中的*修飾符會使scanf()跳過相應的輸出項
空白:包括空格、制表符和換行符。C語言使用空白分隔記號。scanf()使用空白分隔連續的輸入項
練習:
假設一個程序的開頭是這樣:
#define BOOK "War and Peace"
int main (void)
{
float cost =12.99;
float percent = 80.0;
請構造一個使用BOOK、cost 和percent的printf()語句,打印以下內容:
This copy of "War and Peace" sells for $12. 99.
That is 80% of list.
代碼:
#define _CRT_SECURE_NO_WARNINGS
#define BOOK "War and Peace"
#include
#include
int main(){
float cost = 12.99;
float percent = 80.0;
printf("This copy of \"BOOK\" sells for %.2f\n", cost);
printf("That is %.0f%% of list", percent);
system("pause");
return 0;
}
運行結果:
總結
以上是生活随笔為你收集整理的c语言格式化输入字符型,C语言——字符串和格式化输入/输出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 位示图 c语言程序,位示图模拟文件系统
- 下一篇: c语言样本,C语言样本教案 第二章