Category Archives: C Introduction

Compile a C code on Raspberry Pi

Published by:

コンパイラをインストール

Raspberry Pi (Desktop X86) には、コンパイラ(gcc)すでに含まれているので、特にインストールする必要がない。

VSCodeをインストール

ターミナルから、下記のコマンドでインストールする。
$ sudo su
# . <( wget -O - https://code.headmelted.com/installers/apt.sh )
# exit

これて導入完了。

導入後はメニューから code-oss を選択して起動する。

ソースコードコンパイル

C言語プログラムのファイル名を「hello.c」というファイルを作成します。ファイルの中身は「Hello, World!」という文字列を出力するプログラムです。

hello.cをコンパイルします。

$ gcc hello.c 

エラーが表示されなければ、OKです。

プログラムの実行

実行します。

$ ./a.out 
Hello, World

無事に実行できましたね。

画面コピーをとる

ターミナルから、下記のコマンドで画面コピーを取れる。
$ scort -sb

マウスでクリックした窓が、画面コピーを取れて、ホームに保存される。

Compile a C code on Chromebook

Published by:

Chromebookでhello できるまでの手順は以下の通り。

  1. linux betaをインストールする。設定で検索すれば見つかる。
  2. インストール後、ターミナルアプリを起動。
  3. linux をアップデートする
  4. gccをインストールする
  5. C専用フォルダを作る
  6. vscode をダウンロードする
  7. vscode を立ち上げる
  8. Cフォルダにhello.cソースコードを作成し、コンパイル、実行

Linux環境準備

  1. linux betaをインストールする。設定で検索すれば見つかる。
  2. インストール後、ターミナルアプリを起動。
  3. linux をアップデートする
[=========] 準備完了
chen@penguin:~$ sudo apt-get update
 

vscode環境準備

  1. gccをインストールする
  2. C専用フォルダを作る
  3. vscode をダウンロードする
  4. vscode を立ち上げる

chen@penguin:~$ pwd
/home/chen

chen@penguin:~$ mkdir C
chen@penguin:~$ cd C

chen@penguin:~/C$ sudo apt-get install gcc

C言語hello.c

  1. hello.c をコンパイルする
chen@penguin:~/C$ ls
hello.c
chen@penguin:~/C$ gcc hello.c -o hello
chen@penguin:~/C$ ./hello
Hello, World
chen@penguin:~/C$

Error on JP programming

Published by:

Hello World例

正しいhello.c。カーソルは位置を注意してください。Pは5:5の位置にある。

image

コンパイルと実行する様子

典型的なエラー

初めてCのプログラミングは なかなかうまく行かないかも知れない。
ここではHello World プログラムの典型的な間違い例をいくつか紹介する。

半角引用符「”」ではなく全角引用符「”」に

右の引用符は全角引用符「”」になっている

image

全角スペースが用いられ

全角スペースが用いられている、これはなかなか探しにくい。

カーソルは位置を注意してください。Pは5:3の位置にある。

(半角のスペースなら、Pは5:5の位置にある。)

image

セミコロン「;」の付け忘れ

セミコロン「;」の付け忘れである。

image

Compile a C code on Linux

Published by:

C言語の最小限の開発環境を作る手順

  1. エディタをインストール
  2. コンパイラをインストール
  3. コンパイラにPATHを通す設定をする

エディタをインストール

Atomという新世代のエディター(Windows、Mac OS X、Linux対応)をインストールしてください。

公式サイト

コンパイラをインストール

LinuxでのC言語開発環境について解説しています。「GNU Compiler Collection」が一般的です。

それでは gcc をインストールしていきます。

Debian

Debianでは、apt-getコマンドを使ってgccをインストールします。

# apt-get install gcc

Ubuntu

UbuntuはDebianベースのディストリビューションなので、Debianと同じようにa apt-getコマンドを使います。ただ、Ubuntuにはrootユーザーという概念がないので、sudoコマンドでインストールしていきます。

$ sudo apt-get install gcc

CentOS

CentOSでは、yumコマンドを使ってgccをインストールします。

# yum install gcc

以上で、コンパイラ(gcc)のインストールは完了です。

コンパイラにPATHを通す設定をする

不要です。

ソースコードコンパイル

C言語プログラムのファイル名を「hello.c」というファイルを作成します。ファイルの中身は「Hello, World!」という文字列を出力するプログラムです。

hello.cをコンパイルします。

$ gcc hello.c 

