0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

C言語 標準関数 リスト(基礎)

Posted at

はじめに

 この記事はIT分野について1から学び始めて9か月程度の学生が、C言語の標準関数について自分なりにまとめたものです。
 学習しているときに、以前使った標準関数も忘れてしまっていることがあったので一度リストしてみました。また、調べる中で自分なりに覚えておきたいと思ったものは、初めて知った関数もリストに加えました。

stdio.h

standardI/O(標準入出力)の略で、入出力に関する標準関数が多い

標準入出力
・int printf(const char*) 
  標準出力へ出力する
・int scanf(const char*) 
  標準入力から入力する
・int puts(const char*)
  標準出力へ1行で出力する(最後に自動的に改行される)

ファイル操作
・FILE fopen(const char,const char*) 
  1つ目の引数で指定されたファイルを2つ目で指定されたファイルモードで開く
・int fclose(FILE*)
  引数で指定されたファイルポインタで示されたファイルを閉じる
・int fprintf(FILE*,const char*)
  ファイルへ出力する
・int fscanf(FILE*,const char*)
  ファイルから入力する
・int fputs(const char*,FILE*)
  1つ目の引数で与えられた文字列を2つ目の引数で指定したファイルポインタが示すファイルに出力する
・char fgets(char,int,FILE*)
  3つ目の引数で指定したファイルポインタが示すファイルから、1つ目で指定したchar型配列に入力する(2つ目の引数は最大文字列長)

文字列からの入出力
・int sprintf(char*,const char*)
  2つ目の引数のフォーマットに従って、文字列を1つ目の引数に出力(代入)する
・int sscanf(const char*,const char*)
  2つ目の引数のフォーマットの従って、1つ目の引数の文字列から入力する

stdlib.h

standard library(標準ライブラリ)の略で、汎用性の高いものが多い

メモリ領域
・void *malloc(size_t)
  引数で指定したサイズの領域を確保する
・void *calloc(size_t,size_t)
  2つ目の引数で指定したサイズの領域を、1つ目の引数で指定した個数分だけ確保する
・void free(void *)
  確保した領域を解放する

乱数
・void srand(unsigned int)
  引数(例:time)を用いて乱数表を作成する
・int rand(void)
  疑似乱数を返す(0~RAND_MAXの値。RAND_MAXはstdlib.hの中でdefineされている)

文字列→数値
・int atoi(const char*)
  文字列をint型に変換する
・long atol(const char*)
  文字列をlong型の変換する
・double atof(const char*)
  文字列をdouble型に変換する

絶対値(整数)
・int abs(int)
  引数の絶対値を返す

string.h

string(文字列)に関する標準関数が含まれる

文字列のコピー
・char strcpy(char,const char*)
  2つ目の引数に指定した文字列を1つ目の引数に指定した文字列に複製する
・char strncpy(char,const char*,size_t)
  先頭から3つ目の引数で指定した文字数分だけを、2つ目の引数で指定した文字列を1つ目の引数に指定した文字列に複製する

文字列の連結
・char strcat(char,const char*)
  2つ目の引数に指定した文字列を1つ目の引数に指定した文字列の後ろに連結する
・char strncat(char,const char*,size_t)
  3つ目の引数で指定した文字数分だけ2つ目の引数に指定した文字列を、1つ目の引数に指定した文字列の後ろに連結する

文字列の比較
・int strcmp(const s1,const char s2)
  1つ目と2つ目の引数で指定された文字列を比較する
・int memcmp(const void
,const void
,size_t)
  3つ目の引数で指定された分だけ、1つ目と2つ目のメモリ領域を比較する

文字列の長さ
・size_t strlen(const char*)
  引数に指定された文字列の長さを返す

math.h

math(数学)に関する標準関数が含まれる

絶対値(小数)
・double fabs(double)
  引数に指定された少数の絶対値を返す

三角関数
・double sin(double)
  sinを計算する
・double cos(double)
  cosを計算する
・double tan(double)
  tanを計算する

対数
・double log(double)
  自然対数を計算する
・double log2(double)
  底が2の対数を計算する
・double log10(double)
  常用対数を計算する

指数
・double exp(double)
  引数の値をxとした時のe^xを計算する
・double pow(double,double)
  1つ目の引数の値をx,2つ目の引数の値をyとした時のx^yを計算する
・double sqrt(double)
  引数の値の平方根を計算する
・double cbrt(double)
  引数の値の立方根を計算する

time.h

time(時間)に関する標準関数が含まれる

時刻
・time_t time(time_t*)
  時刻を返す(値はUNIX時間になっているため、tm構造体とlocaltime関数などで変換するもよし。今回は省略。)
・double difftime(time_t,time_t)
  2つの引数の時刻の差を返す

ctype.h

知っているとより簡潔なコードが書ける標準関数が含まれる

判定
・int isalnum(int)
  引数がA-Zまたはa-zまたは0-9の時true(真)となり、それ以外の時はfalse(偽)となる
・int isalpha(int)
  引数がA-Zまたはa-zの時true(真)となり、それ以外の時はfalse(偽)となる
・int isdigit(int)
  引数が0-9の時true(真)となり、それ以外の時はfalse(偽)となる
・int islower(int)
  引数がa-zの時true(真)となり、それ以外の時はfalse(偽)となる
・int isupper(int)
  引数がA-Zの時true(真)となり、それ以外の時はfalse(偽)となる
・isspace
  引数が空白文字の時true(真)となり、それ以外の時はfalse(偽)となる

大文字、小文字変換
・int tolower(int)
  引数がA-Zの時アルファベットを小文字にする
・int toupper(int)
  引数がa-zの時アルファベットを大文字にする

最後に

 まとめてみると、知らなかったものもあったりして覚えるいい機会になりました。また、ここにまとめた標準関数は基礎であり、ほんの一部に過ぎないので少しずつでも自分の知識を増やしていきたいです。
 これから他言語も学んでいくので、もし久しぶりにC言語に触れたときに忘れてしまっていたら、このリストを見返します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?