文字配列
3.文字配列
a.文字配列の定義方法
文字データを格納する配列は文字配列です.文字配列の要素には文字が格納されます.char c[10]; c[0]='I'; c[1]=''; c[2]='a'; c[3]='m'; c[4]=''; c[5]='h'; c[6]='a'; c[7]='p'; c[8]='p'; c[9]='y';
b.文字配列の初期化
char c[10]={'I','','a','m','','h','a','p','p','y'};
空の文字('0')
2 D文字配列を定義して初期化します.たとえば、char diamond[5][5]={','*'},{','*','*','*',',',','*',','*'},{','*','*'},{','*',','*'};
c.文字配列の要素をどのように参照するか
既知の文字列を出力
菱形図を出力
d.文字列および文字列終了フラグC言語は、終了フラグとして「文字列終了フラグ」を規定している.
e.文字配列の入出力//文字ごとの入出力.「%c」で文字を入力または出力します.//文字列全体を一度に入力または出力します.「%s」形式の文字列(string)の入出力を使用します.
f.文字列処理関数1を用いる.puts関数-文字列を出力する関数一般的な形式はputs(文字配列)であり、1つの文字列('0'で終了した文字シーケンス)を端末に出力する役割を果たす.
2.gets関数-入力文字列の関数一般形式はgets(文字配列)であり、端末から文字列を文字配列に入力し、関数値を得る役割を果たす.
3.strcat関数-文字列接続関数一般的な形式はstrcat(文字配列1、文字配列2)strcatはSTRing CA Tenate(文字列接続)の略である.2つの文字配列の文字列を接続する役割を果たします.
4.strcpyおよびstrncpy関数-文字列レプリケーション関数は、一般的にstrcpy(文字配列1、文字列2)strcpyがSTRingCoPY(文字列レプリケーション)の略である.これは、文字列2を文字配列1にコピーする「文字列コピー関数」を表します.
5.strcmp関数-文字列比較関数一般形式strcmp(文字列1、文字列2)strcmpはSTRing CoMPare(文字列比較)の略である.文字列1と文字列2を比較する役割を果たす.
6.strlen関数-文字列の長さを測定する関数一般的な形式はstrlen(文字配列)strlenはSTRing LENgth(文字列の長さ)の略である.文字列の長さをテストする関数です.関数の値は文字列の実際の長さです('0'を除く)
7.strlwr関数-小文字に変換される関数一般的な形式はstrlwr(文字列)strlwrはSTRing LoWeRcase(文字列小文字)の略である.関数の役割は、文字列の大文字を小文字に変換することです.
8.strupr関数-大文字に変換された関数は、一般的にstrupr(文字列)struprがSTRing UPpeRcase(文字列大文字)の略である.
g.文字配列適用例1行の文字を入力し、その中にどれだけの単語があるかを統計し、単語間をスペースで区切る.
3つの文字列があり、その中の最大者を見つける必要があります.
a.文字配列の定義方法
文字データを格納する配列は文字配列です.文字配列の要素には文字が格納されます.char c[10]; c[0]='I'; c[1]=''; c[2]='a'; c[3]='m'; c[4]=''; c[5]='h'; c[6]='a'; c[7]='p'; c[8]='p'; c[9]='y';
b.文字配列の初期化
char c[10]={'I','','a','m','','h','a','p','p','y'};
空の文字('0')
2 D文字配列を定義して初期化します.たとえば、char diamond[5][5]={','*'},{','*','*','*',',',','*',','*'},{','*','*'},{','*',','*'};
c.文字配列の要素をどのように参照するか
既知の文字列を出力
- #include "stdafx.h"
-
-
- int _tmain(int argc, _TCHAR* argv[])
- {
- char c[15]={'I',' ','a','m',' ','a',' ','s','t','u','d','e','n','t','.'};
- int i;
- for(i=0;i<15;i++)
- printf("%c",c[i]);
- printf("
");
- return 0;
- }
菱形図を出力
- #include "stdafx.h"
-
-
- int _tmain(int argc, _TCHAR* argv[])
- {
- char diamond[][5]={{' ',' ','*'},{' ','*',' ','*'},{'*',' ',' ',' ','*'},
- {' ','*',' ','*',},{' ',' ','*'}};
- int i,j;
- for (i=0;i<5;i++)
- {for (j=0;j<5;j++)
- printf("%c",diamond[i][j]);
- printf("
");
- }
- return 0;
- }
d.文字列および文字列終了フラグC言語は、終了フラグとして「文字列終了フラグ」を規定している.
e.文字配列の入出力//文字ごとの入出力.「%c」で文字を入力または出力します.//文字列全体を一度に入力または出力します.「%s」形式の文字列(string)の入出力を使用します.
f.文字列処理関数1を用いる.puts関数-文字列を出力する関数一般的な形式はputs(文字配列)であり、1つの文字列('0'で終了した文字シーケンス)を端末に出力する役割を果たす.
2.gets関数-入力文字列の関数一般形式はgets(文字配列)であり、端末から文字列を文字配列に入力し、関数値を得る役割を果たす.
3.strcat関数-文字列接続関数一般的な形式はstrcat(文字配列1、文字配列2)strcatはSTRing CA Tenate(文字列接続)の略である.2つの文字配列の文字列を接続する役割を果たします.
4.strcpyおよびstrncpy関数-文字列レプリケーション関数は、一般的にstrcpy(文字配列1、文字列2)strcpyがSTRingCoPY(文字列レプリケーション)の略である.これは、文字列2を文字配列1にコピーする「文字列コピー関数」を表します.
5.strcmp関数-文字列比較関数一般形式strcmp(文字列1、文字列2)strcmpはSTRing CoMPare(文字列比較)の略である.文字列1と文字列2を比較する役割を果たす.
6.strlen関数-文字列の長さを測定する関数一般的な形式はstrlen(文字配列)strlenはSTRing LENgth(文字列の長さ)の略である.文字列の長さをテストする関数です.関数の値は文字列の実際の長さです('0'を除く)
7.strlwr関数-小文字に変換される関数一般的な形式はstrlwr(文字列)strlwrはSTRing LoWeRcase(文字列小文字)の略である.関数の役割は、文字列の大文字を小文字に変換することです.
8.strupr関数-大文字に変換された関数は、一般的にstrupr(文字列)struprがSTRing UPpeRcase(文字列大文字)の略である.
g.文字配列適用例1行の文字を入力し、その中にどれだけの単語があるかを統計し、単語間をスペースで区切る.
- #include "stdafx.h"
-
-
- int _tmain(int argc, _TCHAR* argv[])
- {
- char string[81];
- int i,num=0,word=0;
- char c;
- gets_s(string);
- for(i=0;(c=string[i])!='\0';i++)
- if(c==' ') word=0;
- else if(word==0)
- {word=1;
- num++;
- }
- printf("There are %d words in this line.
",num);
- return 0;
- }
3つの文字列があり、その中の最大者を見つける必要があります.
- #include "stdafx.h"
- #include "string.h"
-
-
- int _tmain(int argc, _TCHAR* argv[])
- {
- char str[3][20];
- char string[20];
- int i;
- for (i=0;i<3;i++)
- gets_s(str[i]);
- if (strcmp(str[0],str[1])>0)
- strcpy_s(string,str[0]);
- else
- strcpy_s(string,str[1]);
- if(strcmp(str[2],string)>0)
- strcpy_s(string,str[2]);
- printf("
the largest string is:
%s
",string);
- return 0;
- }