MMGameslogo  MMGames
TwitterSharebutton  FacebookSharebutton   
Japanese instructions are available C runtime environment
Overview
ABOUT
"Because C language keywords and function names are mapped to Japanese, you can program in Japanese."
"Because it allows programming with Japanese keywords, it's easy to understand for beginners."

However, the grammar and functionality are essentially the same as C.
The programming skills acquired in this environment can be directly applied to real-world programming.
Similar apps
OTHER
day本語命令に非対応の、一般的なC language環境であるA C runtime environment that runs in a browser.も用意しております。
It is a complete C programming environment dedicated to WindowsA learning C language development environment is also available.
Programming area
INPUT

File
FILE

Converting from standard C to Japanese C
TO JP

Sample program
SAMPLE
Everything is working as expected.

A do-nothing program.
整数 開始(空) { 戻る 0; }


A program that displays "Hello, World."
#プラグイン <入出力>

整数 開始(空)
{
    表示("Hello world");
    戻る 0;
}


A program to display the number "100".
#プラグイン <入出力>

整数 開始(空)
{
    表示("%d", 100);
    戻る 0;
}


A program to perform basic arithmetic operations.
#プラグイン <入出力>

整数 開始(空)
{
    表示("%d\n", 10 + 3);
    表示("%d\n", 10 - 3);
    表示("%d\n", 10 * 3);
    表示("%d\n", 10 / 3);
    表示("%d\n", 10 % 3);
    戻る 0;
}


A program to perform arithmetic operations (addition, subtraction, multiplication, and division) on real numbers.
#プラグイン <入出力>

整数 開始(空)
{
    表示("%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;
}


A program that assigns 10 to a variable and displays it.
#プラグイン <入出力>

整数 開始(空)
{
    整数 value; /* Variable declarationの部minute */
    value ← 10; /* Assignmentの部minute */
    表示("%d\n", value); /* 表示の部minute */
    戻る 0;
}


A program that performs calculations (addition, subtraction, multiplication, and division) using values assigned to variables.
#プラグイン <入出力>

整数 開始(空)
{
    整数 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;
}


A program that performs arithmetic operations (addition, subtraction, multiplication, and division) using values assigned to real-valued variables.
#プラグイン <入出力>

整数 開始(空)
{
    実数 left, right;
    left ← 10;
    right ← 3;
    表示("%f\n", left + right);
    表示("%f\n", left - right);
    表示("%f\n", left * right);
    表示("%f\n", left / right);
    戻る 0;
}


A program that displays numbers entered from the keyboard.
#プラグイン <入出力>

整数 開始(空)
{
    整数 data;
    keyboard input("%d", &data); /* 入力部minute */
    表示("%d\n", data);
    戻る 0;
}


A program that calculates and displays the sum of numbers within a range specified by two inputs from the keyboard.
#プラグイン <入出力>

整数 開始(空)
{
    整数 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;
}


A program to correct the score if it exceeds 100 points entered from the keyboard.
#プラグイン <入出力>

整数 開始(空)
{
    整数 score;
    表示("点数を入力して下さい:");
    keyboard input("%d", &score);

    もし(score > 100)
    {
        表示("入力が 100 より大きいので修正します。\n");
        score ← 100;
    }

    表示("点数は %d 点is.\n", score);
    戻る 0;
}


A program that displays admission fees based on age entered from the keyboard.
#プラグイン  <入出力>
 
整数 開始(空) 
{
    整数 age;
    表示("year齢:");
    keyboard input("%d", &age);

    もし(age <= 3) {
        表示("幼児:無料\n");
    } ではなくて (age <= 12) {
        表示("子供:250円\n");
    }違う{
        表示("大人:400円\n");
    }

    戻る 0;
}


A program that displays a student's name based on an attendance number entered from the keyboard.
#プラグイン  <入出力>
 
整数 開始(空) 
{
    整数  no;
    keyboard input( "%d", &no);

    場合minuteけ(no) {
    場合  1:
        表示( "野比のびBold\n");
        ブロック脱出; 
    場合  2:
        表示( "源静香\n");
        ブロック脱出; 
    場合  3:
        表示( "剛田武\n");
        ブロック脱出; 
    場合  4:
        表示( "骨川スネ夫\n");
        ブロック脱出; 
    その他: 
        表示( "そんな番号の人はいない\n");
        ブロック脱出; 
    }

    戻る  0;
}


A program that calculates and displays amounts discounted from 10% to 90% based on input from the keyboard.
#プラグイン  <入出力>
 
整数 開始(空) 
{
    整数  i, price;

    keyboard input( "%d", &price);

    回数繰り返し(i ← 1; i <= 9; i++) {
        表示( "%d割引 = %d\n", i,  (整数) (price * ((10.0 - i) / 10)));
    }

    戻る  0;
}


Write a program that calculates and displays the month in which your allowance exceeds 1 million yen, given that your allowance doubles each month.
#プラグイン <入出力>

整数 開始(空) 
{
    実数 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;
}


A program that validates the radius input from the keyboard and then calculates and displays the area of a circle.
#プラグイン  <入出力>
 
整数 開始(空) 
{
    整数  r;
    実数  s;

    最低1回繰り返し{
        表示( "Radius?:");
        keyboard input( "%d", &r);
    }条件繰り返し(r < 0);

    s  ←  r * r * 3.14;
    表示( "面積は %f is.\n", s);

    戻る  0;
}


Write a program that calculates and displays how many times you need to receive 1% interest to exceed 15000 yen.
#プラグイン <入出力>
 
整数 開始(空) 
{
    整数 year ← 0;
    実数 money ← 10000;

    条件繰り返し(money < 15000) {
        year++;
        money *= 1.01;
    }

    表示("%d , %f\n", year, money);

    戻る 0;
}


A program to concatenate and display two strings.
#プラグイン <入出力>
#プラグイン <文字列>
 
整数 開始(空)
{
    字 str1[12] ← "DRAGON";
    字 str2[] ← "QUEST";
    文字列連結(str1, str2);
    表示("%s\n", str1);
    戻る 0;
}


A program to display student data.
#プラグイン <入出力>
#プラグイン <文字列>
 
型定義 データ
{
    整数 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);
    戻る;
}


