Windows で C プログラミング

>100 Views

February 08, 22

スライド概要

次の2つのポイントを説明
・Windows で C プログラムを Microsoft Build Tools を用いてコンパイル(プロジェクトやソリューションは使わない)
・Windows で getchar() を使うときの注意点(getchar はややこしいのです)

URL: https://www.kkaneko.jp/cc/cintro/index.html

profile-image

金子邦彦(かねこくにひこ) 福山大学・工学部・教授 ホームページ: https://www.kkaneko.jp/index.html 金子邦彦 YouTube チャンネル: https://youtube.com/user/kunihikokaneko

シェア

埋め込む »CMSなどでJSが使えない場合

各ページのテキスト
1.

Windows で C プログラミング URL: https://www.kkaneko.jp/cc/cintro/index.html 金子邦彦 1

2.

トピックス • ソースコード • コンパイル • getchar() によるキーボード読み取り 2

3.

ソースコード (source code) • プログラムを,何らかのプログラミング言語 で書いたもの • 「ソフトウエアの設計図」ということも. 人間も読み書き、編集できる 3

4.
[beta]
C 言語プログラムの例
#include <stdio.h>

int main() {
prinf("Hello, World!\n");

return 0;
}

エディタでソースコードを編集

C 言語プログラムのソースコード

ファイルに保存

4

5.
[beta]
コンパイル
コンパイルは,ソースコードを実行形式ファイルに
変換すること.

#include <stdio.h>

int main() {
実行形式ファイ
ル

prinf("Hello, World!\n");
return 0;

コンパイラー

}
C 言語プログラムのソースコード
ファイル名: hello.c

5

6.

コンパイルの方法 • マイクロソフト C++ ビルドツール • 次のページからダウンロードしてインストール https://visualstudio.microsoft.com/ja/visual-cpp-buildtools/ • インストール手順は次のページで説明 https://www.kkaneko.jp/tools/win/buildtool.html • WSL 2 のコンパイラー • オンライン開発環境 C Tutor https://pythontutor.com/c.html Online GDB https://www.onlinegdb.com/ Coding Ground https://www.tutorialspoint.com/codingground.htm など 6

7.

マイクロソフト C++ ビルドツールの起動 コンパイルは, cl <ソースコードのファイル名> ・「/out:hello.exe」のように, 実行形式ファイル名が表示される ・コンパイルの前に cd コマンドで, ソースコードのファイルのある ディレクトリに移動 スタートメニューで, x86 Native Tools Command Prompt 7 (Visual Studio 2019 の下)

8.

getchar() で文字数を数える • 半角1文字: 1バイト • Enterキー: 1バイト 文字コードは、16進数の「0A」.C言語では '\n' • getchar() のふるまい Enter キーを押した時点で、キーボードバッファからの読 み取りが始まる。 8

9.

EOF (End of File) • Windows では,EOF は CTRL + Z(同時押し) • 行の先頭で CTRL + Z とした場合 EOF (1バイトとはカウントされない) • 行の先頭以外で CTRL + Z とした場合 CTRL + Z は、文字コードが「1A」の1バイトのデータ CTRL + Z 以降、当該行のすべてのデータが破棄される a b c d Enter CTRL+Z Enter EOF 5 バイト a b c CTRL+Z d Enter CTRL+Z Enter 9 EOF 4 バイト

10.

ここで学んだこと • while による繰り返し • 半角文字は1バイト • Enterキー: 1バイト.C言語では ‘\n’ • EOF(ファイルの終わり): Windows では CTRL + Z ※ 学習のため,getchar() を用いた.キーボードからの文字列読み 取りは,getchar() でなく,扱いが簡単な,fgets() を推奨する. 10