iPhoneでCプログラミングしてみた


はじめに

今回、モバイル C [ C/C++ コンパイラ ]というiOSアプリを使いました。
やはり、今更感はありますかね?
インストールから間もなくて、あまり使い慣れていませんが
行ってみましょう...

実行環境

端末:iPhone7 (最近バッテリーが貧弱)
アプリ:モバイルC[C/C++コンパイラ] (無料版)

エディタ画面

縦画面でもできますし、フリック入力のキーボードでも入力できました。
画面のテーマ変更もできました。(これはdark)

色々実行してみた

実行はランボタンもしくはコンソールでファイル名を指定するとできるみたい。
アプリ上での実行結果をコピペしてます。

①おはよう世界

ex01.c
#include <stdio.h>
int main() {
    printf("Hello iOS World!\n");
    return 0;
}
mosh
qiita> ex01.c
Hello iOS World!

②君の名は

ex02.c
#include <stdio.h>
int main(){
    char name[64];
    printf("名前を入力してください\n");
    scanf("%s",name);
    printf("あなたの名前は%sです",name);
    return 0;
}
mosh
qiita> ex02.c
名前を入力してください
RoaaaA
あなたの名前はRoaaaAです

おお!ちゃんと動く!

③中置記法された数式の計算プログラム

ソースコードはこちら

mosh
qiita> ex03.c
Expression = ((1+2)+3)
Value = 6
Expression = (((1+2)-(-(3+4)))/2)
Value = 5
Expression = (1+2+3)
(1+2+3)
    ^
error: 不適切な式
Expression =
qiita>

値なんかを入れるプログラムも正常に動きますね!

④前回作った円周率を求めるプログラム

ソースコードはこちら

mosh
qiita> mcpi.c
処理時間:1121.452889[秒]
1回の描画点数:940000[個]
モンテカルロ法:100[回]
四分円内の点数:73830269[個]
四分円外の点数:20169731[個]
円周率:3.1417136
今回の精度:99.99615%

いやぁ、この結果にはびっくりしましたね。
最初、待てど待てど何も出力されなくて、ダメかと思ったんですけど
単純に処理が遅いって話でした
このプログラムに関していえばざっとPCの0.00597倍...
マンガ読んでる間に実行が終わってました。

実行画面

こんな感じの実行画面です。
画面が小さいから横画面結構見にくい...

ランボタン


コンソール

感想

使ってみた感じ、iOSでここまでできることに驚きました。
実行時間についてはしょうがないですね...

ほんとはできるのかもしれないし、できないのかもしれないですけど、
./a.out > result.txt的な実行結果をテキストファイルで残すことが、
今のとこ自分はしきらんかったです。できるんかな?

-lmオプション付けなくて実行できるのはなぜなんだろう?
近いうち調べてみますか?(あまりCはやらないんですけど...)

少し大きめのプログラム(中置記法のやつ)とかになってくるとエディタ上での移動がめんどくさくなったりしそうです。
小さめのプログラムを思いついたときに、手元にPCがなければとても便利だなって感じです。
Pythonも使えるみたいなので、個人的にはありがたいアプリですね。

アプリ開発者様ってすごいですね。尊敬しますね

以上!

参考