Microsoft PowerPoint ppt
|
|
|
- とらふみ うすい
- 9 years ago
- Views:
Transcription
1 基礎演習 3 C 言語の基礎 (5) 第 05 回 (20 年 07 月 07 日 ) メモリとポインタの概念 ビットとバイト 計算機内部では データは2 進数で保存している 計算機は メモリにデータを蓄えている bit 1bit 0 もしくは 1 のどちらかを保存 byte 1byte 1bitが8つ集まっている byte が メモリの基本単位として使用される メモリとアドレス メモリは 1byte を保存できる場所が大量にある それぞれの場所には アドレスがふられている メモリの概念図 アドレスがふられている C 言語の変数とメモリ C 言語で用いる変数等も 実際の値はメモリ上にある メモリ上のどこに置くかとかは OS やコンパイラが適時やってくれる アドレスの参照とは C 言語では 実際にどこにデータが保存されているのか プログラム中で参照できる 変数 T これは此処に入れるか 計算機 変数 T を使用と 人 変数 T 計算機 0002 です 変数 T のアドレスは? 人
2 アドレスの参照の方法 変数の前に & をつけると その値をどこに保存しているか ( アドレス ) を参照できる例 : #include <stdio.h> pirntf("%u n",&i); &i とすることで i が保存されているアドレスを参照できる アドレスにある値の参照 どこに保存されているか はわかる 次にやりたいことは? その場所に入っている値は何? アドレスの前に * をつけると そのアドレスに保存している値を参照できる 更に C 言語では アドレスを保存する型も存在する ポインタ ポインタとアドレス ポインタ アドレスを保存している変数です このポインタを型として宣言することができます 整数型や字型と合わせて宣言されます 変数 poi はポインタである と宣言するのではない! 変数 poi は整数型の値を保存する場所のポインタ 変数 poi は字型の値を保存する場所のポインタ のように どの型を保存しているアドレスを保存しているのかを区別 例 : ポインタの宣言 (1) #include <stdio.h> int *poi_01; int arr[]; ポインタの宣言の仕方 *poi_01 は整数型である 宣言するときに * をつけると * の次の字は ポインタになる poi_01 の部分が整数型のデータを保存するアドレスを保存するポインタとなる ポインタの宣言 (2) #include <stdio.h> 整数型の変数 i を宣言 整数型の変数 *poi_01 を宣言 int i; poi_01はアドレス i; int *poi_01; サイズの整数型の配列 int arr[]; arrは配列の最初の要素のアドレス アドレスを参照するには 値を参照するには int i; &i i int *poi_01; poi_01( または &*poi_01) *pot_01 int arr[]; arr arr[0] サンプルプログラム #include <stdio.h> int unsigned int i=1; unsigned int *poi_01; unsigned int arr[]={3,2,3,4,5,6,7,8,9,; *poi_01=4; printf("000 %u %u %u %u %u %u n",i, &i, *&i); printf("001 %u %u %u %u n",*poi_01, poi_01); printf("%u %u %u %u %u n",arr, arr[0], &arr[0]);
3 復習 : C 言語と関数 関数の自作の基礎 C 言語の 関数 とは 入力を与えると出力を返すような " もの " です 入力 関数 出力 13/59 個々の関数について 何を何個入力として与えるか 何を出力するか は 決められています C 言語は 基本的に関数からなりたちます 関数は 自作することもできます 関数の自作とは 同様の処理をプログラムの彼方此方で使う場合 同じソースコードを何回も書くのは面倒! 関数として準備しておこう! C 言語では 自分で関数を自作することができる 自作するためには 以下が必要 関数の入出力をプロトタイプ宣言として書く 関数の実際の動作を書く 復習 : 典型的なソースファイルの構成 #include<pow.h> x=pow(); y=sqrt(); 関数が並んでいる ヘッダファイルを include どんな入出力の関数を使うのかを指定 main は必ずある 既存の関数の実際の動作は ライブラリにバイナリとして存在 関数を自作するには #include<pow.h> x=pow(); y=sqrt(); 関数が並んでいる ヘッダファイルを include どんな入出力の関数を使うのかを指定 ソースファイル中にプロトタイプ宣言として記述 mainは必ずある実際の関数の動作は ライブラリにバイナリとして存在 関数制作の計画 1. 関数の設計をする 入力は何か? 出力は何か? 処理内容は何か? 2. 関数の入出力をプロトタイプ宣言として書く 3. 関数の実際の動作を書く 入力 関数 出力 内容はソースファイル中に記述する
4 典型的なファイルの構成 int int sample01(int x,int y); y); どんな入出力か プロトタイプ宣言を記述 プロトタイプ宣言の記述 入力関数出力 int int int value=sample01(,12); printf("%d n",value); int int sample01(int x,int y){ y){ x=x*y*; return x; x; 既存の関数と同様に使用可能 関数の内容を記述する 19/59 戻り値の型を指定 関数名を指定 関数内で使用する変数名と 引数の型を指定 int intsample01(int max,int st); その関数の入出力を指定する 引数の型を宣言するときは 変数毎に型を宣言 double x,y,z のように まとめて宣言することはできない 戻り値は1つだけなので 型だけを指定する 20/59 実際の動作を書く部分 戻り値の型を指定関数名引数と引数の型を指定 int sample01(int max,int st){ max=max+st+2; return max; 戻り値を指定 構造戻り値の型を指定関数名 ( 引数と引数の型を指定 ){ ){ return 戻り値 ; 戻り値について 関数の戻り値の型として指定できるもの 今まで変数として宣言してきた型 返り値を返さない場合は void を指定する 関数は return の次にある値を返り値として返す 返り値が無い場合は 単にreturn; とすればよい returnが無い場合は 関数の末尾まで実行したら 戻り値を返さずに 関数が終了する mainも関数なので 返り値がある 型を指定しなかった場合は intを返す関数と解釈される return の次にある値を返り値として返す 21/59 22/59 変数と引数について 変数は それぞれの関数が持っている 同じ名前でも main が持っている x と sample01 が持っている x は別物! 関数の引数には 2パターンあります 値渡し関数に 値を渡します アドレス渡し関数に 変数のアドレスを渡します それぞれの特徴を捕らえて 適宜使い分ける必要があります 23/59 値渡しのイメージ図 値渡し : 関数 sa (int x) を main 内で sa (k) として使用 k 値を渡す 箱を準備 x x 自分の箱 x に保存 作業 返値を返す 50 廃棄 x k 24/59
5 アドレス渡しのイメージ図 値渡し : 関数 sa (int *x) を main 内で sa (&k) として使用 *k 場所を渡す *k x と命名 返値を返す 50 *k 値渡し 関数の引数として 値を渡す方法 関数に渡されるのは あくまでも 値のみ です 変数が渡されるわけではありません 関数内部では 渡された値を 自前の変数に代入し 処理を行います 自前の変数 tmp に を代入するよ int sample01(int tmp){ 50 int scan_value=; 値は tmp=tmp+2; value=sample01(scan_value); だよ return tmp; *k*x 作業 *k *x 25/59 26/59 アドレス渡しその 1 関数の引数として ( 変数の ) アドレスを渡す方法 関数に渡されるのは 変数のアドレス です 関数内部では 自分で使用する変数のアドレスを 引数として渡されたアドレスに設定します 関数内部と外部で名前は異なる変数かもしれませんが 保存する場所は一緒になります int scan_value=; value=sample01(&scan_value); アドレスを渡すよ そのアドレス使うよ int sample01(int *tmp){ *tmp=*tmp+2; return *tmp; 27/59 アドレス渡しその 2 int scan_value=; value=sample01(&scan_value); アドレスを渡すので & がついている 関数 main 内の scan_value のアドレス = アドレスを貰うので ポインタを宣言 int sample01(int *tmp){ *tmp=*tmp+2; return *tmp; 関数 sample01 内の *tmp のアドレス 関数 sample01 内で *tmp の値を変えると 関数 main 内の scan_value の値も変わる 28/59 アドレス渡しその 3 どういうときに使うのか? 関数に配列を渡したいとき 配列の内容を まとめて値渡しする事はできない 関数から 2 つ以上の結果を手に入れたいとき 戻り値は 1 つしか指定できない! 変数のアドレスを渡して そのアドレスに保存されている値を関数内で弄ってしまう 簡単な例 : int int v,w,value; 省省 value=sample02(v,&w); 省省 double sample02(int x, x, int int *y){ *y){ x++; x++; *y=x; return x; x; main 中の vの値 wのアドレス sample02 中の xの値 *yのアドレス sample02 中で *y の値を変更 = main 中の w の値を変更 sample02 中で x の値を変更 main 中の v の値を変更 29/59 30/59
6 例 : 値渡しとアドレス渡し 1-1 例 : 値渡しとアドレス渡し 1-2 その 1/2: int int sa01(int x,int *y, *y, int int *z); *z); int int int int value=50; int int *k; *k; int int x=20,y=30; *k=; printf("000 %d %d %d %d %d %d %d %d %d %d n", n", &value, &x,&y,k); value=sa01(x, &y, &y, k); k); printf("001 %d %d %d %d %d %d %d %d %d %d n", n", &value, &x,&y,k); 31/59 その 2/2: int int sa01(int x,int *y, *y, int int *z){ *z){ int int k; k; x=x*; k=x+ k=x+ *y *y + *z; *z; *y=20; *z=500; printf("002 %d %d %d %d %d %d %d %d n", n", &k,&x,y,&*z); return k; k; 32/59 例 : 値渡しとアドレス渡し 2-1 例 : 値渡しとアドレス渡し 2-2 その 1/2: int int sa01(int x,int *y, *y, int int *z); *z); int int int int value=50; int int *k; *k; int int x=20,y=30; *k=; printf("000 %d %d %d %d %d %d %d %d %d %d n", n", value, x,y,*k); value=sa01(x, &y, &y, k); k); printf("001 %d %d %d %d %d %d %d %d %d %d n", n", value, x,y,*k); 33/59 その 2/2: int int sa01(int x,int *y, *y, int int *z){ *z){ int int k; k; x=x*; k=x+ k=x+ *y *y + *z; *z; *y=20; *z=500; printf("002 %d %d %d %d %d %d %d %d n", n", k,x,*y,*z); return k; k; 34/59 スコープその 1 変数のスコープ 35/59 それぞれの場所で宣言された変数は どこで参照可能か? 関数 main の中で宣言 (value) 関数 sample01 の中で宣言 (i, value, max) 関数 main と sample01 の外 (scan_value) 36/59
7 スコープその 2 スコープその 3 それぞれの場所で宣言された変数は どこで参照可能か? 37/59 全体で参照できる scan_value sample01の中でのみ参照できる i,value value mainの中でのみ参照できる 38/59 スコープその 4 スコープその 5 全体で参照できる scan_value sample01の中でのみ参照できる i,value 参照できる範囲が被ってないので 名前が同じでも問題ない value mainの中でのみ参照できる 39/59 int st,value; st=sample01(value) 全体で参照できる ( 大域変数 ) sample01 の中でのみ参照できる ( ローカル変数 ) main の中でのみ参照できる ( ローカル変数 ) 大域変数を使用しないなら 関数間の値の受け渡しは 引数や戻り値を通して行う 40/59
Microsoft PowerPoint - prog06.ppt
プログラミング言語 2 第 06 回 (2007 年 06 月 11 日 ) 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 1 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/language/ にアクセスすると 教材があります 2007 年 06 月 11 日分と書いてある部分が 本日の教材です 本日の内容
プログラミング実習I
プログラミング実習 I 05 関数 (1) 人間システム工学科井村誠孝 [email protected] 関数とは p.162 数学的には入力に対して出力が決まるもの C 言語では入出力が定まったひとまとまりの処理 入力や出力はあるときもないときもある main() も関数の一種 何かの仕事をこなしてくれる魔法のブラックボックス 例 : printf() 関数中で行われている処理の詳細を使う側は知らないが,
gengo1-11
関数の再帰定義 自然数 n の階乗 n! を計算する関数を定義してみる 引数は整数 返却値も整数 n! = 1*2*3*... * (n 1)*n である ただし 0! = 1 とする int factorial(int n) int i, tmp=1; if( n>0 ) for(i=1; i
/*Source.cpp*/ #include<stdio.h> //printf はここでインクルードして初めて使えるようになる // ここで関数 average を定義 3 つの整数の平均値を返す double 型の関数です double average(int a,int b,int c){
ソフトゼミ A 第 6 回 関数 プログラムは関数の組み合わせでできています 今までのゼミAでも printf や scanf など様々な関数を使ってきましたが なんと関数は自分で作ることもできるのです!! 今日は自作関数を中心に扱っていきます ゲーム制作でも自作関数は避けては通れないので頑張りましょう そもそもまず 関数とは 基本的には 受け取った値に関数によって定められた操作をして その結果の値を返す
C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ
C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 次のステップによって 徐々に難易度の高いプログラムを作成する ( 参照用の番号は よくわかる C 言語 のページ番号 ) 1. キーボード入力された整数 10 個の中から最大のものを答える 2. 整数を要素とする配列 (p.57-59) に初期値を与えておき
PowerPoint プレゼンテーション
講座準備 講座資料は次の URL から DL 可能 https://goo.gl/jnrfth 1 ポインタ講座 2017/01/06,09 fumi 2 はじめに ポインタはC 言語において理解が難しいとされる そのポインタを理解することを目的とする 講座は1 日で行うので 詳しいことは調べること 3 はじめに みなさん復習はしましたか? 4 & 演算子 & 演算子を使うと 変数のアドレスが得られる
バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科
バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科 ポインタ変数の扱い方 1 ポインタ変数の宣言 int *p; double *q; 2 ポインタ変数へのアドレスの代入 int *p; と宣言した時,p がポインタ変数 int x; と普通に宣言した変数に対して, p = &x; は x のアドレスのポインタ変数 p への代入 ポインタ変数の扱い方 3 間接参照 (
Microsoft PowerPoint - 09.pptx
情報処理 Ⅱ 第 9 回 2014 年 12 月 22 日 ( 月 ) 関数とは なぜ関数 関数の分類 自作関数 : 自分で定義する. ユーザ関数 ユーザ定義関数 などともいう. 本日のテーマ ライブラリ関数 : 出来合いのもの.printf など. なぜ関数を定義するのか? 処理を共通化 ( 一般化 ) する プログラムの見通しをよくする 機能分割 ( モジュール化, 再利用 ) 責任 ( あるいは不具合の発生源
memo
数理情報工学演習第一 C プログラミング演習 ( 第 5 回 ) 2015/05/11 DEPARTMENT OF MATHEMATICAL INFORMATICS 1 今日の内容 : プロトタイプ宣言 ヘッダーファイル, プログラムの分割 課題 : 疎行列 2 プロトタイプ宣言 3 C 言語では, 関数や変数は使用する前 ( ソースの上のほう ) に定義されている必要がある. double sub(int
情報処理 Ⅱ 2007 年 11 月 26 日 ( 月 )
情報処理 Ⅱ 2007 年 11 月 26 日 ( 月 ) 本日学ぶこと 関数と変数 目的 関数を自分で定義し, 変数の利用方法 範囲を明示的に制限することで, 適切な機能分割 ( モジュール化, 再利用 ) を図る. してはいけないこと main 関数のみで 100 行以上のプログラム グローバル変数を駆使するプログラム プログラムを読みやすくする 保守性向上 入 p.109 2 関数 (Function)
RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用
RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用体型のローカル変数を文字列操作関数で操作する場合の注意事項 (RXC#013) 配列型構造体または共用体の配列型メンバから読み出した値を動的初期化に用いる場合の注意事項
Microsoft PowerPoint - prog04.ppt
プログラミング言語 2 第 04 回 (2007 年 05 月 14 日 ) 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 1 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/language/ にアクセスすると 教材があります 2007 年 05 月 14 日分と書いてある部分が 本日の教材です 本日の内容
JavaプログラミングⅠ
Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double
第1回 プログラミング演習3 センサーアプリケーション
C プログラミング - ポインタなんて恐くない! - 藤田悟 [email protected] 目標 C 言語プログラムとメモリ ポインタの関係を深く理解する C 言語プログラムは メモリを素のまま利用できます これが原因のエラーが多く発生します メモリマップをよく頭にいれて ポインタの動きを理解できれば C 言語もこわくありません 1. ポインタ入門編 ディレクトリの作成と移動 mkdir
PowerPoint Presentation
工学部 6 7 8 9 10 組 ( 奇数学籍番号 ) 担当 : 長谷川英之 情報処理演習 第 7 回 2010 年 11 月 18 日 1 今回のテーマ 1: ポインタ 変数に値を代入 = 記憶プログラムの記憶領域として使用されるものがメモリ ( パソコンの仕様書における 512 MB RAM などの記述はこのメモリの量 ) RAM は多数のコンデンサの集合体 : 電荷がたまっている (1)/ いない
Microsoft PowerPoint pptx[読み取り専用]
情報処理 Ⅱ 第 8 回 2009 年 12 月 7 日 ( 月 ) 本日学ぶこと 関数と変数 目的 関数を自分で定義し, 変数の利用方法 範囲を明示的に制限することで, 適切な機能分割 ( モジュール化, 再利用 ) を図る. してはいけないこと 問題 main 関数のみで 100 行以上のプログラム グローバル変数を駆使するプログラム プログラムを読みやすくする 保守性向上 多項式関数 f(x)
プログラミング基礎
C プログラミング Ⅰ 授業ガイダンス C 言語の概要プログラム作成 実行方法 授業内容について 授業目的 C 言語によるプログラミングの基礎を学ぶこと 学習内容 C 言語の基礎的な文法 入出力, 変数, 演算, 条件分岐, 繰り返し, 配列,( 関数 ) C 言語による簡単な計算処理プログラムの開発 到達目標 C 言語の基礎的な文法を理解する 簡単な計算処理プログラムを作成できるようにする 授業ガイダンス
Microsoft PowerPoint - CproNt02.ppt [互換モード]
第 2 章 C プログラムの書き方 CPro:02-01 概要 C プログラムの構成要素は関数 ( プログラム = 関数の集まり ) 関数は, ヘッダと本体からなる 使用する関数は, プログラムの先頭 ( 厳密には, 使用場所より前 ) で型宣言 ( プロトタイプ宣言 ) する 関数は仮引数を用いることができる ( なくてもよい ) 関数には戻り値がある ( なくてもよい void 型 ) コメント
02: 変数と標準入出力
C プログラミング入門 基幹 2 ( 月 4) 11: 動的メモリ確保 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2014-06-22 1 まとめ : ポインタを使った処理 内容 説明 呼び出し元の変数を書き換える第 9 回 文字列を渡す 配列を渡す 第 10 回 ファイルポインタ
PowerPoint プレゼンテーション
2018/10/05 竹島研究室創成課題 第 2 回 C 言語演習 変数と演算 東京工科大学 加納徹 前回の復習 Hello, world! と表示するプログラム 1 #include 2 3 int main(void) { 4 printf("hello, world! n"); 5 return 0; 6 } 2 プログラム実行の流れ 1. 作業ディレクトリへの移動 $ cd
PowerPoint プレゼンテーション
プログラミング応用演習 第 4 回再帰的構造体 プログラミングを 余談 : 教えることの難しさ 丁寧に説明しないと分かってもらえない 説明すると 小難しくなる学生が目指すべきところプログラム例を説明されて理解できる違うやり方でも良いので自力で解決できる おっけー 動けば良い という意識でプログラミング 正しく動くことのチェックは必要 解答例と自分のやり方との比較が勉強になる 今日のお題 再帰的構造体
数はファイル内のどの関数からでも参照できるので便利ではありますが 変数の衝突が起こったり ファイル内のどこで値が書き換えられたかわかりづらくなったりなどの欠点があります 複数の関数で変数を共有する時は出来るだけ引数を使うようにし グローバル変数は プログラムの全体の状態を表すものなど最低限のものに留
第 10 章分割コンパイル 1 ソースを分割する今まで出てきたソースは全て一つのソースファイルにソースを記述してきました しかし ソースが長くなっていくと全てを一つのファイルに書くと読みづらくなります そこで ソースを複数のファイルに分割してコンパイルを行う分割コンパイルをします 今章は章名にもなっている 分割コンパイルの方法についてやります 分割コンパイルする時は大抵 関連性のある機能ごとにファイルにまとめます
プログラミング実習I
プログラミング実習 I 03 変数と式 人間システム工学科井村誠孝 [email protected] 3.1 変数と型 変数とは p.60 C 言語のプログラム中で, 入力あるいは計算された数や文字を保持するには, 変数を使用する. 名前がついていて値を入れられる箱, というイメージ. 変数定義 : 変数は変数定義 ( 宣言 ) してからでないと使うことはできない. 代入 : 変数には値を代入できる.
講習No.1
プログラムはどこに保存され, どこで実行されるのか? 復習 ハードディスク キーボード Central Processing Unit 例えば i7, ARM, Cortex-A17 ディスプレイ 例えば 4G バイト メモリ プログラムは, ワープロ文章などと同様, ハードディスクなどにファイルとして保存されている. プログラムは, メモリ上に呼び出されて ( ロード ) 実行される. プログラムの作成
Microsoft Word - Cプログラミング演習(12)
第 12 回 (7/9) 4. いくつかのトピック (5)main 関数の引数を利用したファイル処理 main 関数は, 起動する環境から引数を受け取ることができる 例えば 次に示すように,main 関数に引数を用いたプログラムを作成する 01 /* sample */ 02 /* main 関数の引数 */ 03 #include 04 05 main(int argc, char
Taro-ポインタ変数Ⅰ(公開版).j
0. 目次 1. ポインタ変数と変数 2. ポインタ変数と配列 3. ポインタ変数と構造体 4. ポインタ変数と線形リスト 5. 問題 問題 1 問題 2-1 - 1. ポインタ変数と変数 ポインタ変数には 記憶領域の番地が格納されている 通常の変数にはデータが格納されている 宣言 int *a; float *b; char *c; 意味ポインタ変数 aは 整数型データが保存されている番地を格納している
02: 変数と標準入出力
C プログラミング入門 総機 1 ( 月 1) 11: 動的メモリ確保 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2015-06-22 1 まとめ : ポインタを使った処理 内容 説明 呼び出し元の変数を書き換える第 9 回 文字列を渡す 配列を渡す 第 10 回 ファイルポインタ
Javaプログラムの実行手順
戻り値のあるメソッド メソッドには 処理に使用する値を引数として渡すことができました 呼び出し 側からメソッドに値を渡すだけでなく 逆にメソッドで処理を行った結果の値を 呼び出し側で受け取ることもできます メソッドから戻してもらう値のことを もどりち戻り値といいます ( 図 5-4) 図 5-4. 戻り値を返すメソッドのイメージ 戻り値を受け取ることによって ある計算を行った結果や 処理に成功したか失
PowerPoint Presentation
プログラミング基礎 第 2 週 (4,5,6 回 ) 2011-10-07 出村公成 この資料の再配布を禁止します 予定 プログラミング入門 (45 分 ) 変数 入出力 分岐 演習 (90 分 ) タッチタイプ練習 統合開発環境 Codeblocksの使い方 教科書例題の打ち込みと実行 プログラミング入門 C 言語の簡単な例を体験 変数 入出力 分岐 プログラムの例リスト 2.1 改 #include
コマンドラインから受け取った文字列の大文字と小文字を変換するプログラムを作成せよ 入力は 1 バイトの表示文字とし アルファベット文字以外は変換しない 1. #include <stdio.h> 2. #include <ctype.h> /*troupper,islower,isupper,tol
コマンドラインから受け取った文字列の大文字と小文字を変換するプログラムを作成せよ 入力は 1 バイトの表示文字とし アルファベット文字以外は変換しない 1. #include 2. #include /*troupper,islower,isupper,tolowerを使うため宣言*/ 3. 4. int get_n(char *); 5. void replace(char
02: 変数と標準入出力
C プログラミング入門 基幹 7 ( 水 5) 13: 構造体 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2016-07-06 1 例題 : 多角形の面積 n = 5 (5 角形 ) の例 n 1 n 1 1 p 1 T 0 S = i=0 p 0 T i = i=0 2
情報処理演習 B8クラス
予定スケジュール ( 全 15 回 ) 1 1. 終了 プログラミング言語の基礎 2. 終了 演算と型 3. 終了 プログラムの流れの分岐 (if 文,switch 文など ) 4. 終了 プログラムの流れの繰返し (do, while, for 文など ) 5. 終了 中間レポート1 6. 終了 配列 7. 終了 関数 8. 終了 文字列 ( 文字列の配列, 文字列の操作 ) 9. 終了 ポインタ
Microsoft PowerPoint - C言語の復習(配布用).ppt [互換モード]
if 文 (a と b の大きい方を表示 ) C 言語 Ⅰ の復習 条件判定 (if, 条件式 ) ループ (for[ 二重まで ], while, do) 配列 ( 次元 次元 ) トレース int a, b; printf( 整数 a: ); scanf( %d, &a); printf( 整数 b: ); scanf( %d, &b); //つのif 文で表現する場合間違えやすい どっちに =
プログラミング及び演習 第1回 講義概容・実行制御
プログラミング及び演習 第 7 回ポインタ ( 教科書第 10 章 ) (2014/05/23) 講義担当情報連携統轄本部情報戦略室大学院情報科学研究科メディア科学専攻教授森健策 本日の講義 演習の内容 ポインタ ポインタ第 10 章 講義 演習ホームページ http://www.newves.org/~mori/14programming ところで, さあ いよいよポインタです コツさえわかれば難しくないので安心してください
PowerPoint Presentation
ファイルの入出力 芝浦工業大学情報工学科 青木義満 今回の講義内容 ファイル入出力 ファイルからのデータ読込み ファイルと配列 2 1 ファイルへのデータ書き込み ( 復習 ) ソースファイル名 :fileio1.c データをファイルに書き込み #include int main(void) { ファイルポインタ宣言 int student_id = 100; char name[
PowerPoint プレゼンテーション
プログラミング応用演習 第 3 回構造体, ファイル入出力 先週の出席確認へのコメント 暗号を破りたいが 平文の候補が多すぎる 人間の目で確認する代わりに どんなプログラムがあればよいか? 辞書を挙げた人が多かった 正しい着眼です 何億個もの平文候補が想定されるので 形態素解析や品詞判別を挙げた人もいます 辞書に近い回答で悪くはないのですが 平文候補ごとにあまり高機能なものを呼び出すと時間がかかる
(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド
メソッド ( 教科書第 7 章 p.221~p.239) ここまでには文字列を表示する System.out.print() やキーボードから整数を入力する stdin.nextint() などを用いてプログラムを作成してきた これらはメソッドと呼ばれるプログラムを構成する部品である メソッドとは Java や C++ などのオブジェクト指向プログラミング言語で利用されている概念であり 他の言語での関数やサブルーチンに相当するが