エラーが表示されなければ、OKです。

プログラムの実行

実行します。

$ ./a.out 
Hello, World

無事に実行できましたね。

Compile a C code on Windows

Published by:

WindowsでgccをインストールするにはMinGWを利用した、C言語の最小限の開発環境を作る手順

  1. エディタをインストール
  2. コンパイラをインストール
  3. コンパイラにPATHを通す設定をする

エディタをインストール

Atomという新世代のエディター(Windows、Mac OS X、Linux対応)をインストールしてください。

公式サイト

コンパイラをインストール

C言語コンパイラって幾つかありますが、gccのインストールをオススメします。gccはMacでもLinuxでもWindowsでも使えます。

コンパイラの違い一覧

システム mingw-jp Visual Studio .net Borland C++ Builder
コンパイラ名 gcc cl bcc32
オブジェクトファイルの拡張子 .o .obj .obj
実行ファイル名指定 -o ファイル名 -o ファイル名 -eファイル名
make コマンド mingw32-make nmake make
依存ファイルマクロ $^ $** $**

 

WindowsでgccをインストールするにはMinGWというソフトを使う必要があります。

MinGW | Minimalist GNU for Windows

  1. MinGWのホームページで「Downloads」をクリック
  2. sourceforgeというサイトに飛びます
  3. 「Download mingw-get-setup.exe (86.5 kB)」をクリック
  4. exeファイルをダウンロード
  5. ダウンロードしたexeファイルを起動
  6. インストール自体は「Install」ボタンとか「Continue」ボタンをクリックするだけ

 

左のメニュー画面で「Basic Setup」を選択し、

  • mingw-developer-toolkit
  • mingw32-base
  • mingw32-gcc-g++
  • msys-base-32

を選んで、右クリックで「Mark for Installation」を選択します。

選び終わったら、上の「Installation」メニューから「Apply Changes」を選択すればインストールが始まります。

インストールが始まると、先ほど選択したパッケージがこのように変わります。

コンパイラにPATHを通す設定をする

事前にgcc.exeの場所を探しておいてください。
MinGWをインストールする際に設定を変更していなければ C:\MinGW\bin にあるはずです。

  • エクスプローラー起動
  • マイコンピューターで右クリック
  • プロパティ選択
  • システムの詳細設定
  • 「環境変数」ボタン
  • ユーザー環境変数 or システム環境変数にPathがあります
    そのPathの最後に ;C:\MinGW\bin を追記
    ※「;」を必ず付けてください

ユーザー環境変数とシステム環境変数の違い

  • ユーザー環境変数:今ログインしているユーザーだけに有効
  • システム環境変数:全てのユーザーに有効

お好きな方をお使いください。

コマンドプロンプトで gcc --help と打ってみてください。

↓こんな感じのものが出てればgccが正常に使える状態です。

 

バージョンの確認

> gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/5.3.0/lto-wrapper.exe
Target: mingw32
Configured with: ../src/gcc-5.3.0/configure --build=x86_64-pc-linux-gnu --host=mingw32 --prefix=/mingw --disable-win32-registry --target=mingw32 --with-arch=i586 --enable-languages=c,c++,objc,obj-c++,fortran,ada --enable-static --enable-shared --enable-threads=posix --with-dwarf2 --disable-sjlj-exceptions --enable-version-specific-runtime-libs --enable-libstdcxx-debug --with-tune=generic --enable-libgomp --disable-libvtv --enable-nls
Thread model: posix
gcc version 5.3.0 (GCC)

 

ソースコードコンパイル

C言語プログラムのファイル名を「hello.c」というファイルを作成します。ファイルの中身は「Hello, World!」という文字列を出力するプログラムです。

以下のコマンドを打ってみてください。

実行ファイルを指定することもできます。

> gcc hello.c -o hello.exe

そしたら hello.exe が作られています。

プログラムの実行

コマンドプロンプトで実行ファイル名を入力してEnterキーを押すだけです。

コマンドプロンプトで、「a.exe」を実行します。

> a.exe
Hello, World

このように「Hello, World」という文字列が出力されれば、OKです。

実行ファイルを指定した場合、指定したファイルを実行してください。

参考:

C code IV – シラパス

Published by:

【授業の概要】

コンピュータプログラム開発言語の中で広く利用されているC言語をCプログラミング開発環境ソフト:
CPad for Borland C++ Compilerを使った一人一台のPCを使い実習により学びます. 毎回問題に取り組み理解を深めます。復習問題としてプログラミング課題を出題する。

