パソコンの隣ですぐに読める
書籍版苦C
整数 開始(空) { 戻る 0; }
#プラグイン <入出力>
整数 開始(空)
{
表示("こんにちは世界");
戻る 0;
}
#プラグイン <入出力>
整数 開始(空)
{
表示("%d", 100);
戻る 0;
}
#プラグイン <入出力>
整数 開始(空)
{
表示("%d\n", 10 + 3);
表示("%d\n", 10 - 3);
表示("%d\n", 10 * 3);
表示("%d\n", 10 / 3);
表示("%d\n", 10 % 3);
戻る 0;
}
#プラグイン <入出力>
整数 開始(空)
{
表示("%f\n", 10.0 + 3.0);
表示("%f\n", 10.0 - 3.0);
表示("%f\n", 10.0 * 3.0);
表示("%f\n", 10.0 / 3.0);
戻る 0;
}
#プラグイン <入出力>
整数 開始(空)
{
整数 value; /* 変数宣言の部分 */
value ← 10; /* 代入の部分 */
表示("%d\n", value); /* 表示の部分 */
戻る 0;
}
#プラグイン <入出力>
整数 開始(空)
{
整数 left;
整数 right;
left ← 10;
right ← 3;
表示("%d\n", left + right);
表示("%d\n", left - right);
表示("%d\n", left * right);
表示("%d\n", left / right);
表示("%d\n", left % right);
戻る 0;
}
#プラグイン <入出力>
整数 開始(空)
{
実数 left, right;
left ← 10;
right ← 3;
表示("%f\n", left + right);
表示("%f\n", left - right);
表示("%f\n", left * right);
表示("%f\n", left / right);
戻る 0;
}
#プラグイン <入出力>
整数 開始(空)
{
整数 data;
キーボード入力("%d", &data); /* 入力部分 */
表示("%d\n", data);
戻る 0;
}
#プラグイン <入出力>
整数 開始(空)
{
整数 min, max, sum;
/* 入力部分 */
表示("最小値と最大値を , で区切って入力して下さい。:");
キーボード入力("%d , %d", &min, &max);
/* 計算部分 */
sum ← (min + max) * (max - min + 1) / 2;
/* 表示部分 */
表示("%d~%d の合計は %d です。\n", min, max, sum);
戻る 0;
}
#プラグイン <入出力>
整数 開始(空)
{
整数 score;
表示("点数を入力して下さい:");
キーボード入力("%d", &score);
もし(score > 100)
{
表示("入力が 100 より大きいので修正します。\n");
score ← 100;
}
表示("点数は %d 点です。\n", score);
戻る 0;
}
#プラグイン <入出力>
整数 開始(空)
{
整数 age;
表示("年齢:");
キーボード入力("%d", &age);
もし(age <= 3) {
表示("幼児:無料\n");
} ではなくて (age <= 12) {
表示("子供:250円\n");
}違う{
表示("大人:400円\n");
}
戻る 0;
}
#プラグイン <入出力>
整数 開始(空)
{
整数 no;
キーボード入力( "%d", &no);
場合分け(no) {
場合 1:
表示( "野比のび太\n");
ブロック脱出;
場合 2:
表示( "源静香\n");
ブロック脱出;
場合 3:
表示( "剛田武\n");
ブロック脱出;
場合 4:
表示( "骨川スネ夫\n");
ブロック脱出;
その他:
表示( "そんな番号の人はいない\n");
ブロック脱出;
}
戻る 0;
}
#プラグイン <入出力>
整数 開始(空)
{
整数 i, price;
キーボード入力( "%d", &price);
回数繰り返し(i ← 1; i <= 9; i++) {
表示( "%d割引 = %d\n", i, (整数) (price * ((10.0 - i) / 10)));
}
戻る 0;
}
#プラグイン <入出力>
整数 開始(空)
{
実数 money ← 1;
整数 month ← 1;
条件繰り返し(money < 1000000) {
表示( "%02d 月目 : %7.0f 円\n", month, money);
money *= 2;
month++;
}
表示( "%02d 月目 に %7.0f 円となり、100万円を超える。\n", month, money);
戻る 0;
}
#プラグイン <入出力>
整数 開始(空)
{
整数 r;
実数 s;
最低1回繰り返し{
表示( "半径?:");
キーボード入力( "%d", &r);
}条件繰り返し(r < 0);
s ← r * r * 3.14;
表示( "面積は %f です。\n", s);
戻る 0;
}
#プラグイン <入出力>
整数 開始(空)
{
整数 year ← 0;
実数 money ← 10000;
条件繰り返し(money < 15000) {
year++;
money *= 1.01;
}
表示("%d , %f\n", year, money);
戻る 0;
}
#プラグイン <入出力>
#プラグイン <文字列>
整数 開始(空)
{
字 str1[12] ← "DRAGON";
字 str2[] ← "QUEST";
文字列連結(str1, str2);
表示("%s\n", str1);
戻る 0;
}
#プラグイン <入出力>
#プラグイン <文字列>
型定義 データ
{
整数 year;/* 学年 */
整数 clas;/* クラス */
整数 number;/* 出席番号 */
字 name[64];/* 名前 */
実数 stature;/* 身長 */
実数 weight;/* 体重 */
} student;
空 student_print(student *data);
整数 開始(空)
{
student data;
data.year ← 3;
data.clas ← 4;
data.number ← 18;
文字列コピー(data.name, "MARIO");
data.stature ← 168.2;
data.weight ← 72.4;
student_print(&data);/* アドレスで呼び出す */
戻る 0;
}
空 student_print(student *data)
{
表示("[学年]:%d\n", data->year);/* ->記号でアクセス */
表示("[クラス]:%d\n", data->clas);
表示("[出席番号]:%d\n", data->number);
表示("[名前]:%s\n", data->name);
表示("[身長]:%f\n", data->stature);
表示("[体重]:%f\n", data->weight);
戻る;
}
#プラグイン <入出力>
#プラグイン <文字列>
型定義 データ
{
整数 year;/* 学年 */
整数 clas;/* クラス */
整数 number;/* 出席番号 */
字 name[64];/* 名前 */
実数 stature;/* 身長 */
実数 weight;/* 体重 */
} student;
空 student_print(student *data);
整数 開始(空)
{
student data;
data.year ← 3;
data.clas ← 4;
data.number ← 18;
文字列コピー(data.name, "MARIO");
data.stature ← 168.2;
data.weight ← 72.4;
student_print(&data);/* アドレスで呼び出す */
戻る 0;
}
空 student_print(student *data)
{
表示("[学年]:%d\n", data->year);/* ->記号でアクセス */
表示("[クラス]:%d\n", data->clas);
表示("[出席番号]:%d\n", data->number);
表示("[名前]:%s\n", data->name);
表示("[身長]:%f\n", data->stature);
表示("[体重]:%f\n", data->weight);
戻る;
}
日本語命令 | 本来のC言語 | 使用例 |
---|---|---|
#プラグイン | #include | #プラグイン <文字列> |
表示 | printf | 表示("%d", 100); |
← | = | 整数 score ← 123; |
もし | if | もし(score > 100) {} |
整数 | int | 整数 score ← 123; |
戻る | return | 戻る 0; |
#置換 | #define | #置換 PI 3.14 |
ブロック脱出 | break | ブロック脱出; |
場合 | case | case 5; |
字 | char | 字 c ← 'A'; |
継続 | continue | 継続; |
その他 | default | その他: |
最低1回繰り返し | do | 最低1回繰り返し {} 条件繰り返し( i == 0 ); |
実数 | double | 実数 f = 1.2345678; |
違う | else | もし (i == 0) {} 違う {}; |
リスト | enum | リスト COLOR { RED , BLUE , YELLOW }; |
公開 | extern | 公開 整数 value ← 123; |
半精度実数 | float | 半精度実数 f ← 1.2f; |
回数繰り返し | for | 回数繰り返し(i ← 1; i <= 9; i++) {} |
例外処理 | goto | 例外処理 ERROR; |
長整数 | long | 長整数 score ← 123; |
短整数 | short | 短整数 short ← 1; |
符号有 | signed | 符号有 整数 value ← -100; |
符号無 | unsigned | 符号無 整数 value ← 100; |
サイズ | sizeof | サイズ(array); |
静的 | static | 静的 整数 value ← 1; |
データ | struct | 型定義 データ { 整数 year; } student; |
場合分け | switch | 場合分け(no) {} |
型定義 | typedef | typedef 整数 tYen; |
共用体 | union | 共用体 tUnion { 実数 x; 整数 y; }; |
空 | void | 整数 開始(空){} |
条件繰り返し | while | 条件繰り返し(money < 1000000) {} |
ではなくて | else if | もし(age <= 3) {} ではなくて (age <=12) {}違う{}; |
キーボード | stdin | ファイルから文字列を読む(buf, サイズ(buf), キーボード); |
画面 | stdout | ファイルに文字を保存('A' , 画面); |
エラー画面 | stderr | ファイルに文字を保存('E' , エラー画面); |
ファイルを開く | fopen | file ← ファイルを開く("test.txt", "w"); |
ファイルを閉じる | fclose | ファイルを閉じる(file); |
ファイルから文字を読む | fgetc | 整数 value ← ファイルから文字を読む( file ); |
ファイルから文字列を読む | fgets | ファイルから文字列を読む(buf, サイズ(buf), file); |
ファイルに文字を保存 | fputc | ファイルに文字を保存('A',file); |
ファイルに文字列を保存 | fputs | ファイルに文字列を保存("ABCDEF",file); |
ファイルから数値を読む | fread | ファイルから数値を読む(buf, サイズ(整数), 10, file); |
ファイルに数値を保存 | fwrite | ファイルに数値を保存(buf, サイズ(整数), 10, file); |
ファイルに書式で文字列を保存 | fprintf | ファイルに書式で文字列を保存(file,"%d,%d",a,b); |
ファイルから書式で文字列を読む | fscanf | ファイルから書式で文字列を読む(file, "%d,%d",&a,&b); |
ファイルの位置を取得 | ftell | 整数 pos ← ファイルの位置を取得(file); |
ファイルの位置を変更 | fseek | ファイルの位置を変更(file,0,SEEK_SET); |
ファイルの最後を判定 | feof | もし(ファイルの最後を判定(file)) {} |
ファイルのエラーを判定 | ferror | もし(ファイルのエラーを判定(file)) {} |
ファイルのエラーを初期化 | clearerr | ファイルのエラーを初期化(file); |
ファイルを強制保存 | fflush | ファイルを強制保存(file); |
ファイルを開き直す | freopen | ファイルを開き直す(filename, "w", 画面); |
ファイルの名前を変更 | rename | ファイルの名前を変更(oldfilename, newfilename); |
ファイルを削除 | remove | ファイルを削除(filename); |
キーボードから文字を読む | getchar | 字 c ← キーボードから文字を読む(); |
画面に文字を表示 | putchar | 画面に文字を表示(c); |
キーボードから文字列を読む | gets | キーボードから文字列を読む(buf); |
画面に文字列を表示 | puts | 画面に文字列を表示("こんにちは世界"); |
画面にエラーを表示 | perror | 画面にエラーを表示("エラー"); |
キーボード入力 | scanf | キーボード入力("%d", &data); |
動的配列作成 | malloc | 字 *str ← (字 *)動的配列作成(100); |
動的配列作成して0入れる | calloc | 字 *array ← (字 *)動的配列作成して0入れる(100); |
動的配列のサイズ変更 | realloc | *array ← realloc(NULL, 100); |
動的配列解放 | free | 動的配列解放(array); |
絶対値 | abs | abs(-100); |
文字列を実数値化 | atof | 実数 f ← 文字列を実数値化("123.45"); |
乱数 | rand | 戻る 1 + (整数)(rand() * (100 - 1 + 1.0) / (1.0 + RAND_MAX)); |
終了 | exit | 終了(0); |
エラー終了 | abort | エラー終了(); |
終了処理登録 | atexit | atexit(funcexit); |
環境変数 | getenv | 字* str ← 環境変数("PATH"); |
検索 | bsearch | 整数* result ← 検索( &target, array, サイズ(array)/サイズ(array[0]), サイズ(array[0]), funccompare ); |
ソート | qsort | ソート( array, サイズ(array)/サイズ(array[0]), サイズ(array[0]), funccompare ); |
コマンド実行 | system | コマンド実行("DIR"); |
アルファベット判定 | isalpha | もし(アルファベット判定('a')) |
大文字判定 | isupper | もし(大文字判定('A')) |
小文字判定 | islower | もし(小文字判定('a')) |
数字判定 | isdigit | もし(数字判定('6')) |
空白判定 | isspace | もし(空白判定(' ')) |
英数字判定 | isalnum | もし(英数字判定('d')) |
制御文字判定 | iscntrl | もし(制御文字判定('\t')) |
印刷文字判定 | isprint | もし(印刷文字判定('G')) |
区切り文字判定 | ispunct | もし(区切り文字判定('[')) |
16進数判定 | isxdigit | もし(16進数判定('D')) |
文字列コピー | strcpy | 文字列コピー(stra,strb); |
指定文字数だけ文字列コピー | strncpy | 指定文字数だけ文字列コピー(stra,strb,4); |
文字列連結 | strcat | 文字列連結(str1, str2); |
指定文字数だけ文字列連結 | strncat | 指定文字数だけ文字列連結(str1, str2, 3); |
文字数 | strlen | 整数 len ← 文字数(str); |
同じ文字列か判定 | strcmp | もし (同じ文字列か判定(str1, str2) == 0) {} |
指定文字数まで同じ文字列判定 | strncmp | もし (指定文字数まで同じ文字列判定(str1, str2 , 5 ) == 0) {} |
文字列から文字検索 | strchr | 字 *c ← 文字列から文字検索(str, 'A'); |
文字列の後ろから文字検索 | strrchr | 字 *c ← 文字列の後ろから文字検索(str, 'A'); |
文字列から文字列検索 | strstr | 字 *str ← 文字列から文字列検索(str1, str2); |
配列コピー | memcpy | 配列コピー(array1, array2, サイズ(array2)); |
安全な配列コピー | memmove | 安全な配列コピー(array1, array2, サイズ(array2)); |
配列に連続代入 | memset | 配列に連続代入(array, 0 , サイズ(array)); |
配列から検索 | memchr | 字 p ← 配列から検索(str, 'h', サイズ(str)); |
実数絶対値 | fabs | 実数 f ← 実数絶対値(-123.45); |
平方根 | sqrt | 実数 value ← sqrt(4); |
累乗 | pow | 実数 value ← 累乗(2.0, 3.0) |
余り | fmod | 実数 value ← 余り(9,2); |
サイン | sin | 実数 value ← サイン(1.2); |
コサイン | cos | 実数 value ← コサイン(90); |
タンジェント | tan | 実数 value ← タンジェント(10); |
アークコサイン | acos | 実数 value ← アークコサイン(1); |
アークサイン | asin | 実数 value ← アークサイン(1); |
アークタンジェント | atan | 実数 value ← アークタンジェント(1); |
ハイパボリックサイン | sinh | 実数 value ← ハイパボリックサイン(0); |
ハイパボリックコサイン | cosh | 実数 value ← ハイパボリックコサイン(0); |
ハイパボリックタンジェント | tanh | 実数 value ← ハイパボリックタンジェント(0); |
実数を切り上げ | ceil | 実数 value ← 実数を切り上げ(123.4); |
実数を切り捨て | floor | 実数 value ← 実数を切り捨て(123.4); |
自然指数 | exp | 実数 value ← 自然指数(1); |
自然対数 | log | 実数 value ← 自然対数(4); |
常用対数 | log10 | 実数 value ← 常用対数(100); |
1970年からの経過秒数 | time | 長整数 sec ← 1970年からの経過秒数(NULL); |
CPU時間 | clock | 長整数 cputime ← CPU時間(); |
時刻の引き算 | difftime | 実数 diff ← difftime(time2,time1); |
現地時刻に変換 | localtime | time_t jptm ← 現地時刻に変換(1970年からの経過秒数(NULL)); |
国際時刻に変換 | gmtime | time_t gmtm ← 国際時刻に変換(1970年からの経過秒数(NULL)); |
時刻を文字列に変換 | ctime | 表示("%s", 時刻を文字列に変換(1970年からの経過秒数(NULL))); |
条件で強制終了 | assert | 条件で強制終了(value < 1); |
<入出力> |
|
#プラグイン <文字列> |
<診断> |
|
#プラグイン <診断> |
<文字> |
|
#プラグイン <文字> |
<エラーチェック> |
|
#プラグイン <エラーチェック> |
<実数情報> |
|
#プラグイン <実数情報> |
<実数情報> |
|
#プラグイン <実数情報> |
<言語> |
|
#プラグイン <言語> |
<数学> |
|
#プラグイン <数学> |
<可変引数> |
|
#プラグイン <可変引数> |
<環境依存値> |
|
#プラグイン <環境依存値> |
<便利> |
|
#プラグイン <便利> |
<文字列> |
|
#プラグイン <文字列> |
<時間> |
|
#プラグイン <時間> |