コンピュータープログラミング(C言語)(1) 仮想コンピュータでのプログラム環境 第一歩:「Hello world!」と四則演算

Slides:



Advertisements
Similar presentations
プログラミング論 第八回数字の計算,整数の入出力. 本日の内容 前回の課題(続き) 前回の課題(続き) 数字の計算をする 数字の計算をする – 加減乗除を行う – インクリメント演算子とデクリメン ト演算子.
Advertisements

第 2 章 数値の入力と変数 scanf と変数をやります 第 2 章 数値の入力と変数 1. 以下のプログラムを実行してみよう  C 言語では文の最後に「 ; 」(セミコロン)が付きます 第 2 章 数値の入力と変数 2 #include int main() { int x; x = 3; printf("x.
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
応用理工学情報処理 第1回(2015年10月 5日) 月曜日担当 前島展也 Manaba
コンピュータープログラミング(C言語)(3) 1.関数と分割コンパイル (復習) 2.キーボード入力
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
Java I 第2回 (4/18)
初年次セミナー 第4回 整数と実数の取り扱い.
1.1 C/C++言語 Hello.ccを作りコンパイルしてa.outを作り出し実行する
数値計算及び実習 第3回 プログラミングの基礎(1).
基礎プログラミングおよび演習 第9回
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
C言語 第2講 生物機能制御学講座 濱田 農学部7号館209室.
プログラミング入門2 第1回 導入 情報工学科 篠埜 功.
構造体.
プログラミング演習Ⅰ 課題2 10進数と2進数 2回目.
精密工学科プログラミング基礎 第9回資料 (12/11 実施)
初年次セミナー 第2回 文字の出力.
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
第2回 Microsoft Visual Studio C++ を使ってみよう
JAVA入門.
第二回 VB講座 電卓を作ろう.
C言語講習 第0章 Hello, world!.
関数の定義.
プログラミング応用 printfと変数.
基本骨格 #include #include : int main(void) { 変数の宣言 実行すること return 0; } #include int main(void) { int i; printf(”Hello world!\n”);
プログラムはどこに保存され,どこで実行されるのか?
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
コンピュータープログラミング(C言語)(4) 1.キーボード入力(復習) 2.条件分岐(if文)
高度プログラミング演習 (02).
プログラムはどこに保存され,どこで実行されるのか?
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
地域情報学 C言語プログラミング 第1回 導入、変数、型変換、printf関数 2016年11月11日
2013年度 プログラミングⅡ ~ はじめてのプログラミング ~.
プログラミング基礎B 文字列の扱い.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
整数データと浮動小数データ.
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
2017年度 プログラミングⅡ ~ はじめてのプログラミング ~.
2014年度 プログラミングⅡ ~ はじめてのプログラミング ~.
C言語 はじめに 2016年 吉田研究室.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
C言語ファミリー C# 高級言語(抽象的) Java オブジェクト指向 C++ C 機械語(原始的)
高度プログラミング演習 (01).
第1章 いよいよプログラミング!! ~文章の表示 printf~
プログラミング演習I 2003年4月30日(第3回) 木村巌.
地域情報学 C言語プログラミング 第1回 導入、標準出力、変数 2017年10月13日
地域情報学 C言語プログラミング 第2回 変数・配列、型変換、入力 2017年10月20日
C言語① 開発環境とプログラムの記述方法 2011.04.22 2011.04.22 C言語① 開発環境とプログラムの記述方法.
標準入出力、変数、演算子、エスケープシーケンス
プログラミング基礎a 第3回 C言語によるプログラミング入門 データ入力
cp-3. 計算 (C プログラミング演習,Visual Studio 2019 対応)
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
Cp-1. Microsoft Visual Studio 2019 C++ の使い方 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
例題のプログラムを通して JavaScriptの仕組みを理解することとします。
第3回簡単なデータの入出力.
四則演算,変数 入力文,出力文,代入文, ライブラリ関数
コンピュータープログラミング (C言語)(10) 1.ファイル入出力
プログラミング基礎a 第3回 C言語によるプログラミング入門 データ入力
printf・scanf・変数・四則演算
第2章 数値の入力と変数 scanfと変数をやります.
C言語講座 四則演算  if ,  switch 制御文.
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
第1章 文字の表示と計算 printfと演算子をやります 第1章 文字の表示と計算.
第1章 文字の表示と計算 printfと演算子をやります.
第1章 printf(“文字の出力\n”);
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
Presentation transcript:

コンピュータープログラミング(C言語)(1) 仮想コンピュータでのプログラム環境 第一歩:「Hello world!」と四則演算 コンピュータ基礎実験 第3回 コンピュータープログラミング(C言語)(1) 仮想コンピュータでのプログラム環境 第一歩:「Hello world!」と四則演算

