岩村雅一 masa@cs.osakafu-u.ac.jp 知能情報工学演習I 第9回(C言語第3回) 岩村雅一 masa@cs.osakafu-u.ac.jp.

Slides:



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

復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
演算、整数型と浮動小数点型 第3回目 [4月27日、H.16(‘04)] 本日のメニュー 1)前回の課題・宿題 2)ファイルサーバの利用
応用理工学情報処理 第1回(2015年10月 5日) 月曜日担当 前島展也 Manaba
コンピュータープログラミング(C言語)(3) 1.関数と分割コンパイル (復習) 2.キーボード入力
情報基礎演習B 後半第5回 担当 岩村 TA 谷本君.
演算、整数型と浮動小数点型 第3回[平成16年4月27日(火)]:PN04ー03.ppt 今日の内容 1 復習 2 加減・乗除演算子
基礎プログラミングおよび演習 第9回
C言語 第2講 生物機能制御学講座 濱田 農学部7号館209室.
理由:文字数より要素数の多い配列を用いた時に,文字列の最後を示すため
理由:文字数より要素数の多い配列を用いた時に,文字列の最後を示すため
プログラミング演習Ⅰ 課題2 10進数と2進数 2回目.
精密工学科プログラミング基礎 第9回資料 (12/11 実施)
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
プログラミング演習 バージョン1 担当教員:綴木 馴.
ちょっとした練習問題① 配列iroを['R', 'W', 'R', 'R', 'W' , 'W' , 'W']を宣言して、「W」のときの配列の番号をprintfで表示するようなプログラムを記述しなさい。
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
プログラミング応用 printfと変数.
知能情報工学演習I 第9回( C言語第3回) 課題の回答
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
知能情報工学演習I 第12回(後半第6回) 課題の回答
今までの練習問題の復習.
第13章 文字の取り扱い方 13.1 文字と文字型変数 13.2 文字列 13.3 文字型配列への文字列の代入
知能情報工学演習I 第9回(後半第3回) 課題の回答
第13章 文字の取り扱い方 13.1 文字と文字型関数 13.2 文字列 13.3 文字型配列への文字列の代入
第7回 プログラミングⅡ 第7回
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
知能情報工学演習I 第8回( C言語第2回) 課題の回答
岩村雅一 知能情報工学演習I 第13回(後半第7回) 岩村雅一
プログラミング基礎B 文字列の扱い.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
2013年度 プログラミングⅡ ~ 計算してみよう ~.
2015年度 プログラミングⅡ ~ 計算してみよう ~.
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
岩村雅一 知能情報工学演習I 第12回(C言語第6回) 岩村雅一
C言語 はじめに 2016年 吉田研究室.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
プログラミング演習I 2003年4月30日(第3回) 木村巌.
地域情報学 C言語プログラミング 第2回 変数・配列、型変換、入力 2017年10月20日
知能情報工学演習I 第7回(後半第1回) 課題の回答
x y 復習 変数とその種類 変数とは何か? →データ(数値)を入れておく箱 変数名 変数名とは何か?
復習 breakとcontinueの違い int i; for (i = 1; i <= 100; i++) { ・・・処理1・・・・
復習 Cにおけるループからの脱出と制御 break ループを強制終了する.if文と組み合わせて利用するのが一般的. continue
第13章 文字の取り扱い方 13.1 文字と文字型変数 13.2 文字列 13.3 文字型配列への文字列の代入
復習 breakとcontinueの違い int i; for (i = 1; i <= 100; i++) { ・・・処理1・・・・
知能情報工学演習I 第8回(後半第2回) 課題の回答
cp-3. 計算 (C プログラミング演習,Visual Studio 2019 対応)
プログラミング 4 文字列.
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
岩村雅一 知能情報工学演習I 第12回(後半第6回) 岩村雅一
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
情報処理Ⅱ 第2回 2004年10月12日(火).
第3回簡単なデータの入出力.
四則演算,変数 入力文,出力文,代入文, ライブラリ関数
printf・scanf・変数・四則演算
知能情報工学演習I 第11回(後半第5回) 課題の回答
知能情報工学演習I 第9回(後半第3回) 課題の回答
復習 いろいろな変数型(2) char 1バイト → 英数字1文字を入れるのにぴったり アスキーコード → 付録 int
岩村雅一 知能情報工学演習I 第13回(後半第7回) 岩村雅一
知能情報工学演習I 第10回( C言語第4回) 課題の回答
プログラミング演習I 補講用課題
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
変数と代入・読込と表示 第2回[平成15年4月24日(木)]:PN03ー02.ppt 今日の内容 1 プログラムの構造(復習)
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
Presentation transcript:

岩村雅一 masa@cs.osakafu-u.ac.jp 知能情報工学演習I 第9回(C言語第3回) 岩村雅一 masa@cs.osakafu-u.ac.jp

C言語の予定 *:岩村不在 5月27日* プログラミング環境(テキスト1,2章) 6月 3日* 変数とデータ型(3章) 、演算子(4章) 5月27日* プログラミング環境(テキスト1,2章) 6月 3日* 変数とデータ型(3章) 、演算子(4章) 6月10日* コンソール入出力(6章) 、配列(3章)、 数学処理の標準ライブラリ(11章) 6月17日* 制御文1 (テキスト5章) 6月24日 制御文2(テキスト5章) 7月 8日 関数1(テキスト7章) 、 プリプロセッサ(テキスト10章) 7月15日 応用プログラム

本日のメニュー コンソール入出力 printfとscanf 配列 数値の配列 文字列 数学処理の標準ライブラリ

コンソール入出力 先週までのプログラムは、値を変えたいときに、再度コンパイルが必要 コンパイルなしで値を変えたい コンソール入出力とは      コンパイルなしで値を変えたい コンソール入出力とは キーボードからの入力 scanf ディスプレイへの出力 printf

scanf:文字列や数値の入力 サンプルプログラム 変数aの値を入力 #include <stdio.h> int main(void) { int a; printf("Input a: "); scanf("%d", &a); printf("a = %d\n", a); return 0; } 変数aの値を入力

scanf:文字列や数値の入力 文字列 5 0 入力 scanf("%d", &a); 注意:「&」が必要!! 変数aに50が入る Enter 注意:「&」が必要!! 50 変数aに50が入る

printf:文字列の表示 文字列 H e l l o \n H i ! \n H o w a r e y o u ? \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 改行 改行

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

printfの変換仕様(テキストP.149) %o 8進数 %d 10進数 %ld long型変数に10進数 %x, %X 16進数(それぞれ小文字と大文字) %f float型、 double型変数 %e, %E 指数形式(それぞれ小文字と大文字) %c 1文字 %s 文字列 整数 小数 文字

scanfの変換仕様(テキストP.155) %o 8進数 %d 10進数 %ld long型変数に10進数 %x 16進数 %f float型変数 %lf double型変数 %c 1文字 %s 文字列 整数 小数 文字

配列(テキストP.57) 同種のデータ型を連続してメモリに確保したもの 配列の宣言 int a[10]; double b[5]; double型の変数5個で構成される配列b

配列 普通の変数 配列 a int a; a = 10; 10 int a[5]; a[0] = 1; a[1] = 2; -3

配列 2次元配列 int a[2][5]; a[0][0] = 1; a[0][1] = 2; a[0][2] = 5; [3] [4] a[0] 1 2 5 10 -3 a[1] 9 9 8

配列のサンプルプログラム #include <stdio.h> int main(void) { float a[2][2]; a[0][1] = a[0][0] + 20.0; scanf("%f", &a[1][0]); a[1][1] = a[1][0]; printf("a[0][0] = %f\n", a[0][0]); printf("a[0][1] = %f\n", a[0][1]); printf("a[1][0] = %f\n", a[1][0]); printf("a[1][1] = %e\n", a[1][1]); return 0; }

文字列(テキストP.60) 文字列はchar型変数の配列で表現される 実はもう使っている 文字列を表示 printf("Hello\n"); 文字列

文字列の内部表現(テキストP.61) 文字列は「文字列」とNULL文字で表される H e l l o \n \0 6バイトで表現される 改行 6バイトで表現される 7バイト

文字列のサンプルプログラム strcpyを使うため 配列は多めに確保 変数aに文字列を代入 変数bの値を入力 配列の場合は「&」が #include <stdio.h> #include <string.h> int main(void) { char a[100], b[100]; strcpy(a, "Hello again!"); scanf("%s", b); printf("a = %s\n", a); printf("b = %s\n", b); return 0; } strcpyを使うため 配列は多めに確保 変数aに文字列を代入 変数bの値を入力 配列の場合は「&」が 無くても良い

数学処理の標準ライブラリ (テキスト p.264) まずはサンプルプログラムを。

数学処理のサンプルプログラム sqrtを使うため #include <stdio.h> #include <math.h> int main(void) { float a,b; printf("Input a number: "); scanf("%f", &a); b = sqrt(a); printf(“sqrt of %e = %e\n", a, b); return 0; } sqrtを使うため

数学処理の標準ライブラリ (テキスト p.264) 標準関数 お約束 sin(double a): aのsine cos(double a): aのcosine tan(double a): aのtangent log(double a): aの自然対数 sqrt(double a): aの平方根 exp(double a): aの指数 fabs(double a): aの絶対値 pow(double a, double b): aのb乗 ceil(double a): aを下回らない最小の整数値 floor(double a): aを越えない最大の整数値 お約束 数学処理の標準ライブラリを使うには、コンパイル時に -lm をつける。 gcc test.c -lm