kiso2-03.key

Similar documents
kiso2-09.key

kiso2-06.key

Report#2.docx

Report#2.docx

プログラミング実習I

/*Source.cpp*/ #include<stdio.h> //printf はここでインクルードして初めて使えるようになる // ここで関数 average を定義 3 つの整数の平均値を返す double 型の関数です double average(int a,int b,int c){

PowerPoint プレゼンテーション

ポインタ変数

Microsoft PowerPoint - 計算機言語 第7回.ppt

PowerPoint Presentation

1. 関数 scanf() 関数 printf() は変数の値を画面に表示しますが それに対し関数 scanf() はキーボードで入力した値を変数に代入します この関数を活用することで対話式 ( ユーザーの操作に応じて処理を行う ) プログラムを作ることができるようになります 整数の和

関数の呼び出し ( 選択ソート ) 選択ソートのプログラム (findminvalue, findandreplace ができているとする ) #include <stdiu.h> #define InFile "data.txt" #define OutFile "surted.txt" #def

プログラミング基礎

Microsoft PowerPoint - kougi2.ppt

Microsoft Word - Cプログラミング演習(1)_2012

関数の呼び出し ( 選択ソート ) 選択ソートのプログラム (findminvalue, findandreplace ができているとする ) #include <stdio.h> #define InFile "data.txt" #define OutFile "sorted.txt" #def

スライド 1

ポインタ変数

PowerPoint プレゼンテーション

コマンドラインから受け取った文字列の大文字と小文字を変換するプログラムを作成せよ 入力は 1 バイトの表示文字とし アルファベット文字以外は変換しない 1. #include <stdio.h> 2. #include <ctype.h> /*troupper,islower,isupper,tol

Microsoft Word - Cプログラミング演習(3)

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

計算機プログラミング

Microsoft PowerPoint - bp02.ppt

Microsoft Word - no11.docx

講習No.9

Microsoft PowerPoint - kougi4.ppt

Microsoft PowerPoint - CproNt02.ppt [互換モード]

C 言語第 3 回 2 a と b? 関係演算子 a と b の関係 関係演算子 等しい a==b 等しくない a!=b より大きい a>b 以上 a>=b より小さい a<b 以下 a<=b 状態 真偽 値 条件が満たされた場合 TRUE( 真 ) 1(0 以外 ) 条件が満たされなかった場合 F

PowerPoint Presentation

ポインタ変数

プログラミング基礎

講習No.10

Cプログラミング1(再) 第2回

gengo1-10

C言語入門

Microsoft PowerPoint - C言語の復習(配布用).ppt [互換モード]

gengo1-12

導入基礎演習.ppt

Taro-再帰関数Ⅱ(公開版).jtd

プログラミング実習I

Microsoft Word - 3new.doc

memo

memo

プログラミング基礎

Microsoft PowerPoint - lec4.ppt

Microsoft PowerPoint - 説明2_演算と型(C_guide2)【2015新教材対応確認済み】.pptx

slide5.pptx

講習No.12

Taro-ファイル処理(公開版).jtd

C言語によるアルゴリズムとデータ構造

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

Microsoft Word - 【第5分科会】ConcolicTestingグループ_付録_修正_ doc

memo

FORTRAN( と C) によるプログラミング 5 ファイル入出力 ここではファイルからデータを読みこんだり ファイルにデータを書き出したりするプログラムを作成してみます はじめに テキスト形式で書かれたデータファイルに書かれているデータを読みこんで配列に代入し 標準出力に書き出すプログラムを作り

gengo1-12

ゲームエンジンの構成要素

Microsoft Word - Cプログラミング演習(11)

情報工学実験 C コンパイラ第 2 回説明資料 (2017 年度 ) 担当 : 笹倉 佐藤

PowerPoint プレゼンテーション

Microsoft PowerPoint - program.ppt [互換モード]

訋箊æ©�ã…Šã…�ㇰㅩã…�ㅳㇰ - 第5åłž 浆㇄ㆮ勶御2

ポインタ変数

C 言語固有の命令で全部で32 個 の関数C 言語第 1 回 C 言語って?( シラバス 1 2 回目 ) 関数型言語 コンピュータに実行してもらう命令はすべて関数の中に記述されている 関数がプロ グラム

PowerPoint Presentation

Microsoft PowerPoint ppt