【授業要旨】

回数 題目 授業内容 学習課題 予習時間(分) 復習時間(分)
1 ガイダンス 学習目的 C言語プログラミング演習Ⅰの試験解説   C言語検定試験について 授業内容を復習する 60
2 ビットを意識する sizeof演算子 ビット演算子    10進数と2進数(ビット)の相互変換 テキスト(P315-330)を読む
授業内容を復習する
30 60
3 構造体 構造体の基本  構造体の配列 テキスト(P332-341)を読む
授業内容を復習する
30 60
4 構造体 構造体のネスト 代入、比較、アドレス テキスト(P342-348)を読む
授業内容を復習する
30 60
5 構造体 構造体へのポインタ テキスト(P349-353)を読む
授業内容を復習する
30 60
6 構造体 構造体と関数  アロー演算子 テキスト(P354-362)を読む
授業内容を復習する
30 60
7 6回~9回までのまとめ 数値計算への応用  連立方程式の解法プログラムをグループで作成 授業内容を復習する 30 60
8 6回~9回までのまとめ(続) 数値計算への応用  連立方程式の解法プログラムをグループで作成 授業内容を復習する 30 60
9 ファイル入出力 ファイル入出力の基本  文字列の入出力 テキスト(P364-370)を読む
授業内容を復習する
30 60
10 ファイル入出力 文字列の入出力  書式付入出力 テキスト(P371-377)を読む
授業内容を復習する
30 60
11 ファイル入出力 テキストとバイナリのファイル テキスト(P378-386)を読む
授業内容を復習する
30 60
12 総合演習 C言語2級検定問題による演習1 授業内容を復習する 30 60
12 総合演習 C言語2級検定問題による演習1 授業内容を復習する 30 60
14 総合演習 C言語2級検定問題による演習1 授業内容を復習する 30 60
15 後期のまとめ まとめと総括。小テストの実施 授業内容を復習する 30 60

【テキスト】

速習C言語入門―脳に定着する新メソッドで必ず身につく [第2版]

ノートPCはMacが良いと思う理由

Published by:

新学期に、ノートPCを考えることがありませんか?

WindowsのノートPCか、MacのノートPCか、悩むかもしれません。

ここはノートPCはMacが良いと思う理由を列挙する。

OSXとWindows両方利用できる

Macbookに、Boot Campというソフトウェアある。

Boot Campブートキャンプ)は、アップルにより開発・配布されているソフトウェアIntel Macにおいて、Microsoft Windowsの利用を可能とする。

UNIX(Linux)の勉強

OS X(オーエス テン)は、アップルが開発・販売する、Macbook コンピュータ用の現行オペレーティングシステムである。BSD UNIX ベースで新たに Mac OS X(マック オーエス テン)が作られた。

MacbookにUNIX, Apache, PHP内蔵のため、活用範囲大

Linux(リナックス)は、UnixライクなOSカーネルであるLinuxカーネル、およびそれをカーネルとして周辺を整備したシステム。

iPhoneのアプリの開発

iPhoneのアプリの開発は、Apple社のMac PCが必須です。

Macbookのトラックパッドの性能が素晴らしすぎる

Macbookでも Pro でも Air でもトラックパッドの性能というか動きが素晴らしすぎるんです。トラックパッドとはWindowsでいうタッチパッドのことなんですが、一度使うと抜け出せない程使いやすいんです!

先日ヨドバシカメラへ行った際に、hp・Dell・NEC・VAIO・Surface・Lenovo機を触ってきたのですが、それらブランドノートPCの多くはタッチパッドに若干のひっかかりがあり、ぎこちなさは否めなかったです。LenovoのThinkPadとSurfaceはなかなかよかったので、もしもWindowsノートPCを使うなら、Surfaceは膝の上でタイピングできないですしThinkPadかな?と感じました。

これを読んでいるWindowsだけのユーザーさんは是非店頭でMacbookを触ってもらえばと思います。きっと惚れてまうよ(笑)

同価格帯のWindowsノートPCよりも画面が綺麗

同価格帯のWindowsノートPCと比べて、Retina画面ではないMacbook Airですら画面の綺麗さが違います。雲泥の差です。持ち運び用の小さい画面ですから、綺麗=見やすいにこしたことはありません。作業しやすいですよ。

スリープ復帰速度とバッテリー管理はMacが上