A program that writes "Hello, world" to the file "test.txt".
#プラグイン <入出力>
#プラグイン <文字列>
 
型定義 データ
{
    整数 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);
    戻る;
}

Correspondence table
TABLE
Currently, there are commands with unverified functionality.
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>
<環境依存値> #プラグイン <環境依存値>
<便利> #プラグイン <便利>
<文字列> #プラグイン <文字列>
#プラグイン
Downloading...
Technical Overview
IMPLEMENTATION
We are implementing Japanese instructions by replacing the source code and then passing it to the compiler.
Please note.
WARNING
Currently, we are not performing precise parsing when replacing source code.
Therefore, it may not always be replaced correctly depending on how it is written.

Currently, we do not support specifying variable names and function names in Japanese.
About Usage
TERMS OF USE
Use of this tool is completely free of charge. The developer does not ask for any form of compensation.
You are free to use this tool for commercial use and any other purpose.
The developer assumes no responsibility for any damages resulting from the use of this tool.
Copyright Notice
LICENCE
Powered by Emscripten https://emscripten.org/

Powered by Monaco Editor https://microsoft.github.io/monaco-editor/

picoc is published under the "New BSD License".
http://www.opensource.org/licenses/bsd-license.php
Copyright (c) 2009-2011, Zik Saleeba
All rights reserved.
https://gitlab.com/zsaleeba/picoc
Comments, requests, bug reports, etc.
FEEDBACK
Please send your comments, requests, bug reports, etc. to the following address.
https://tally.so/r/n9KBZp
https://x.com/mmgamess
mmmgames@gmail.com
Share
SHARE
If you like the tool, we would be very encouraged if you would share it.
       
Recommended Apps
RECOMMENDATION