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.
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.
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.
Integer 開始(空) { 戻る 0; }
A program that displays Hello, World.
#プラグイン <入出力>
Integer 開始(空)
{
Table示("Hello world");
戻る 0;
}
A program to display the number 100.
#プラグイン <入出力>
Integer 開始(空)
{
Table示("%d", 100);
戻る 0;
}
A program to perform basic arithmetic operations.
#プラグイン <入出力>
Integer 開始(空)
{
Table示("%d\n", 10 + 3);
Table示("%d\n", 10 - 3);
Table示("%d\n", 10 * 3);
Table示("%d\n", 10 / 3);
Table示("%d\n", 10 % 3);
戻る 0;
}
A program to perform arithmetic operations (addition, subtraction, multiplication, and division) on real numbers.
#プラグイン <入出力>
Integer 開始(空)
{
Table示("%f\n", 10.0 + 3.0);
Table示("%f\n", 10.0 - 3.0);
Table示("%f\n", 10.0 * 3.0);
Table示("%f\n", 10.0 / 3.0);
戻る 0;
}
A program that assigns 10 to a variable and displays it.
#プラグイン <入出力>
Integer 開始(空)
{
Integer value; /* Variable declaration section */
value ← 10; /* Substitution part */
Table示("%d\n", value); /* Display Section */
戻る 0;
}
A program that performs calculations (addition, subtraction, multiplication, and division) using values assigned to variables.
#プラグイン <入出力>
Integer 開始(空)
{
Integer left;
Integer right;
left ← 10;
right ← 3;
Table示("%d\n", left + right);
Table示("%d\n", left - right);
Table示("%d\n", left * right);
Table示("%d\n", left / right);
Table示("%d\n", left % right);
戻る 0;
}
A program that performs arithmetic operations (addition, subtraction, multiplication, and division) using values assigned to real-valued variables.
#プラグイン <入出力>
Integer 開始(空)
{
Real Number left, right;
left ← 10;
right ← 3;
Table示("%f\n", left + right);
Table示("%f\n", left - right);
Table示("%f\n", left * right);
Table示("%f\n", left / right);
戻る 0;
}
A program that displays numbers entered from the keyboard.
#プラグイン <入出力>
Integer 開始(空)
{
Integer data;
keyboard input("%d", &data); /* Input section */
Table示("%d\n", data);
戻る 0;
}
A program that calculates and displays the sum of numbers within a range specified by two inputs from the keyboard.
#プラグイン <入出力>
Integer 開始(空)
{
Integer min, max, sum;
/* Input section */
Table示("Please enter the minimum and maximum values separated by a comma.:");
keyboard input("%d , %d", &min, &max);
/* Calculation Section */
sum ← (min + max) * (max - min + 1) / 2;
/* Display section */
Table示("The total for %d to %d is %d.。\n", min, max, sum);
戻る 0;
}
A program to correct the score if it exceeds 100 points entered from the keyboard.
#プラグイン <入出力>
Integer 開始(空)
{
Integer score;
Table示("Please enter the score.:");
keyboard input("%d", &score);
もし(score > 100)
{
Table示("The input is greater than 100, so I will correct it.\n");
score ← 100;
}
Table示("Your score is %d points.\n", score);
戻る 0;
}
A program that displays admission fees based on age entered from the keyboard.
#プラグイン <入出力>
Integer 開始(空)
{
Integer age;
Table示("Age:");
keyboard input("%d", &age);
もし(age <= 3) {
Table示("toddler:Free\n");
} ではなくて (age <= 12) {
Table示("Child:250 Japan Yen\n");
}Different{
Table示("Adult:400 Japan Yen\n");
}
戻る 0;
}
A program that displays a student's name based on an attendance number entered from the keyboard.
#プラグイン <入出力>
Integer 開始(空)
{
Integer no;
keyboard input( "%d", &no);
場合minuteけ(no) {
場合 1:
Table示( "James\n");
ブロック脱出;
場合 2:
Table示( "Olivia\n");
ブロック脱出;
場合 3:
Table示( "Michael\n");
ブロック脱出;
場合 4:
Table示( "Emma\n");
ブロック脱出;
その他:
Table示( "There's no one with that number.\n");
ブロック脱出;
}
戻る 0;
}
A program that calculates and displays amounts discounted from 10% to 90% based on input from the keyboard.
#プラグイン <入出力>
Integer 開始(空)
{
Integer i, price;
keyboard input( "%d", &price);
回数繰り返し(i ← 1; i <= 9; i++) {
Table示( "%ddiscount = %d\n", i, (Integer) (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.
#プラグイン <入出力>
Integer 開始(空)
{
Real Number money ← 1;
Integer month ← 1;
条件繰り返し(money < 1000000) {
Table示( "%02d Month: %7.0f Yen\n", month, money);
money *= 2;
month++;
}
Table示( "On the %02dth day of the month, it reached %7.0f yen, exceeding 1 million yen.\n", month, money);
戻る 0;
}
A program that validates the radius input from the keyboard and then calculates and displays the area of a circle.
#プラグイン <入出力>
Integer 開始(空)
{
Integer r;
Real Number s;
最低1回繰り返し{
Table示( "Radius?:");
keyboard input( "%d", &r);
}条件繰り返し(r < 0);
s ← r * r * 3.14;
Table示( "The area is %f.\n", s);
戻る 0;
}
Write a program that calculates and displays how many times you need to receive 1% interest to exceed 15000 yen.
#プラグイン <入出力>
Integer 開始(空)
{
Integer year ← 0;
Real Number money ← 10000;
条件繰り返し(money < 15000) {
year++;
money *= 1.01;
}
Table示("%d , %f\n", year, money);
戻る 0;
}
A program to concatenate and display two strings.
#プラグイン <入出力>
#プラグイン <String>
Integer 開始(空)
{
字 str1[12] ← "DRAGON";
字 str2[] ← "QUEST";
String連結(str1, str2);
Table示("%s\n", str1);
戻る 0;
}
A program to display student data.
#プラグイン <入出力>
#プラグイン <String>
型定義 データ
{
Integer year;/* 学Year */
Integer clas;/* クラス */
Integer number;/* 出席Number */
字 name[64];/* name */
Real Number stature;/* 身長 */
Real Number weight;/* 体重 */
} student;
空 student_print(student *data);
Integer 開始(空)
{
student data;
data.year ← 3;
data.clas ← 4;
data.number ← 18;
Stringcopy(data.name, "MARIO");
data.stature ← 168.2;
data.weight ← 72.4;
student_print(&data);/* addressで呼び出す */
戻る 0;
}
空 student_print(student *data)
{
Table示("[学Year]:%d\n", data->year);/* ->symbolでアクセス */
Table示("[クラス]:%d\n", data->clas);
Table示("[出席Number]:%d\n", data->number);
Table示("[name]:%s\n", data->name);
Table示("[身長]:%f\n", data->stature);
Table示("[体重]:%f\n", data->weight);
戻る;
}
A program that writes Hello, world to the file test.txt.
#プラグイン <入出力>
#プラグイン <String>
型定義 データ
{
Integer year;/* 学Year */
Integer clas;/* クラス */
Integer number;/* 出席Number */
字 name[64];/* name */
Real Number stature;/* 身長 */
Real Number weight;/* 体重 */
} student;
空 student_print(student *data);
Integer 開始(空)
{
student data;
data.year ← 3;
data.clas ← 4;
data.number ← 18;
Stringcopy(data.name, "MARIO");
data.stature ← 168.2;
data.weight ← 72.4;
student_print(&data);/* addressで呼び出す */
戻る 0;
}
空 student_print(student *data)
{
Table示("[学Year]:%d\n", data->year);/* ->symbolでアクセス */
Table示("[クラス]:%d\n", data->clas);
Table示("[出席Number]:%d\n", data->number);
Table示("[name]:%s\n", data->name);
Table示("[身長]:%f\n", data->stature);
Table示("[体重]:%f\n", data->weight);
戻る;
}
Correspondence table
TABLE
Currently, there are commands with unverified functionality.
| day本語命令 | 本来のC language | 使用例 |
|---|---|---|
| #プラグイン | #include | #プラグイン |
| Table示 | printf | Table示("%d", 100); |
| ← | = | Integer score ← 123; |
| もし | if | もし(score > 100) {} |
| Integer | int | Integer score ← 123; |
| 戻る | return | 戻る 0; |
| #置換 | #define | #置換 PI 3.14 |
| ブロック脱出 | break | ブロック脱出; |
| 場合 | case | case 5; |
| 字 | char | 字 c ← 'A'; |
| 継続 | continue | 継続; |
| その他 | default | その他: |
| 最低1回繰り返し | do | 最低1回繰り返し {} 条件繰り返し( i == 0 ); |
| Real Number | double | Real Number f = 1.2345678; |
| Different | else | もし (i == 0) {} Different {}; |
| List | enum | List COLOR { RED , BLUE , YELLOW }; |
| 公開 | extern | 公開 Integer value ← 123; |
| 半精度Real Number | float | 半精度Real Number f ← 1.2f; |
| 回数繰り返し | for | 回数繰り返し(i ← 1; i <= 9; i++) {} |
| 例外処理 | goto | 例外処理 ERROR; |
| 長Integer | long | 長Integer score ← 123; |
| 短Integer | short | 短Integer short ← 1; |
| 符号有 | signed | 符号有 Integer value ← -100; |
| 符号無 | unsigned | 符号無 Integer value ← 100; |
| サイズ | sizeof | サイズ(array); |
| 静的 | static | 静的 Integer value ← 1; |
| データ | struct | 型定義 データ { Integer year; } student; |
| 場合minuteけ | switch | 場合minuteけ(no) {} |
| 型定義 | typedef | typedef Integer tYen; |
| 共用体 | union | 共用体 tUnion { Real Number x; Integer y; }; |
| 空 | void | Integer 開始(空){} |
| 条件繰り返し | while | 条件繰り返し(money < 1000000) {} |
| ではなくて | else if | もし(age <= 3) {} ではなくて (age <=12) {}Different{}; |
| キーボード | stdin | FileFromStringを読む(buf, サイズ(buf), キーボード); |
| Screen | stdout | FileにCharacterをSave('A' , Screen); |
| ErrorScreen | stderr | FileにCharacterをSave('E' , ErrorScreen); |
| Fileを開く | fopen | file ← Fileを開く("test.txt", "w"); |
| Fileを閉じる | fclose | Fileを閉じる(file); |
| FileFromCharacterを読む | fgetc | Integer value ← FileFromCharacterを読む( file ); |
| FileFromStringを読む | fgets | FileFromStringを読む(buf, サイズ(buf), file); |
| FileにCharacterをSave | fputc | FileにCharacterをSave('A',file); |
| FileにStringをSave | fputs | FileにStringをSave("ABCDEF",file); |
| FileFromnumericsを読む | fread | FileFromnumericsを読む(buf, サイズ(Integer), 10, file); |
| FileにnumericsをSave | fwrite | FileにnumericsをSave(buf, サイズ(Integer), 10, file); |
| FileにFormatでStringをSave | fprintf | FileにFormatでStringをSave(file,"%d,%d",a,b); |
| FileFromFormatでStringを読む | fscanf | FileFromFormatでStringを読む(file, "%d,%d",&a,&b); |
| Fileの位置を取得 | ftell | Integer 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のnameを変更 | rename | Fileのnameを変更(oldfilename, newfilename); |
| FileをDelete | remove | FileをDelete(filename); |
| キーボードFromCharacterを読む | getchar | 字 c ← キーボードFromCharacterを読む(); |
| ScreenにCharacterをTable示 | putchar | ScreenにCharacterをTable示(c); |
| キーボードFromStringを読む | gets | キーボードFromStringを読む(buf); |
| ScreenにStringをTable示 | puts | ScreenにStringをTable示("Hello world"); |
| ScreenにErrorをTable示 | perror | ScreenにErrorをTable示("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); |
| StringをReal Number値化 | atof | Real Number f ← StringをReal Number値化("123.45"); |
| random number | rand | 戻る 1 + (Integer)(rand() * (100 - 1 + 1.0) / (1.0 + RAND_MAX)); |
| 終了 | exit | 終了(0); |
| Error終了 | abort | Error終了(); |
| 終了処理登録 | atexit | atexit(funcexit); |
| 環境variable | getenv | 字* str ← 環境variable("PATH"); |
| Search | bsearch | Integer* result ← Search( &target, array, サイズ(array)/サイズ(array[0]), サイズ(array[0]), funccompare ); |
| ソート | qsort | ソート( array, サイズ(array)/サイズ(array[0]), サイズ(array[0]), funccompare ); |
| コマンドrun | system | コマンドrun("DIR"); |
| alphabet判定 | isalpha | もし(alphabet判定('a')) |
| 大Character判定 | isupper | もし(大Character判定('A')) |
| 小Character判定 | islower | もし(小Character判定('a')) |
| digit判定 | isdigit | もし(digit判定('6')) |
| Space判定 | isspace | もし(Space判定(' ')) |
| alphanumeric characters判定 | isalnum | もし(alphanumeric characters判定('d')) |
| controlCharacter判定 | iscntrl | もし(controlCharacter判定('\t')) |
| 印刷Character判定 | isprint | もし(印刷Character判定('G')) |
| 区切りCharacter判定 | ispunct | もし(区切りCharacter判定('[')) |
| hexadecimal判定 | isxdigit | もし(hexadecimal判定('D')) |
| Stringcopy | strcpy | Stringcopy(stra,strb); |
| 指定number of charactersだけStringcopy | strncpy | 指定number of charactersだけStringcopy(stra,strb,4); |
| String連結 | strcat | String連結(str1, str2); |
| 指定number of charactersだけString連結 | strncat | 指定number of charactersだけString連結(str1, str2, 3); |
| number of characters | strlen | Integer len ← number of characters(str); |
| sameStringか判定 | strcmp | もし (sameStringか判定(str1, str2) == 0) {} |
| 指定number of charactersまでsameString判定 | strncmp | もし (指定number of charactersまでsameString判定(str1, str2 , 5 ) == 0) {} |
| StringFromCharacterSearch | strchr | 字 *c ← StringFromCharacterSearch(str, 'A'); |
| Stringの後ろFromCharacterSearch | strrchr | 字 *c ← Stringの後ろFromCharacterSearch(str, 'A'); |
| StringFromStringSearch | strstr | 字 *str ← StringFromStringSearch(str1, str2); |
| arraycopy | memcpy | arraycopy(array1, array2, サイズ(array2)); |
| 安全なarraycopy | memmove | 安全なarraycopy(array1, array2, サイズ(array2)); |
| arrayに連続Assignment | memset | arrayに連続Assignment(array, 0 , サイズ(array)); |
| arrayFromSearch | memchr | 字 p ← arrayFromSearch(str, 'h', サイズ(str)); |
| Real Numberabsolute value | fabs | Real Number f ← Real Numberabsolute value(-123.45); |
| square root | sqrt | Real Number value ← sqrt(4); |
| exponent | pow | Real Number value ← exponent(2.0, 3.0) |
| 余り | fmod | Real Number value ← 余り(9,2); |
| サイン | sin | Real Number value ← サイン(1.2); |
| コサイン | cos | Real Number value ← コサイン(90); |
| タンジェント | tan | Real Number value ← タンジェント(10); |
| アークコサイン | acos | Real Number value ← アークコサイン(1); |
| アークサイン | asin | Real Number value ← アークサイン(1); |
| アークタンジェント | atan | Real Number value ← アークタンジェント(1); |
| ハイパボリックサイン | sinh | Real Number value ← ハイパボリックサイン(0); |
| ハイパボリックコサイン | cosh | Real Number value ← ハイパボリックコサイン(0); |
| ハイパボリックタンジェント | tanh | Real Number value ← ハイパボリックタンジェント(0); |
| Real Numberを切り上げ | ceil | Real Number value ← Real Numberを切り上げ(123.4); |
| Real Numberを切り捨て | floor | Real Number value ← Real Numberを切り捨て(123.4); |
| 自然指数 | exp | Real Number value ← 自然指数(1); |
| 自然対数 | log | Real Number value ← 自然対数(4); |
| 常用対数 | log10 | Real Number value ← 常用対数(100); |
| 1970YearFromのprogressSec数 | time | 長Integer sec ← 1970YearFromのprogressSec数(NULL); |
| CPUTime | clock | 長Integer cputime ← CPUTime(); |
| Timeの引き算 | difftime | Real Number diff ← difftime(time2,time1); |
| 現地Timeに変換 | localtime | time_t jptm ← 現地Timeに変換(1970YearFromのprogressSec数(NULL)); |
| 国際Timeに変換 | gmtime | time_t gmtm ← 国際Timeに変換(1970YearFromのprogressSec数(NULL)); |
| TimeをStringに変換 | ctime | Table示("%s", TimeをStringに変換(1970YearFromのprogressSec数(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.
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 developers are not liable for any damages resulting from the use of this tool.
You are free to use this tool for commercial use and any other purpose.
The developers are not liable 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
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
@タイトル
@テキスト




