
Read it right next to your computer.
Book version bitter C
整数 開始(空) { 戻る 0; }
#プラグイン <入出力>
整数 開始(空)
{
表示("Hello world");
戻る 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; /* Variable declarationの部minute */
value ← 10; /* Assignmentの部minute */
表示("%d\n", value); /* 表示の部minute */
戻る 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;
keyboard input("%d", &data); /* 入力部minute */
表示("%d\n", data);
戻る 0;
}
#プラグイン <入出力>
整数 開始(空)
{
整数 min, max, sum;
/* 入力部minute */
表示("最小値と最大値を , で区切って入力して下さい。:");
keyboard input("%d , %d", &min, &max);
/* 計算部minute */
sum ← (min + max) * (max - min + 1) / 2;
/* 表示部minute */
表示("%d~%d の合計は %d is.\n", min, max, sum);
戻る 0;
}
#プラグイン <入出力>
整数 開始(空)
{
整数 score;
表示("点数を入力して下さい:");
keyboard input("%d", &score);
もし(score > 100)
{
表示("入力が 100 より大きいので修正します。\n");
score ← 100;
}
表示("点数は %d 点is.\n", score);
戻る 0;
}
#プラグイン <入出力>
整数 開始(空)
{
整数 age;
表示("year齢:");
keyboard input("%d", &age);
もし(age <= 3) {
表示("幼児:無料\n");
} ではなくて (age <= 12) {
表示("子供:250円\n");
}違う{
表示("大人:400円\n");
}
戻る 0;
}
#プラグイン <入出力>
整数 開始(空)
{
整数 no;
keyboard input( "%d", &no);
場合minuteけ(no) {
場合 1:
表示( "野比のびBold\n");
ブロック脱出;
場合 2:
表示( "源静香\n");
ブロック脱出;
場合 3:
表示( "剛田武\n");
ブロック脱出;
場合 4:
表示( "骨川スネ夫\n");
ブロック脱出;
その他:
表示( "そんな番号の人はいない\n");
ブロック脱出;
}
戻る 0;
}
#プラグイン <入出力>
整数 開始(空)
{
整数 i, price;
keyboard input( "%d", &price);
回数繰り返し(i ← 1; i <= 9; i++) {
表示( "%d割引 = %d\n", i, (整数) (price * ((10.0 - i) / 10)));
}
戻る 0;
}
#プラグイン <入出力>
整数 開始(空)
{
実数 money ← 1;
整数 month ← 1;
条件繰り返し(money < 1000000) {
表示( "%02d The Moon目 : %7.0f 円\n", month, money);
money *= 2;
month++;
}
表示( "%02d The Moon目 に %7.0f 円となり、100万円を超える。\n", month, money);
戻る 0;
}
#プラグイン <入出力>
整数 開始(空)
{
整数 r;
実数 s;
最低1回繰り返し{
表示( "Radius?:");
keyboard input( "%d", &r);
}条件繰り返し(r < 0);
s ← r * r * 3.14;
表示( "面積は %f is.\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;/* 学year */
整数 clas;/* クラス */
整数 number;/* 出席番号 */
字 name[64];/* 名前 */
実数 stature;/* 身長 */
実数 weight;/* 体重 */
} student;
空 student_print(student *data);
整数 開始(空)
{
student data;
data.year ← 3;
data.clas ← 4;
data.number ← 18;
文字列copy(data.name, "MARIO");
data.stature ← 168.2;
data.weight ← 72.4;
student_print(&data);/* addressで呼び出す */
戻る 0;
}
空 student_print(student *data)
{
表示("[学year]:%d\n", data->year);/* ->symbolでアクセス */
表示("[クラス]:%d\n", data->clas);
表示("[出席番号]:%d\n", data->number);
表示("[名前]:%s\n", data->name);
表示("[身長]:%f\n", data->stature);
表示("[体重]:%f\n", data->weight);
戻る;
}
#プラグイン <入出力>
#プラグイン <文字列>
型定義 データ
{
整数 year;/* 学year */
整数 clas;/* クラス */
整数 number;/* 出席番号 */
字 name[64];/* 名前 */
実数 stature;/* 身長 */
実数 weight;/* 体重 */
} student;
空 student_print(student *data);
整数 開始(空)
{
student data;
data.year ← 3;
data.clas ← 4;
data.number ← 18;
文字列copy(data.name, "MARIO");
data.stature ← 168.2;
data.weight ← 72.4;
student_print(&data);/* addressで呼び出す */
戻る 0;
}
空 student_print(student *data)
{
表示("[学year]:%d\n", data->year);/* ->symbolでアクセス */
表示("[クラス]:%d\n", data->clas);
表示("[出席番号]:%d\n", data->number);
表示("[名前]:%s\n", data->name);
表示("[身長]:%f\n", data->stature);
表示("[体重]:%f\n", data->weight);
戻る;
}
day本語命令 | 本来のC language | 使用例 |
---|---|---|
#プラグイン | #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; |
場合minuteけ | switch | 場合minuteけ(no) {} |
型定義 | typedef | typedef 整数 tYen; |
共用体 | union | 共用体 tUnion { 実数 x; 整数 y; }; |
空 | void | 整数 開始(空){} |
条件繰り返し | while | 条件繰り返し(money < 1000000) {} |
ではなくて | else if | もし(age <= 3) {} ではなくて (age <=12) {}違う{}; |
キーボード | stdin | Fileから文字列を読む(buf, サイズ(buf), キーボード); |
Screen | stdout | Fileに文字をSave('A' , Screen); |
ErrorScreen | stderr | Fileに文字をSave('E' , ErrorScreen); |
Fileを開く | fopen | file ← Fileを開く("test.txt", "w"); |
Fileを閉じる | fclose | Fileを閉じる(file); |
Fileから文字を読む | fgetc | 整数 value ← Fileから文字を読む( file ); |
Fileから文字列を読む | fgets | Fileから文字列を読む(buf, サイズ(buf), file); |
Fileに文字をSave | fputc | Fileに文字をSave('A',file); |
Fileに文字列をSave | fputs | Fileに文字列をSave("ABCDEF",file); |
Fileからnumericsを読む | fread | Fileからnumericsを読む(buf, サイズ(整数), 10, file); |
FileにnumericsをSave | fwrite | FileにnumericsをSave(buf, サイズ(整数), 10, file); |
Fileに書式で文字列をSave | fprintf | Fileに書式で文字列をSave(file,"%d,%d",a,b); |
Fileから書式で文字列を読む | fscanf | Fileから書式で文字列を読む(file, "%d,%d",&a,&b); |
Fileの位置を取得 | ftell | 整数 pos ← Fileの位置を取得(file); |
Fileの位置を変更 | fseek | Fileの位置を変更(file,0,SEEK_SET); |
Fileの最後を判定 | feof | もし(Fileの最後を判定(file)) {} |
FileのErrorを判定 | ferror | もし(FileのErrorを判定(file)) {} |
FileのErrorをInitialization | clearerr | FileのErrorをInitialization(file); |
Fileを強制Save | fflush | Fileを強制Save(file); |
Fileを開き直す | freopen | Fileを開き直す(filename, "w", Screen); |
Fileの名前を変更 | rename | Fileの名前を変更(oldfilename, newfilename); |
Fileを削除 | remove | Fileを削除(filename); |
キーボードから文字を読む | getchar | 字 c ← キーボードから文字を読む(); |
Screenに文字を表示 | putchar | Screenに文字を表示(c); |
キーボードから文字列を読む | gets | キーボードから文字列を読む(buf); |
Screenに文字列を表示 | puts | Screenに文字列を表示("Hello world"); |
ScreenにErrorを表示 | perror | ScreenにErrorを表示("Error"); |
keyboard input | scanf | keyboard input("%d", &data); |
Dynamic array作成 | malloc | 字 *str ← (字 *)Dynamic array作成(100); |
Dynamic array作成して0入れる | calloc | 字 *array ← (字 *)Dynamic array作成して0入れる(100); |
Dynamic arrayのサイズ変更 | realloc | *array ← realloc(NULL, 100); |
Dynamic array解放 | free | Dynamic array解放(array); |
absolute value | abs | abs(-100); |
文字列を実numerics化 | atof | 実数 f ← 文字列を実numerics化("123.45"); |
random number | rand | 戻る 1 + (整数)(rand() * (100 - 1 + 1.0) / (1.0 + RAND_MAX)); |
終了 | exit | 終了(0); |
Error終了 | abort | Error終了(); |
終了処理登録 | atexit | atexit(funcexit); |
環境variable | getenv | 字* str ← 環境variable("PATH"); |
検索 | bsearch | 整数* result ← 検索( &target, array, サイズ(array)/サイズ(array[0]), サイズ(array[0]), funccompare ); |
ソート | qsort | ソート( array, サイズ(array)/サイズ(array[0]), サイズ(array[0]), funccompare ); |
コマンドrun | system | コマンドrun("DIR"); |
alphabet判定 | isalpha | もし(alphabet判定('a')) |
大文字判定 | isupper | もし(大文字判定('A')) |
小文字判定 | islower | もし(小文字判定('a')) |
digit判定 | isdigit | もし(digit判定('6')) |
Space判定 | isspace | もし(Space判定(' ')) |
英digit判定 | isalnum | もし(英digit判定('d')) |
control文字判定 | iscntrl | もし(control文字判定('\t')) |
印刷文字判定 | isprint | もし(印刷文字判定('G')) |
区切り文字判定 | ispunct | もし(区切り文字判定('[')) |
hexadecimal判定 | isxdigit | もし(hexadecimal判定('D')) |
文字列copy | strcpy | 文字列copy(stra,strb); |
指定number of charactersだけ文字列copy | strncpy | 指定number of charactersだけ文字列copy(stra,strb,4); |
文字列連結 | strcat | 文字列連結(str1, str2); |
指定number of charactersだけ文字列連結 | strncat | 指定number of charactersだけ文字列連結(str1, str2, 3); |
number of characters | strlen | 整数 len ← number of characters(str); |
同じ文字列か判定 | strcmp | もし (同じ文字列か判定(str1, str2) == 0) {} |
指定number of charactersまで同じ文字列判定 | strncmp | もし (指定number of charactersまで同じ文字列判定(str1, str2 , 5 ) == 0) {} |
文字列から文字検索 | strchr | 字 *c ← 文字列から文字検索(str, 'A'); |
文字列の後ろから文字検索 | strrchr | 字 *c ← 文字列の後ろから文字検索(str, 'A'); |
文字列から文字列検索 | strstr | 字 *str ← 文字列から文字列検索(str1, str2); |
arraycopy | memcpy | arraycopy(array1, array2, サイズ(array2)); |
安全なarraycopy | memmove | 安全なarraycopy(array1, array2, サイズ(array2)); |
arrayに連続Assignment | memset | arrayに連続Assignment(array, 0 , サイズ(array)); |
arrayから検索 | memchr | 字 p ← arrayから検索(str, 'h', サイズ(str)); |
実数absolute value | fabs | 実数 f ← 実数absolute value(-123.45); |
square root | sqrt | 実数 value ← sqrt(4); |
exponent | pow | 実数 value ← exponent(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); |
1970yearからのprogresssecond数 | time | 長整数 sec ← 1970yearからのprogresssecond数(NULL); |
CPUHours | clock | 長整数 cputime ← CPUHours(); |
Timeの引き算 | difftime | 実数 diff ← difftime(time2,time1); |
現地Timeに変換 | localtime | time_t jptm ← 現地Timeに変換(1970yearからのprogresssecond数(NULL)); |
国際Timeに変換 | gmtime | time_t gmtm ← 国際Timeに変換(1970yearからのprogresssecond数(NULL)); |
Timeを文字列に変換 | ctime | 表示("%s", Timeを文字列に変換(1970yearからのprogresssecond数(NULL))); |
条件で強制終了 | assert | 条件で強制終了(value < 1); |
<入出力> |
|
#プラグイン <文字列> |
<診断> |
|
#プラグイン <診断> |
<文字> |
|
#プラグイン <文字> |
|
|
#プラグイン |
<実数情報> |
|
#プラグイン <実数情報> |
<実数情報> |
|
#プラグイン <実数情報> |
<言語> |
|
#プラグイン <言語> |
<数学> |
|
#プラグイン <数学> |
<可変argument> |
|
#プラグイン <可変argument> |
<環境依存値> |
|
#プラグイン <環境依存値> |
<便利> |
|
#プラグイン <便利> |
<文字列> |
|
#プラグイン <文字列> |
|
|
#プラグイン |