C言語文字列とフォーマット入出力
14662 ワード
1.プリアンブル
2.文字列について
(1)文字列は、1つ以上の文字のシーケンスです.「I am a student!」のようです.
(2)C言語は文字列の終わりを空文字で表記する.配列のセル数は、格納する文字数より少なくとも1多い必要があります.
(3)文字列と文字.'x'と「x」の違い(後者は文字列が「x」と「0」からなる).
(4)Sizeof()とstrlen()関数.同じ文字列で、sizeof()はフラグ文字列の末尾の空の文字を計算し、strlen()より1大きい. strlen()は、文字単位で文字列の長さを与えます.sizeof()は配列の長さ(割り当てられたメモリセル)を与える. は、1つのタイプの大きなサイズを取得する~特定の量のサイズを取得する.sizeof(char)とsizeof(name)=sizeof name.
3.定数およびCプリプロセッサ
(1)定数は0.015である.float taxrate=0.015.定数0.015を変数taxrateに割り当てますが、プログラムは意外に値を変更する可能性があります.
(2)2つの方法const修飾子と#define前処理コマンド const int MONTHS=12; #define MONTHS +12;(#define TEE 'T')(#define OOPS "Now you have it!")
4.printf()関数
(1)printf():(「制御記述」+変数リスト)~(変数は変数、定数、式にかかわらず値を使用する)
(2)printf()変換説明子:%c--1文字、%d--符号付き10進数整数、%e--浮動小数点数e記数法、%f-浮動小数点数10進数、%p--ポインタ、%%--1%、%s--文字列を印刷...:不一致の変換を避けてください.
(3)printf()フラグ:-(左揃え)、+(記号付き)、#(...)、0(すべての数値フォーマットに対して、フィールド幅を先頭0で埋めます)文字列の最初の8文字を印刷します.フィールド幅は8文字(%8.8 s) です.二重引用符「....」 を印刷は、パラメータリストにおいて指定するフィールド幅の8進数整数(%*0)を印刷する. %5d(00006) 固定フィールド幅(オーバーフロー防止効果) を指定する.
(4)printf()で長い文字列を印刷する
a.複数のprintf()関数を採用する.
b.printf()に()とリターンキーを採用する
c.文字列接続方法を採用する(「Hello」「world」)
(5)printf()の関数戻り値(印刷された文字の数を返し、出力が間違っている場合は-1を返し、出力エラーをチェックするのによく使われます.画面ではなくファイルに)
5.scanf()関数
(1)scanf()は、最初の空白文字スペース、タブ、または改行文字に遭遇したときに読み取りを停止します.~gets()関数は、文字列を読み込むために使用できます.
(2)変数タイプの値に&を加え、文字列を1文字配列に読み込んで使用しない&.
(3)scanf("%d,%d",&n,&m)入力1,2{scanf("%c",&ch)入力で出会った最初の文字を読み取る
6.修飾子について* printf()では、 の代わりにフィールド幅部分に*を使用します.
scanf()で*関数を対応する出力項目をスキップさせる(scanf(「%*d%*d%d」,&n);最初の2つはスキップ)
1 #include<stdio.h>
2 #include<string.h> //1 strlen()
3 #define DENSITY 62.4 //2
4 int main(void)
5 {
6 float weight,volume;
7 int size,letters;
8 char name[40]; //3 40
9
10 printf("Hi! What's your first name?
");
11 scanf("%s",name);
12 printf("%s,What's your weight in pounds?
",name);
13 scanf("%f",&weight);
14 size=sizeof name; //4 name[]
15 letters=strlen(name);//5 strlen()
16 volume=weight/DENSITY;
17 printf("well,%s,your volume is %2.2f cubic feet.
",name,volume);//%2.2f 2,
18 printf("Also,your first name has %d letters,
",letters);
19 printf("and we have %d bytes to store it in.
",size);
20 return 0;
21 }
2.文字列について
(1)文字列は、1つ以上の文字のシーケンスです.「I am a student!」のようです.
(2)C言語は文字列の終わりを空文字で表記する.配列のセル数は、格納する文字数より少なくとも1多い必要があります.
(3)文字列と文字.'x'と「x」の違い(後者は文字列が「x」と「0」からなる).
(4)Sizeof()とstrlen()関数.
1 sizeof() strlen()
2 #include<stdio.h>
3 #include<string.h>
4 #define PRAISE "What a super marvelous name!"
5 int main(void)
6 {
7 char name[40];
8 printf("What's your name?
");
9 scanf("%s",name);
10 printf("Hello,%s.%s
",name,PRAISE);
11 printf("Your name of %d letrers occupies %d memory cells.
",
12 strlen(name),sizeof(name));//sizeof name
13 printf("The phrase of praise has %d letters",
14 strlen(PRAISE));
15 printf("and occupies %d memory cells.
",sizeof(PRAISE));//sizeof PRAISE
16 return 0;
17 }
3.定数およびCプリプロセッサ
(1)定数は0.015である.float taxrate=0.015.定数0.015を変数taxrateに割り当てますが、プログラムは意外に値を変更する可能性があります.
(2)2つの方法const修飾子と#define前処理コマンド
4.printf()関数
(1)printf():(「制御記述」+変数リスト)~(変数は変数、定数、式にかかわらず値を使用する)
(2)printf()変換説明子:%c--1文字、%d--符号付き10進数整数、%e--浮動小数点数e記数法、%f-浮動小数点数10進数、%p--ポインタ、%%--1%、%s--文字列を印刷...:
(3)printf()フラグ:-(左揃え)、+(記号付き)、#(...)、0(すべての数値フォーマットに対して、フィールド幅を先頭0で埋めます)
(4)printf()で長い文字列を印刷する
a.複数のprintf()関数を採用する.
b.printf()に()とリターンキーを採用する
c.文字列接続方法を採用する(「Hello」「world」)
1 printf()
2 #include<stdio.h>
3 int main(void)
4 {
5 printf("Here's one way to print a ");
6 printf("long string.
");//a
7 printf("Here's another way to print a \
8 long string.
");//b
9 printf("Here's the newest way to print a "
10 "long string.
");//c
11 return 0;
12 }
(5)printf()の関数戻り値(印刷された文字の数を返し、出力が間違っている場合は-1を返し、出力エラーをチェックするのによく使われます.画面ではなくファイルに)
1 printf()
2 #include<stdio.h>
3 int main(void)
4 {
5 int bph2o=212;
6 int rv;
7
8 rv=printf("%d F is water's boiling point.
",bph2o);
9 printf("The printf()function printed %d characters.
",rv);
10 return 0;
11 }
5.scanf()関数
(1)scanf()は、最初の空白文字スペース、タブ、または改行文字に遭遇したときに読み取りを停止します.~gets()関数は、文字列を読み込むために使用できます.
(2)変数タイプの値に&を加え、文字列を1文字配列に読み込んで使用しない&.
(3)scanf("%d,%d",&n,&m)入力1,2{scanf("%c",&ch)入力で出会った最初の文字を読み取る
6.修飾子について*
1
2 #include<stdio.h>
3 int main(void)
4 {
5 unsigned width,precision;
6 int number=256;
7 double weight=242.5;
8
9 printf("What field width?
");
10 scanf("%d",&width);
11 printf("The number is :%*d:
",width,number);
12 printf("Now enter a width and a precision:
");
13 scanf("%d%d",&width,&precision);
14 printf("Weight=%*.*f
",width,precision,weight);
15 return 0;
16 }