プログラミング基礎演習

鹿児島大学
プログラミング基礎演習
第2回
C言語での表示
半田利弘
鹿児島大学 大学院理工学研究科 物理・宇宙専攻
理化学研究所
本日の内容
▶ 教科書
■
■
第0章「C言語とは」
第1章「表示」
▶ 復習:OSとコマンド
▶ プログラミング言語とコンパイラー
理化学研究所
OSとコマンド:復習
理化学研究所
ドライブ
▶ いろいろな外部記憶装置
■
■
ハードディスク、USBメモリー、CD-ROM
1つずつに名前を付ける=“ドライブ”
▶ OS上での表記
■
■
アルファベット1文字+”:”
A:, B:, C:, …
理化学研究所
ドライブ間の移動
▶ 行き先のドライブ名と“:”
■
■
Eドライブへ移動 e:
Cドライブへ移動 c:
▶ この部屋のコンピューターでは
■
■
USBメモリはeドライブ
ハードディスクはcドライブ
理化学研究所
授業で多用するコマンド
■
フォルダ内のファイル一覧を表示せよ
 dir
■
新しくフォルダーを作れ
 mkdir 新しいフォルダー名
■
フォルダーを移動せよ
 cd 行き先のフォルダー名
 cd ..
■
ファイルを削除せよ
 del
■
理化学研究所
ファイル名
ファイル名を変更せよ
 rename 古い名前
新しい名前
プログラミング言語と
コンパイラ
理化学研究所
プログラミング言語
▶ ソースプログラム foo.c
■
■
人間が読んでも何とかわかる
人間が直接作る
▶ 実行形式 foo.exe
■
■
コンピューターにしかわからない書き方
コンピューターが迅速に実行できる書き方
理化学研究所
コンパイラとエディタ
▶ コンパイル、コンパイラ
■
■
コンパイル:ソースから実行形式を作ること
コンパイラ:コンパイルをするプログラム
▶ エディタ
■
ソースプログラムを書くためのプログラム
▶ 統合開発環境
■
プログラムを書くのに必要な全てが揃っている
理化学研究所
プログラム作りの基本的な流れ
1. エディタでソースを作る
■
■
文法に従ってソースを書く
妥当な名前で保存する list1.c
2. コンパイラでコンパイル
■
■
cl list1.c
うまくいけばlist1.exeができる
3. 実行形式を実行する
■
■
list1
何かが起こる!
理化学研究所
エディタ
▶ エディタって?
■
■
■
一番原始的なワープロ
文字などが入力できる
文字の見かけは気にしない
 色とか絵文字が使えない
 電子メールの本文を作るのと類似
理化学研究所
ソースプログラムの作り方
▶ エディタは、「メモ帳」でも使える
■
スタートメニュー→すべてのプログラム
→Accesories→メモ帳
▶ 今回は“統合開発環境”を利用
■
スタートメニュー→すべてのプログラム→プログラ
ミング→MS Visual studio2012→Visual Studio
Tools→VS2012の開発者コマンドプロンプト
理化学研究所
1つ作ってみよう
▶ 画面に文字を書く:p.7 List0-1, p.14 List1-1
#include <stdio.h>
int main(void);
int main(void)
{
printf("Hello, world.\n");
return(0);
}
▶ 保存して、コンパイルして、実行!
■
■
USBメモリを差し込んで、E:ドライブに保存する
コンパイラ画面のドライブをE:に移動する
理化学研究所
C言語の基本文法
理化学研究所
C言語の最も基本的な約束
▶ 改行は無視する
■
■
例外1:先頭が「#」
例外2:「//」に続く部分はコメント
▶ 文の区切りは「;」
▶ 「/*」と「 */」で区切られているものはコメント
■
プログラム動作に影響しない
▶ 別の言語では異なるルール
理化学研究所
本当かね?
▶ 適当に変えてみて影響がないか確かめる。
■
■
改行を適当に加除する
コメントを適宜、加除する
#include <stdio.h>
int main(void);
/* I am Handa. Yeh! */
int main(void)
{
printf("Hello, world.\n");
return(0);
}
理化学研究所
いろいろやってみよう
▶ うまくいったら、取りあえず“正しい”書き方
■
■
改行の位置を変えたら?
空白の数を変えたら?
#include <stdio.h>
int
main(void);
int main(void)
{ printf("Hello, world.\n");
return(0);
}
理化学研究所
漢字などは書けるか?
▶ "と"との間は漢字を書いても良い
■
漢字入力 左上の「半角/全角」キーを押す
▶ p.21 List1-2
#include <stdio.h>
int main(void);
int main(void)
{
printf("はじめまして、半田利弘です。\n");
return(0);
}
理化学研究所
何行も表示させる
▶ p.22 List1-3
#include <stdio.h>
int main(void);
int main(void)
{
printf("Hello, world.\n");
printf("Hello, Japan.\n");
printf("Hello!\n");
return(0);
}
理化学研究所
\nって何?
▶ p.23 List1-4
#include <stdio.h>
int main(void);
int main(void)
{
printf("Hello, ");
printf("world.\n Hello, Japan.\nHello!\n");
return(0);
}
理化学研究所
どこが間違いやすい?
▶ p.24 List1-5
#include <stdio.h>
int main(void);
int main(void)
{
print("Hello, world.\");
return(0);
{
理化学研究所
課題、宿題
▶ 画面に自分の名前を3行繰り返して表示する
プログラムはどう書けるか?
▶ 来週までに作って、USB等で持ってくる
理化学研究所