関数の中で宣言された変数の有効範囲はその関数の中だけです さっきの rectangle _s で宣言されている変数 s は他の関数では使用できません ( 別の関数で同じ名前の変数を宣言することはできますが 全く別の変数として扱われます このように ある関数の中で宣言されている変数のことをその関数の

C C UNIX C ( ) 4 1 HTML 1

Microsoft PowerPoint - 4.pptx

デジタル表現論・第4回

メソッドのまとめ

Microsoft PowerPoint - 説明3_if文switch文(C_guide3)【2015新教材対応確認済み】.pptx

Taro-C言語の基礎Ⅰ(公開版).j

Taro-ポインタ変数Ⅰ(公開版).j

講習No.1

Microsoft PowerPoint - C_Programming(3).pptx

目次

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く

演算増幅器

C 言語の式と文 C 言語の文 ( 関数の呼び出し ) printf("hello, n"); 式 a a+4 a++ a = 7 関数名関数の引数セミコロン 3 < a "hello" printf("hello") 関数の引数は () で囲み, 中に式を書く. 文 ( 式文 ) は

Microsoft PowerPoint - 11.pptx

デジタル表現論・第6回

P05.ppt

Microsoft PowerPoint - 第3回目.ppt [互換モード]

C プログラミング 1( 再 ) 第 4 回 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 1

Microsoft Word - no02.doc

gengo1-2

PowerPoint プレゼンテーション

Microsoft PowerPoint - prog08.ppt

18 C ( ) hello world.c 1 #include <stdio.h> 2 3 main() 4 { 5 printf("hello World\n"); 6 } [ ] [ ] #include <stdio.h> % cc hello_world.c %./a.o

gengo1-6


gengo1-11

gengo1-12

Microsoft Word - Training10_プリプロセッサ.docx

解きながら学ぶC言語

JavaプログラミングⅠ

Microsoft PowerPoint - kougi6.ppt

Transcription:

座席指定はありません Linux を起動して下さい 第3回 計算機基礎実習II 2018 のウェブページか ら 以下の課題に自力で取り組んで下さい 計算機基礎実習II 第2回の復習課題(rev02) 第3回の基本課題(base03)

第2回課題の回答例

ex02-2.c include <stdio.h> int main { int l int v, s; /* 一辺の長さ */ /* 体積 v と表面積 s */ scanf("%d", &l) printf(立方体の一辺の長さを入力して下さい: ); printf("一辺の長さが d の立方体の体積は l*l*l です \n" l, v); s = 6 * (a*2); print("一辺の長さが %d の立方体の表面積は %d です \n", l, return 0; s);

cc ex02-2.c -o ex02-2 a00007@s01cd0542-160:~$ cc ex02-2.c -o ex02-2 ex02-2.c:1:9: error: expected =,,, ;, asm or attribute before < token include <stdio.h> ^ ex02-2.c:8:4: error: stray \347 in program printf(立方体の一辺の長さを入力して下さい: ); ^ ex02-2.c:8:4: error: stray \253 in program ex02-2.c:8:4: error: stray \213 in program : ex02-2.c: が1つのエラー

ex02-2.c をデバッグ(debug)する ソースファイルの先頭から順にデバッグする a00007@s01cd0542-160:~$ cc ex02-2.c -o ex02-2 ex02-2.c:1:9: error: expected =,,, ;, asm or attribute before < token include <stdio.h> ^ before '<' < の前で expected こんなのが期待されてるんですけど... ソースコードのこのへんで ex02-2.c というファイルの1行目の9文字目で error 発生

ex02-2.c #include <stdio.h> int main { int l int v, s; /* 一辺の長さ */ /* 体積 v と表面積 s */ scanf("%d", &l) printf(立方体の一辺の長さを入力して下さい: ); printf("一辺の長さが d の立方体の体積は l*l*l です \n" l, v); s = 6 * (a*2); print("一辺の長さが %d の立方体の表面積は %d です \n", l, return 0; s);

a00007@s01cd0542-160:~$ cc ex02-2.c -o ex02-2 ex02-2.c:3:10: error: expected =,,, ;, asm or attribute before { token int main { ^ ソースコードのこのへんで ex02-2.c というファイルの3行目の10文字目で error 発生

ex02-2.c #include <stdio.h> int main() { int l int v, s; /* 一辺の長さ */ /* 体積 v と表面積 s */ scanf("%d", &l) printf(立方体の一辺の長さを入力して下さい: ); printf("一辺の長さが d の立方体の体積は l*l*l です \n" l, v); s = 6 * (a*2); print("一辺の長さが %d の立方体の表面積は %d です \n", l, return 0; s);

ex02-2.c の main() 関数の中の... a00007@s01cd0542-160:~$ cc ex02-2.c -o ex02-2 ex02-2.c: In function main : ex02-2.c:5:4: error: expected =,,, ;, asm or attribute before int int v, s; /* 体積 v と表面積 s */ ^ ex02-2.c:7:17: error: l undeclared (first use in this function) scanf("%d", &l) ^ ex02-2.c:7:17: note: each undeclared identifier is reported only once for each function it appears in 5行目の int の前??? undecleared そんなの知りません 宣言されてません けど... #include <stdio.h> int main() { int l int v, s; /* 一辺の長さ */ /* 体積 v と表面積 s */

ex02-2.c #include <stdio.h> int main() { int l; int v, s; /* 一辺の長さ */ /* 体積 v と表面積 s */ scanf("%d", &l) printf(立方体の一辺の長さを入力して下さい: ); printf("一辺の長さが d の立方体の体積は l*l*l です \n" l, v); s = 6 * (a*2); print("一辺の長さが %d の立方体の表面積は %d です \n", l, return 0; s);

a00007@s01cd0542-160:~$ cc ex02-2.c -o ex02-2 ex02-2.c: In function main : ex02-2.c:8:4: error: expected ; before printf printf(立方体の一辺の長さを入力して下さい: ); ^ ex02-2.c:8:4: error: stray \347 in program ex02-2.c:8:4: error: stray \253 in program ex02-2.c:8:4: error: stray \213 in program ex02-2.c:8:4: error: stray \346 in program ex02-2.c:8:4: error: stray \226 in program ex02-2.c:8:4: error: stray \271 in program : 8行目の printf の前??? '\343' や \200' のような英数表記できないコードの バグの多くは 全角日本語文字 列 に関するエラー 全角の空白文字も同様のエラーの原因となる

ex02-2.c #include <stdio.h> int main() { int l; int v, s; /* 一辺の長さ */ /* 体積 v と表面積 s */ scanf("%d", &l); printf("立方体の一辺の長さを入力して下さい: "); printf("一辺の長さが d の立方体の体積は l*l*l です \n" l, v); s = 6 * (a*2); print("一辺の長さが %d の立方体の表面積は %d です \n", l, return 0; s);

a00007@s01cd0542-160:~$ cc ex02-2.c -o ex02-2 ex02-2.c: In function main : ex02-2.c:11:80: error: expected ) before l printf("一辺の長さが d の立方体の体積は l*l*l です \n" l, v); ^ ex02-2.c:13:13: error: a undeclared (first use in this function) s = 6 * (a*2); ^ ex02-2.c:13:13: note: each undeclared identifier is reported only once for each function it appears in ex02-2.c:16:3: error: expected declaration or statement at end of input return 0; ^

ex02-3.c #include <stdio.h> int main() { int a; printf("整数を入力して下さい: "); scanf("%d", &a); } printf("入力された値は %d です \n", a); return 0; ex02-1.c から修正する #include <stdio.h> int main() { int a; printf("整数 a を入力して下さい: "); scanf("%d", &a); printf("a^2 は %d です \n", a*a); printf("a^3 は %d です \n", a*a*a); return 0; }

ex02-5.c #include <stdio.h> #include <math.h> int main() { int a; printf("a の値を入力して下さい "); scanf("%d", &a); printf("1^(-2) = printf("1^(-1/2) printf("1/^(1/2) printf("1/^(2) = return 0; } %f\n", 1./(a*a)); = %f\n", 1./sqrt(a)); = %f\n", sqrt(a)); %f\n", (double)a*a);

いくつかのお知らせ 再 Visual Studio Code の使い方まとめ (GUIからVisua Studio Code を起動する) オンライン プログラミング環境 paiza.io 理工出席 アプリのテスト運用

第3回の内容 プログラミング言語Cの関数 main()関数 return 文 変数の値は有限

関数 数学の関数 f(x), x ℝ f:ℝ ℝ f プログラミング言語の関数 int a func() e.g. f(x) = x 2 y ℝ func(a) e.g. printf() int v

プログラミング言語の関数 プログラミング言語の関数 int a 入力がない場合もある 出力がない場合もある int a func() int v func() int v func() scanf() 別の入力や出力をする場合 もある int a func() printf() int v

main() 関数 C言語で最初に呼び出される関数 実行可能なCプログラムを書く main() 関数を定義する return 文によって関数の値 返り値 を定義する main という(何もしない)名前の関数 int main() { main() 0 return 0; } main は int 型の0を 返り値として 返す main は int 型を 返り値として 返す

関数と返り値とreturn文 C言語の関数は 関数名() {...} で定義される いまはmain() だけ詳細は後日 C言語の関数は 関数名() で呼び出される(利用される) C言語の関数は値をもつ もたないこともある return 文によって関数の値 返り値 が決まる scanf() 関数と printf() 関数も int 型の返り値をもつ int a, n, m; n = scanf("%d", &a); m = printf("a is %d\n", a); // n? m? int a func()

第3回の基本課題

ex03-1.c #include <stdio.h> int main() { int a; scanf("%d", &a); scanf() a main() int 2*a return 2*a; } 直前に実行したコマンドの返り値が $? に入る t180900@s01cd0542-160:~$ echo $? 2 変数 $? の値を表示する

ex03-2.c while 文の復習 繰り返し処理 この条件が成立しているあいだ繰り返す {...} で囲まれたブロック を繰り返す while (i > 0) { i *= 2; printf("%d\n", i); }

ex03-2.c 変数値の範囲は有限 t180900@s01cd0542-160:~/kiso2-2018/ex03$./ex03-2 2 4 8 16 32 64 128 134217728 268435456 536870912 1073741824-2147483648 2倍しているだけなのに突然負の値に 負の値になることも それがこの数値になることも 情報処理の基 礎 で学ぶ 2の補数表現 を理解すると きちんと説明できます