スリープ復帰の速さとスリープ中のバッテリー消費管理はMacbookの方が断然上だと感じます。Macbookは画面を持ち上げたその時から普通に作業開始できます。また、Macbookはスリープしながら何日も放置できます。安いWindowsノートPCなんかですと、スリープしているのにもかかわらず恐ろしくバッテリーが減っていることもしばしば・・・。

キーボードが打ち易すぎる

MacはWindowsに無いキーがあったり、若干配置が違いますが、それは慣れてしまえばどうでも良いこと。それらを差し引いても、あのキーボードの打ち易さはハンパないです。機体を膝に乗っけてタイピングしても超快適な打ち心地です。タイプしていると気持ちが良いんです。外出して作業するときにはWindows ノートよりもタイピングがはかどることは間違いないです。一応WindowsノートだとLenovoのThinkPad x250はなかなか打ちやすく、さすがビジネスモデルだと思いました。

画面の縦幅が長い

Windows ノートの画面はほぼ「16:9」で、ワイド画面の幅です。それに比べ、Macbookの画面は「16:10」で縦幅が若干長いのです。例をだすと、Macbook Airの画面解像度は「1440×900」ですが、Windowsノートだと「1440x810」となります(実際にこのサイズのWindowsノートはありませんがあくまでも比率の問題)。この差は結構重要で、見やすさと作業効率に若干の影響を与えます。

やっぱりカッコイイ

外でMacbookを広げている人を見ると、やっぱりカッコイイと思う自分がいます(笑)冒頭で書きましたが、1人で引きこもって作業している時には特にそういうものは気にせず使いやすさ重視なのですが、外ではやはりMacbookがカッコイイのですよ!!これはWindowsノートPCには覆せない現実です。

Macbookは細部まで本当に丁寧に作られていますし、デザインに無駄がなというのはこういうことだな・・・と自分のMacbook Airや店頭のその他Mac機体たちをみていてつくづくそう思います。

C code II – シラパス

Published by:

【授業の概要】

コンピュータプログラム開発言語の中で広く利用されているC言語をCプログラミング開発環境ソフト:
CPad for Borland C++ Compilerを使った一人一台のPCを使い実習により学びます. 毎回問題に取り組み理解を深めます。復習問題としてプログラミング課題を出題する。

【授業要旨】

回数 題目 授業内容 学習課題 予習時間(分) 復習時間(分)
1 ガイダンス 学習目的 C言語プログラミングⅠの前期試験解説  C言語検定試験について 授業内容を復習する 30 60
2 配 列 配 列 テキスト(P88-101)を読む
授業内容を復習する
30 60
3 配 列 多次元配列 テキスト(P102-110)を読む
授業内容を復習する
30 60
4 関 数 関数とは テキスト(P114-121)を読む
授業内容を復習する
30 60
5 関 数 関数の設計 テキスト(P122-138)を読む
授業内容を復習する
30 60
6 関 数 有効範囲と記憶域期間 テキスト(P140-146)を読む
授業内容を復習する
30 60
7 1回~6回までのまとめ 演算に関する演習問題をグループで解く 授業内容を復習する 30 60
8 基本型 基本型と数 テキスト(P148-151)を読む
授業内容を復習する
30 60
9 基本型 整数型と文字型 テキスト(P152-171)を読む
授業内容を復習する
30 60
10 基本型 浮動小数点型 テキスト(P172-175)を読む
授業内容を復習する
30 60
11 基本型 演算と演算子 テキスト(P176-182)を読む
授業内容を復習する
30 60
12 プログラム問題 関数形式マクロ テキスト(PP184-189)を読む
授業内容を復習する
30 60
13 プログラム問題 列挙体 テキスト(P190-193)を読む
授業内容を復習する
30 60
14 プログラム問題 再帰 テキスト(P194-197)を読む
授業内容を復習する
30 60
15 後期のまとめ まとめと総括。小テストの実施 授業内容を復習する 30 60

【テキスト】

新・明解C言語 入門編 (明解シリーズ)

参考:

Compile a C code on MacBook

Published by:

MacBookで、C言語開発環境の構築

Macに最初から入っている「テキストエディット」とMacに最初から入っている「ターミナル」から入門できますが、無料で多機能Atomを使えこなせるとより本格的にC言語開発できます。

 

Mac:C言語開発環境

Xcode またはXcode Command Line Toolsを入れる。

Xcode