コンピュータープログラミング コンピューターに何か作業をやらせるとき、コンピューターと人間は互いの言葉がわかりません 人間がコンピューターにやらせたいことを人間の言葉で書き、それをコンピューターに理解できる言葉に変換するのが「コンパイル」という作業です 「アプリ」、「ソフト」、「プログラム」‥‥はコンピューターが理解できる言葉で書かれた指示内容の記録の総称です

コンピューターにわかること コンピューターの理解できる言葉: 人間の理解できる言葉: 数字(2進数)の羅列 「1011, 0110, 1110, 1001, 0010, 1010‥‥」 人間にはさっぱり?(実は適当です) 人間の理解できる言葉: アルファベットで表された単語の羅列(数字含む) 「if(i==0){printf(“i is equal to zero.”;}」 人間間で使われる言語(自然言語)とは少し違うが、内容はなんとなくわかる

プログラミング言語 人間間の言語(自然言語)は、コンピューターへの指示を書き記すには複雑で無駄が多いので、自然言語に似せた、「簡略化された言語」を使います   「プログラミング言語」(コンピューター言語) 「プログラミング言語」には複数の流儀があります 「FORTRAN」、「COBOL」、「C言語」、「C#」、「BASIC」 「Java」、「Ruby」、「Perl」、「Lisp」‥‥いっぱいある

コンパイルとコンパイラー プログラミング言語(人間に可読)で書かれた「指示」を、コンピューターに理解できる内容に変換する作業を「コンパイル」といいます 「コンパイル」の作業はコンピューター自身が行います コンピューターに内容がわかるので、これは「コンピューターが理解可能な内容(プログラム)です この「変換プログラム」を「コンパイラー」と呼びます

いくつかの用語その1 ファイル:ひとまとまりの情報(データ)の塊。 ソースファイル:プログラミング言語で書かれた、人間に可読なファイル。 実行ファイル:コンピューターに理解可能な、コンパイラーで変換された後のファイル。「ソフト」、「アプリ」、「プログラム」などと呼ばれる。 オブジェクトファイル:ソースファイルから実行ファイルを作る途中につくられる、実行ファイルの組み立てに使われるパーツファイル。

いくつかの用語その2 ファイル名:ファイルに付けられた名前。 オペレーティングシステム(OS):コンピューターの基本動作を担うプログラム。「Windows10」、「Mac OS X」、「Linux」等 アプリケーションソフト:個々の具体的な仕事を行うプログラム。「アプリ」、「ソフト」、「コマンド」、「プログラム」など様々に呼ばれる 拡張子:何用のファイルかを示すために付けられる、ファイル名の末尾部分。「***.txt」、「***.doc」、「***.jpg」、「***.exe」等

C言語 プログラム言語の代表的なもの コンピューターに可能なことは何でもできる ⇒制約がなく、強力 強力なので、OSもC言語を使って作られる   ⇒制約がなく、強力 強力なので、OSもC言語を使って作られる 強力すぎて「危険なプログラム」(ウイルスなど)も作れる 文法に「くせ」がある。マニアック。通好み

C言語におけるコンパイルの流れ 「エディタ」を用いて「ソースファイル」を作る 「ソースファイル」から「実行ファイル」に変換(2段階) エディタ:人間が読める文章を作成・編集するソフト ソースファイル名:「hoge.c」(拡張子は「.c」) 「ソースファイル」から「実行ファイル」に変換(2段階) コンパイル:ソースファイルをコンピュータが理解できる言葉(機械語)に変換する(オブジェクト・ファイル hoge.o) リンク:オブジェクト・ファイルを組み立てて実行ファイルを作る(hoge.exe) 完成した実行ファイルを実行テスト 不都合(バグ、エラー)があれば1.へ戻る 完成

プログラミング統合環境 「エクリプス(Eclipse)」 プログラミングの1~4のプロセスを、相互に関連したソフト群を用いて、統一した環境で実行できるよう用意されたソフト エディター コンパイラー、リンカー プログラム実行環境 ソフト間連携制御ソフト

エクリプスの起動 「C:\Users\s16****\workspace」となっているはずです そのままにしておく 「OK」を押す

エクリプスの「C言語用設定」 「C/C++」用画面 ここをクリックし、現れたダイアログで「C/C++」をえらんで「OK」をクリック 「Java」(プログラム言語の一種)用の設定になっている 「C/C++」用画面

エクリプスの「日本語設定その1」 エクリプスで日本語を出力するプログラムを作成するには設定が必要です(設定しないと変な文字が出力される) 日本語の設定は、2段階に分かれています ここでは第一段階の設定を行います 第2段階の設定は、後の「プロジェクト」を設定してから 日本語を使用しないなら、この設定は不要

新しいCプロジェクトの開始 新たに一つプログラム作成するために、そのプログラムを作る「プロジェクト」を開始します プロジェクト:一つのプログラムを作成、プロジェクトごとにフォルダが作成される ワークスペース:プロジェクトをまとめて置いておくフォルダ(エクリプス開始時に聞かれる) ワークスペースにはいくつでもプロジェクトを置いておくことができます 本講義では、課題のプログラムごとにプロジェクトを作成します ワークスペース

“Hello World” プログラム 最も簡単なプログラムの例として、文字列を出力するプログラムを作りましょう プロジェクト名として、「EX3-1」という名前を付けましょう ワークスペースに「EX3-1」というフォルダが作られます 完成したプログラムは「EX3-1.exe」に成ります

Hello World プロジェクトの開始(EX3-1) 「ファイル」 プロジェクト名「EX3-1」 を入力 「新規」 「Cプロジェクト」 プロジェクトフォルダ「EX3-1」が作られる サンプルプログラム ここを書き換える 「MinGW GCC」 「Hello World ANSI  C プロジェクト」

“Hello World” 文字の出力 #include <stdio.h> #include <stdlib.h> int main(void){ puts(”!!!Hello World!!!”); /* prints !!!Hello World!!! */ return EXIT_SUCESS; } 「サンプル」 注釈(コメント)は /*と*/ の間に書く 半角スペース #include <stdio.h> int main(void){ printf(”Hello World!\n”); return 0; }           「変更後」 printf(…)という関数の宣言をしているstdio.hというファイルを取り込む 文の終わりにはセミコロン 改行のため “…と…”で囲まれた文字列を出力する

“Hello World” プログラムのコンパイルと実行 フロッピー(死語) マーク⇒変更ファイル保存 金づちマーク⇒コンパイル(別名ビルド) 再生マーク⇒プログラム実行 実行結果がここに

“コマンドプロンプト”でのプログラムの実行 三角マークをクリックして図のように「EX3-1」→「Debug」と開く 「EX3-1.exe-[amd…」の部分を右クリック 「ex3-1」と打ち込んでリターンキーを押す

エクリプスの「日本語設定その2」 日本語設定の第2段階目の設定をします 第2段階目の設定は「プロジェクト」に対する設定なので、プロジェクトを作成しないと設定することができません 第2段階目の設定は新しく「プロジェクト」を作成するごとに行う必要があります 「ツール設定」 「C/C++ビルド」の「>」マークをクリック 「設定」 右クリックして「プロパティ」を選択 「GCC Compiler」 ここに書き加える 「-c -fmessage-length=0」 ⇩ 「-c -fmessage-length=0 --input-charset=cp932 --exec-charset=cp932」 「その他」

「みなさんこんにちは」に書き換えてみよう エクリプスの「日本語設定その2」 日本語設定の第2段階目の設定をします 第2段階目の設定は「プロジェクト」に対する設定なので、プロジェクトを作成しないと設定することができません 第2段階目の設定は新しく「プロジェクト」を作成するごとに行う必要があります 「Hello World!」を 「みなさんこんにちは」に書き換えてみよう 「ツール設定」 「C/C++ビルド」の「>」マークをクリック 「設定」 右クリックして「プロパティ」を選択 「GCC Compiler」 ここに書き加える 「-c -fmessage-length=0」 ⇩ 「-c -fmessage-length=0 --input-charset=cp932 --exec-charset=cp932」 「その他」

各ファイルの場所 ソースファイルや実行ファイルの場所(フォルダ) 自分のPCにコピーするには「マイドキュメント」にコピーしてください ワークスペース:C:\ユーザー\s16****c\workspace ソースファイル:ワークスペースの中の「EX3-1\src」 実行ファイル:ワークスペースの中の「EX3-1\Debug」 オブジェクトファイル:ワークスペースの中の 「EX3-1\Debug\src」 「 s16****c」は各自のTUAT-ID 「 EX3-1」は「プロジェクト名」 自分のPCにコピーするには「マイドキュメント」にコピーしてください

プログラムの書き方(まとめ1) プログラムは void main(void) あるいは int main(void) で書き始める 2. 慣用的に小文字を用いて書く 3. 文の終わりにセミコロン( ; )をつける 4. 複合文は { } で囲み、ブロック化する 5. インデント(字下げ)で見やすくする 6. コメント(注釈)は /* と */ で囲む 7. ¥n は改行をするための特殊記号 8.プログラムの最後に”return 0;” 9. printf (“文字列”) は “と ”で囲まれた文字列を出力

<課題 > 【例題EX3-1】を参考にして,次のような出力をするプログラムを 書いてみよう. 課題EX3-2 Your Name(各自の氏名) 2-24-16, Naka-cho, Koganei, Tokyo 184-8588 Department of Applied Physics Tokyo University of Agriculture and Technology  プロジェクト名は 「EX3-2」 として下さい. 発展課題EX3-3 printf を使っていろいろな記号や空白を文字列を打ち出し, 画面上に好きな絵模様を作ってみよう.(日本語設定忘れるな)  プロジェクト名は「 EX3-3」として下さい. 改行やスペースの取り方に注意!

四則演算 プログラム 次に簡単なプログラムの例として、四則演算(+-*/)を使ったプログラムを作りましょう

 プロジェクト名は「EX3-4」として下さい. int a=12,b=23,c; のように略すことも可 【例題EX3-4】 /* EX3-4 */ #include <stdio.h> int main (void ) { int a, b, c; a=12; b=23; c=a+b; printf(“%d\n”, c); return 0; } 変数名 変数の型名 (ここでは整数型) 変数の宣言文: 一般に 型名 変数名,変数名, …; の形 *変数の型  については  次ページ 整数型の変数を printf(…) で 表示するため ☞ %dには    cの値が入る プログラムの終わり (書かなくてもOKだが…)  プロジェクト名は「EX3-4」として下さい.

変数の型と表記 (まとめ2) 型 扱える範囲(gcc-cygwin) printf 中の表記 文字型 char -127 〜 128 (文字) %c(文字), %d(値) 整数型  int -2147483648 〜 2147483647 %d 倍長整数型  long - 9223372036854775808 〜 9223372036854775807 %ld 単精度浮動小数点型  float 有効数字6桁の実数 3.4E-38 〜 3.4E+38 %f 倍精度浮動小数点型  double 有効数字15桁の実数 1.7E-308 〜 1.7E+308 変数の名付け規則: 先頭文字は英字(a-z, A-Z)または下線( _ ) 2文字目以降は英字,下線,数字 大文字と小文字は区別 先頭から31文字までが有効,予約語(do, for, …)などは不可

算術演算子 意味 数学記号 C言語での書き方 加算 + 減算 - 乗算 × * 除算 ÷ / あまり … % (例1)  (例2)  あるいは

2つの整数11と3の和,差,積,商,あまり,を計算するプログラムを作成し,結果を示せ.  課題 EX3-5  2つの整数11と3の和,差,積,商,あまり,を計算するプログラムを作成し,結果を示せ. ただし,結果は (1)2つの整数a,bが 11 と 3 として 2つの整数 a=11, b=3 和 a+b= … 差 a-b= … 積 a*b= …   商 a/b= … あまり …     と出力するよう工夫せよ. (2)2つの整数が 2012 と 510 の場合について同様に計算し,   結果を示せ.(日本語設定その2を忘れるな) 2つの整数 a=11, b=3 和 a+b=14 差 a-b=8 積 a*b=33 商 a/b=3 あまり 2 2つの整数 a=2012, b=510 和 a+b=2522 差 a-b=1502 積 a*b=1026120 商 a/b=3 あまり 482  プロジェクト名は「EX3-5」として下さい.

2つの実数11と3の和,差,積,商を計算するプログラムを作成し,結果を示せ.  課題 EX3-6 2つの実数11と3の和,差,積,商を計算するプログラムを作成し,結果を示せ. ただし,結果は (1)2つの実数a,bが 11 と 3 として 2つの実数 a=… , b=… 和 a+b= … 差 a-b= … 積 a*b= …   商 a/b= … と出力するよう工夫せよ.(日本語設定その2を忘れるな) 2つの実数 a =11.000000, b =3.000000 和 a+b = 14.000000 差 a-b = 8.000000 積 a*b = 33.000000 商 a/b = 3.666667  プロジェクト名は「EX3-6」として下さい.

 課題の提出方法:  1) 課題EX3-6の実行ファイル「EX3-6.exe」を添付   してEメールで送信してください。     本文には名前と感想   件名は「コンピュータ基礎実験3」     添付ファイル名は「EX3-6.exe」     宛先は 「muroo@cc.tuat.ac.jp」     として下さい.

発展課題 〜昨年の例から〜

課題1−2から #21 #02 毛虫をイメージ #04 #53 #30 #57

#10 #24 旗 #33 #48  てんとうむし #51 花 #11 #27 ピエロ

#52 #17 #55オリンピック出場 ならずの猫さんの 驚愕をイメージ #05 #18 #41 #09 4つの顔文字

#14 どらえもん #12 #35 おにぎり頭の生徒が 意見を述べるために 手を挙げてる絵

#39 下半身を隠した輩が それを見ている輩に 「嫌なら見るな」と言って いる状況です #07 宇宙人に連れ去られてる    モナーです!