岩村雅一 masa@cs.osakafu-u.ac.jp 知能情報工学演習I 第7回(後半第1回) 岩村雅一 masa@cs.osakafu-u.ac.jp.

Slides:



Advertisements
Similar presentations
第 2 章 数値の入力と変数 scanf と変数をやります 第 2 章 数値の入力と変数 1. 以下のプログラムを実行してみよう  C 言語では文の最後に「 ; 」(セミコロン)が付きます 第 2 章 数値の入力と変数 2 #include int main() { int x; x = 3; printf("x.
Advertisements

コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第3回 配列(1) 情報・知能工学系 山本一公
応用理工学情報処理 第1回(2015年10月 5日) 月曜日担当 前島展也 Manaba
情報基礎演習B 後半第5回 担当 岩村 TA 谷本君.
1.1 C/C++言語 Hello.ccを作りコンパイルしてa.outを作り出し実行する
第2章 数値の入力と変数 scanfと変数をやります.
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
プログラミング演習Ⅱ 第12回 文字列とポインタ(1)
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
C言語 第2講 生物機能制御学講座 濱田 農学部7号館209室.
プログラミング入門2 第1回 導入 情報工学科 篠埜 功.
知能情報工学演習I 第7回( C言語第1回) 課題の回答
第6章 2重ループ&配列 2重ループと配列をやります.
精密工学科プログラミング基礎 第9回資料 (12/11 実施)
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
知能情報工学演習I 第7回( C言語第1回) 課題の回答
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
ちょっとした練習問題① 配列iroを['R', 'W', 'R', 'R', 'W' , 'W' , 'W']を宣言して、「W」のときの配列の番号をprintfで表示するようなプログラムを記述しなさい。
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
プログラミング応用 printfと変数.
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第2回 ファイル処理 情報・知能工学系 山本一公
プログラムはどこに保存され,どこで実行されるのか?
知能情報工学演習I 第9回( C言語第3回) 課題の回答
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
知能情報工学演習I 第12回(後半第6回) 課題の回答
前回の練習問題.
知能情報工学演習I 第9回(後半第3回) 課題の回答
第7回 プログラミングⅡ 第7回
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
高度プログラミング演習 (02).
知能情報工学演習I 第8回( C言語第2回) 課題の回答
プログラムはどこに保存され,どこで実行されるのか?
岩村雅一 知能情報工学演習I 第13回(後半第7回) 岩村雅一
知能情報工学演習I 第7回( C言語第1回) 課題の回答
地域情報学 C言語プログラミング 第1回 導入、変数、型変換、printf関数 2016年11月11日
プログラミング基礎B 文字列の扱い.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
精密工学科プログラミング基礎Ⅱ 第4回資料 今回の授業で習得してほしいこと: 文字列の扱い ファイル入出力の方法 コマンドライン引数の使い方
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
岩村雅一 知能情報工学演習I 第12回(C言語第6回) 岩村雅一
C言語 はじめに 2016年 吉田研究室.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
プログラミング演習I 2003年4月30日(第3回) 木村巌.
地域情報学 C言語プログラミング 第1回 導入、標準出力、変数 2017年10月13日
知能情報工学演習I 第7回(後半第1回) 課題の回答
知能情報工学演習I 第11回( C言語第5回) 課題の回答
標準入出力、変数、演算子、エスケープシーケンス
知能情報工学演習I 第8回(後半第2回) 課題の回答
プログラミング 4 文字列.
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
岩村雅一 知能情報工学演習I 第12回(後半第6回) 岩村雅一
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
第3回簡単なデータの入出力.
湘南工科大学 2013年10月22日 情報理論2 湘南工科大学情報工学科 准教授 小林 学.
第4回 配列.
printf・scanf・変数・四則演算
第2章 数値の入力と変数 scanfと変数をやります.
知能情報工学演習I 第11回(後半第5回) 課題の回答
知能情報工学演習I 第9回(後半第3回) 課題の回答
岩村雅一 知能情報工学演習I 第13回(後半第7回) 岩村雅一
第5回 配列.
知能情報工学演習I 第10回( C言語第4回) 課題の回答
プログラミング演習I 補講用課題
第1章 文字の表示と計算 printfと演算子をやります 第1章 文字の表示と計算.
第1章 文字の表示と計算 printfと演算子をやります.
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
Presentation transcript:

岩村雅一 masa@cs.osakafu-u.ac.jp 知能情報工学演習I 第7回(後半第1回) 岩村雅一 masa@cs.osakafu-u.ac.jp

後半の予定 6月1日 プログラミング環境(テキスト1,2章) 6月8日 変数とデータ型(3章) 、演算子(4章) 6月1日 プログラミング環境(テキスト1,2章) 6月8日 変数とデータ型(3章) 、演算子(4章) 6月15日 コンソール入出力(6章) 、配列(3章) 6月22日 制御文1 (テキスト5章) 6月29日 制御文2(テキスト5章) 7月13日 関数1(テキスト7章) 7月20日 配列(3章) 、応用プログラム