MacBookでは、Xcodeの開発環境を入れるは普通だか、サイズが大きい。iPhoneのアプリ開発環境も一気に揃う利点があります。

Xcode Command Line Tools

Xcode Command Line Toolsだけ入れるとする。サイズの節約になります。

# xcode-select –install

上記コマンド打って「インストール」を選択するだけでいい!

インストールしたら、確認する:
chen-no-air:bin chen$ gcc --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 7.3.0 (clang-703.0.29)
Target: x86_64-apple-darwin15.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
chen-no-air:bin chen$
chen-no-air:bin chen$ git --version
git version 2.6.4 (Apple Git-63)
chen-no-air:bin chen$
Mac: ソースコード作成

Macに最初から入っている「テキストエディット」, 「ターミナル」で使えるVimや無料で多機能Atomなどのテキストエディタを使って、以下のプログラムをhello.cというファイル名で作成します。作成したファイルはデスクトップに保存します。

#include<stdio.h>
int main() {
  printf("Hello, World\n");
  return 0;
}

Mac:ソースコードコンパイル(gcc)

次に「Finder」を起動し、「アプリケーション」→「ユーティリティ」から「ターミナル」を起動します。

cdコマンドで作業ディレクトリをデスクトップに移動します。

$ cd ~/Desktop/

gccコマンドで、hello.cをコンパイルします。

$ gcc hello.c

コンパイルが成功すると実行ファイル(a.out)が作成されます。lsコマンドで確認してみましょう。

$ ls
a.out   hello.c 

Mac:プログラムの実行

「./a.out」と入力し、プログラムを実行します。

$ ./a.out 
Hello, World

無事に実行できました

参考

  • http://matome.naver.jp/odai/2135755970513071001 — 【Hello World!】MacでC言語プログラミングの勉強をするための準備〜【超初心者】
  • http://www.yoheim.net/blog.php?q=20111218 — [C言語] MacbookでC言語を学習する環境を作る方法
  • http://dotinstall.com/lessons/basic_c — C言語の基礎 (全22回) – ドットインストール

C code III – シラパス

Published by:

【授業の概要】

コンピュータプログラム開発言語の中で広く利用されているC言語をCプログラミング開発環境ソフト:
CPad for Borland C++ Compilerを使った一人一台のPCを使い実習により学びます. 毎回問題に取り組み理解を深めます。復習問題としてプログラミング課題を出題する。

【授業要旨】

回数 題目 授業内容 学習課題 予習時間(分) 復習時間(分)
1 ガイダンス 学習目的 C言語プログラミングⅡの試験解説   C言語検定試験について 授業内容を復習する 60
2 標準ライブラリ関数1 標準入出力関数 テキスト(P186-193)を読む
授業内容を復習する
30 60
3 標準ライブラリ関数2,3 文字列操作関数  文字操作関数 テキスト(P194-208)を読む
授業内容を復習する
30 60
4 標準ライブラリ関数4,5 数学関数  一般ユーテリティ関数 atoi atof rand srand テキスト(P209-224)を読む
授業内容を復習する
30 60
5 ポインタの仕組み アドレスとは テキスト(P225-233)を読む
授業内容を復習する
30 60
6 ポインタの仕組み ポインタで変数を指す テキスト(P234-238)を読む
授業内容を復習する
30 60
7 ポインタの仕組み ポインタで配列を指す テキスト(P239-245)を読む
授業内容を復習する
30 60
8 ポインタの仕組み ポインタの配列 テキスト(P246-254)を読む
授業内容を復習する
30 60
9 ポインタのまとめ ポインタを使ったプログラムをグループで作成する 授業内容を復習する 30 60
10 関数の自作 関数の基本 Void type関数 関数へ値を渡す テキスト(P255-276)を読む
授業内容を復習する
30 60
11 関数の自作 関数に配列を渡す  再帰関数 テキスト(P277-288)を読む
授業内容を復習する
30 60
12 関数の自作 main関数への引数 適用範囲と記憶クラス テキスト(P288-302)を読む
授業内容を復習する
30 60
12 関数のまとめ 関数を使ったプログラムをグループで作成する 授業内容を復習する 30 60
14 ビットを意識する 整数型 浮動小数点型 テキスト(P304-314)を読む
授業内容を復習する
30 60
15 前期のまとめ まとめと総括。小テストの実施 授業内容を復習する 30 60

【テキスト】

速習C言語入門―脳に定着する新メソッドで必ず身につく [第2版]