C言語-超基本その4-

C言語独学の超基本のメモ、4回目。

文字列について。

C言語には、文字列型(string型)がないので、文字列を配列で扱う。

文字変数

文字を1文字だけ格納できる変数。

char 変数名 = ‘アルファベット1文字’; ←ここは「シングルクォーテーション」

char と アルファベット1文字は1バイトになる。

#include <stdio.h>
int main (void){
  char c = 'A';
  printf("%c",c);
  return 0;
}
//実行するとAが表示される。
文字列を変数で扱う

c言語で複数の文字を変数として扱うには、配列を利用する。

char 変数名 [文字数+1] = {‘1文字目’,‘2文字目’,’\0’};

配列の終わりには \0 を付ける。 \0:終端文字(end of statement)

#include <stdio.h>
int main (void){
  char str [5] = {'l','u','k','a','\0'};
  printf("%s",str);
  return 0;
}
//実行するとlukaが表示される。
文字列の初期化

配列の宣言と文字列の代入を同時にする。

#include <stdio.h>
int main (void){
  char str1 [5] = {'l','u','k','a','\0'}; //こちらは手間。
  printf("%s\n",str1);
  char str2 [] = "luka"; //こちらのほうが簡単だが、後から文字を変更できない。
  printf("%s\n",str2);
  return 0;
}
//実行するとlukaが表示される。
atoi関数
  • atoi関数:ASCII to Integer (int型の関数)
  • atod関数:ASCII to Double (double型の関数)
  • atof関数:ASCII to Float (float型の関数)
  • atol関数:ASCII to Long (long型の整数)

〇atoi関数 int 数値へ変換する変数名 = atoi(文字列だった変数名);

#include <stdio.h>
#include <stdlib.h>

int main (void){
  char str [] = "200";
  int suuti = atoi (str);
  printf("%d",suuti);
  return 0;
}
//実行すると200が表示される。
#include <stdio.h>
#include <stdlib.h>

int main (void){
  char str [] = "3.14";
  double suuti = atoi (str);
  printf("%f",suuti);
  return 0;
}
//実行すると3.14が表示される。
strcpy関数

string copy:文字列のコピーを行うための関数。

strcpy (コピー先の配列名, コピー元の文字 or 配列); //右側のテキストを左側の配列に代入

#include <stdio.h>
#include <string.h>

int main (void){
  char str [10];
  strcpy(str, "LUKA"); //LUKAをstrに代入
  printf("%s",str);
  return 0;
}
//実行するとLUKAが表示される。
strcat関数

string concatenate→文字列の連結を行う関数

strcat(配列名1、配列名2)

#include <stdio.h>
#include <string.h>

int main (void){
  char str1 [15] = "Hello"; //要素数を大き目に確保しておく
  char str2 [] = "World";
  strcat(str1, str2); 
  printf("%s",str1);
  return 0;
}
//実行するとHelloWorldと表示される。
sprintf関数

string print formatted(書式付きで文字列出力)→あらゆる文字列を合成できる万能関数

sprintf(結果を格納する配列、“変換指定子”,変数,配列);

#include <stdio.h>
#include <string.h>

int main (void){
  char str [20];
  char str1 [] = "Hello";
  char str2 [] = "World";
  int i = 2;
  sprintf(str, "%s%s%d", str1,str2,i); 
  printf("%s",str);
  return 0;
}
//実行するとHelloWorld2と表示される。
strlen関数

string length→文字列の長さをカウント

#include <stdio.h>
#include <string.h>

int main (void){
  char str [256];
  scanf("%s", str);
  int i;
  i = strlen(str);
  printf("%d",i);
  return 0;
}
//キーボードで打ち込んだ文字数をカウントできる。

今回も、こちらの動画を参照しました。