授業のウェブページ 授業で用いたプレゼン資料や課題はウェブページで公開する  http://www.m.cs.osakafu-u.ac.jp/~masa/class/

本日のメニュー プログラム作成→実行 Cのプログラムの基本 文字列の表示 変数 コンパイラの使い方

プログラム作成→実行の流れ プログラムの作成 コンパイル 実行

1. プログラムの作成 次のプログラムを打ち込んで、smp1.cという名前で保存しましょう(テキストのP.22) #include <stdio.h> int main(void) { printf("Hello\n"); return 0; } (改行だけ入力する) (改行だけ入力する) (空白を入れる)

2. コンパイル C言語のプログラムはそのままでは実行することができない コンピュータが実行できるように変換が必要 コンパイラ     コンピュータが実行できるように変換が必要        コンパイラ この授業ではgccと呼ばれるコンパイラを利用 Windowsでも、UNIXともにフリーで使える

2. コンパイル + 3. 実行 打ち込んだプログラム(smp1.c)をgccでコンパイルする(テキストのP.11) gcc smp1.cと打ち、コンパイルする lsでa.outができていることを確認する a.outと打ってプログラムを実行する

Cのプログラムの基本1 プログラム #include <stdio.h> int main(void) { printf("Hello\n"); return 0; } 用意された関数(標準関数)を 使うときに必要 main関数は必ず作成する { }で囲まれた部分が関数の中身 main関数の最後に付ける

Cのプログラムの基本2 プログラム #include <stdio.h> int main(void) { printf("Hello\n"); return 0; } 文は「;」で終わる 文は「;」で終わる

文字列の表示 プログラム #include <stdio.h> int main(void) { printf("Hello\n"); return 0; } 文字列を表示 文字列

文字列の表示 文字列 H e l l o \n H i ! \n H o w a r e y o u ? \n printf("Hello\n"); printf("Hi!\nHow are you?\n"); H e l l o \n 改行 H i ! \n H o w a r e y o u ? \n 改行 改行

変数 プログラム内で数字や文字を記憶するため、変数が利用される 変数は覚える値の種類によって異なる いくつかの種類(型)が用意されている     いくつかの種類(型)が用意されている 使う変数は最初に宣言しなくてはいけない

サンプルプログラム #include <stdio.h> a3 = a1 + a2; b3 = b1 + b2; int main(void){ char a1, a2, a3; int b1, b2, b3; a1 = 6; a2 = 2; b1 = 192; b2 = 168; a3 = a1 + a2; b3 = b1 + b2; printf("a1=%d a2=%d\n", a1, a2); printf("b1=%d b2=%d\n", b1, b2); printf("a1+a2=%d\n", a3); printf("b1+b2=%d\n", b3); return(0); } 変数 型

変数の解説 char, intは整数を覚える 小数を覚える変数もある charとintは覚えられる数の大きさに違いがある(テキストP.51)

変数の名前の付け方のルール (テキストP.37) 名前に使える文字 アルファベット(大文字、小文字) 数字 アンダーバー(_) 名前の最初はアルファベットかアンダーバー 名前の長さは31文字まで 予約語(あらかじめCで使う名前)は使用不可 大文字と小文字は区別される

文字列の表示 文字列 a 1 = 6 a 2 = 2 \n printf("a1=%d a2=%d\n", a1, a2); 出力 6 2 改行

実行ファイルの名前を変える gcc (Cのプログラム)とすると実行ファイルがa.outになってしまう 実行ファイル名を変えたいとき gcc -o (実行ファイル名) (Cのプログラム) gcc -o smp1 smp1.cとしてコンパイルしてみよう 実行ファイルがsmp1としてできるので、実行してみよう

gccを使う上での注意点 Cのプログラムは.cとしなくてはいけない

プログラムの間違い プログラムの間違いには大きく2つある コンパイラがエラー/警告を出す プログラムをテストして判断する 文法の間違い 文字の打ち間違い 関数の使い方が間違っている       コンパイラがエラー/警告を出す 計算方法の間違い 問題を解く解法が間違っている(例:「5+3」→「5-3」) 希望の動作をするようプログラムが書かれていない       プログラムをテストして判断する

コンパイラのエラー/警告 エラーは直さないとプログラムが動かない 警告は無視してもプログラムは動作する ただし、なぜ警告が出たかは把握すること

エラーの例 printfをprintとした場合 mainをmaniと打ち間違えた場合 printf()の“を忘れた場合 smp1.c: undefined reference to `print’ mainをmaniと打ち間違えた場合 Undefined reference to `main’ printf()の“を忘れた場合 smp1.c: In function `main’: smp1.c:5: `Hello’ undeclared (first use in function)

課題 変数aにあながた生まれた月、変数bに生まれた日を代入して、a+bとa-bを計算して出力するプログラムを作成しなさい ただし、レポートはLaTeXで作成し、DVIファイル(.dvi)とCのソース(.c)を提出すること レポートには名前、学籍番号、授業に対するコメント(任意)を書く Cのソースは\begin{verbatim}と\end{verbatim}で囲む(5月11日の資料の6.1を参照)