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

Similar documents
<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

プログラミング基礎

Microsoft PowerPoint - lec10.ppt

PowerPoint プレゼンテーション

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

Microsoft Word - no11.docx

Microsoft Word - Training4_判断と制御.docx

kiso2-09.key

4 分岐処理と繰返し処理 ( 教科書 P.32) プログラムの基本的処理は三つある. (1) 順次処理 : 上から下に順番に処理する ぶんきそろ (2) 分岐処理 : 条件が揃えば, 処理する はんぷく (3) 反復処理 : 条件が揃うまで処理を繰り返す 全てのプログラムは (1) から (3) の

cp-7. 配列

4-4 while 文 for 文と同様 ある処理を繰り返し実行するためのものだが for 文と違うのは while 文で指定するのは 継続条件のみであるということ for 文で書かれた左のプログラムを while 文で書き換えると右のようになる /* 読込んだ正の整数値までカウントアップ (for

kiso2-06.key

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

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

Microsoft PowerPoint - å®�æ−•è©¦é¨fi3ㆮ対ç�Œ.pptx

gengo1-11

計算機プログラミング

gengo1-2

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

Microsoft Word - no103.docx

Microsoft PowerPoint - prog04.ppt

PowerPoint Presentation

フローチャートの書き方

Java講座

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

Microsoft PowerPoint - lec4.ppt

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

< F2D837C E95CF CF68A4A94C5816A2E6A>

Microsoft Word - 3new.doc

Microsoft Word - no202.docx

プログラミング実習I

printf("5つの整数を入力して下さい \n"); /* データ入力 */ for( /*** 02 ***/ ){ printf("%dつ目の入力 :",i+1); scanf("%d", /*** 03 ***/ ); sum=dat[0]; /* 合計値の初期設定 */ n_max= 0

C のコード例 (Z80 と同機能 ) int main(void) { int i,sum=0; for (i=1; i<=10; i++) sum=sum + i; printf ("sum=%d n",sum); 2

3-4 switch 文 switch 文は 単一の式の値によって実行する内容を決める ( 変える ) 時に用いる 例えば if 文を使って次のようなプログラムを作ったとする /* 3 で割った余りを求める */ #include <stdio.h> main() { int a, b; } pri

fuga scanf("%lf%*c",&fuga); 改行文字を読み捨てる 10 進数の整数 おまじない取り込んだ値を代入する変数 scanf( %d%*c,&hoge); キーボードから取り込め という命令 1: scanf 1 1: int double scanf %d %lf printf

プログラミングA

Microsoft PowerPoint - kougi4.ppt

Microsoft PowerPoint - 説柔5_間勊+C_guide5ï¼›2015ã•’2015æŒ°æŁŽæš’å¯¾å¿œç¢ºèª“æ¸‹ã†¿ã•‚.pptx

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

Prog1_6th

Microsoft PowerPoint - class04.ppt

関数の動作 / printhw(); 7 printf(" n"); printhw(); printf("############ n"); 4 printhw(); 5 関数の作り方 ( 関数名 ) 戻り値 ( 後述 ) void である. 関数名 (

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

ポインタ変数

講習No.9

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

物質工学科 田中晋

Microsoft PowerPoint - 11.pptx

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

PowerPoint Presentation

ポインタ変数

プログラミングA

Prog1_6th

PowerPoint プレゼンテーション

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

プログラミング方法論 II 第 14,15 回 ( 担当 : 鈴木伸夫 ) 問題 17. x 座標と y 座標をメンバに持つ構造体 Point を作成せよ 但し座標 は double 型とする typedef struct{ (a) x; (b) y; } Point; 問題 18. 問題 17 の

Microsoft PowerPoint - kougi7.ppt

C言語7

講習No.10

プログラミング基礎

スライド 1

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

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

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

PowerPoint Presentation

初歩のC言語ターミナル_2014_May.pages

PowerPoint プレゼンテーション

Microsoft Word - 03

‚æ4›ñ

C¥×¥í¥°¥é¥ß¥ó¥° ÆþÌç

プログラミングA

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

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

ポインタ変数

関数 C 言語は関数の言語 関数とは 関数の定義 : f(x) = x * x ; 使うときは : y = f(x) 戻り値 引数

本サンプル問題の著作権は日本商工会議所に帰属します また 本サンプル問題の無断転載 無断営利利用を厳禁します 本サンプル問題の内容や解答等に関するお問 い合わせは 受け付けておりませんので ご了承ください 日商プログラミング検定 STANDARD(C 言語 ) サンプル問題 知識科目 第 1 問 (

コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n

Microsoft PowerPoint - C4(反復for).ppt

<4D F736F F D20438CBE8CEA8D758DC03389F0939A82C282AB2E646F63>

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

新・明解C言語で学ぶアルゴリズムとデータ構造

P03.ppt

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

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

ポインタ変数

Microsoft PowerPoint - 4.pptx

Microsoft PowerPoint - kougi2.ppt

第2回講義:まとめ

2

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

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

情報処理演習 B8クラス

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

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科

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

Microsoft PowerPoint - kougi9.ppt

PowerPoint プレゼンテーション

講習No.12

program7app.ppt

Transcription:

if 文 (a と b の大きい方を表示 ) C 言語 Ⅰ の復習 条件判定 (if, 条件式 ) ループ (for[ 二重まで ], while, do) 配列 ( 次元 次元 ) トレース int a, b; printf( 整数 a: ); scanf( %d, &a); printf( 整数 b: ); scanf( %d, &b); //つのif 文で表現する場合間違えやすい どっちに = をつける? if( a>=b ) printf( 大きい方は %d n, a); if( b > a ) printf( 大きい方は %d n, b); //つのif 文で表現する場合 if( a>=b ) printf( 大きい方は %d n, a); else printf( 大きい方は %d n, b); if 文と else if 文による条件分岐 n が 0 以上 00 以下の値をとる整数とするとき n を入力すると 90 以上の場合 S と表示する 80 以上 90 未満の場合 A と表示する 0 以上 80 未満の場合 B と表示する 0 以上 0 未満の場合 C と表示するその他の場合 X と表示する と表示するプログラムを次の 通りで作成せよ (a) if 文だけでプログラミング (else 文を使わない ) (b) else if 文を使ってプログラミング条件式では 以上という表現のみ使う ( 未満は使わない ) 解答例 :if 文と else if 文による条件分岐 printf( 0 以上 00 以下の整数値を入力してください : ); // ここに異なる解答 (a) や (b) が入る (a) if 文だけでプログラミング (else 文を使わない ) if( n>= 90 ) printf( S n ); if( n>= 80 && n <90 ) printf( A n ); if( n>= 0 && n <80 ) printf( B n ); if( n>= 0 && n <0 ) printf( C n ); if( n <0 ) printf( X n ); 解答例 :if 文と else if 文による条件分岐 printf( 0 以上 00 以下の整数値を入力してください : ); // ここに異なる解答 (a) や (b) が入る (b) else if 文を使ってプログラミング条件式では 以上という表現のみ使う ( 未満は使わない ) if( n>= 90 ) printf( S n ); else if( n>= 80 ) printf( A n ); else if( n>= 0 ) printf( B n ); else if( n>= 0 ) printf( C n ); else printf( X n ); switch 文による条件分岐 整数 n をキーボードから入力し n が のとき おはよう と表示して終了 n が のとき こんにちは と表示して終了 n が のとき こんばんは と表示して終了それ以外のとき おやすみなさい と表示して終了 するプログラムを作成せよ

解答例 : switch 文による条件分岐 printf( 整数値を入力してください : ); switch( n ){ case : printf( おはよう n ); break; case : printf( こんにちは n ); break; case : printf( こんばんは n ); break; default: printf( おやすみなさい n ); for 文による繰り返し (a) 0 から 0 までの整数値をすべて表示 (b-) 0 から 0 までの偶数の中で の倍数以外の値をすべて表示 ( ただし 条件式を つ使うこと ) (b-) 0 から 0 までの偶数の中で の倍数以外の値をすべて表示 ( ただし 条件式は つだけ使うこと :for 文を工夫する ) 8 解答例 :for 文による繰り返し 解答例 :for 文による繰り返し (a) 0 から 0 までの整数値をすべて表示 for( n=0; n<=0; n++ ){ printf( %d n, n); 9 (b-) 0 から 0 までの偶数の中で の倍数以外の値をすべて表示 ( ただし 条件式を つ使うこと ) for( n=0; n<=0; n++ ){ if( (n%)==0 && (n%)!=0 ) printf( %d n, n); 0 解答例 :for 文による繰り返し for 文の特殊な使い方 () (b-) 0 から 0 までの偶数の中で の倍数以外の値をすべて表示 ( ただし 条件式は つだけ使うこと :for 文を工夫!) int x=0, s=0; int y=0, s=0; for( n=0; n<=0; n+= ){ if( n%!=0 ) printf( %d n, n); printf("test n"); for( ; s!=; x+= ){ s+=x; printf(" s=%d n", s); printf("test n"); for( ; s< ; y+= ){ s+=y; printf(" s=%d n", s);

for 文の特殊な使い方 () int z=; printf(" を入力し Enter キーを押す これを繰り返してください n"); printf(" 他の整数値を入力しても良いですが 記号や文字は入力しないでください n"); for( ; z== ; ){ scanf("%d",&z); printf(" 入力した数値は [%d] です n",z); for 文の特殊な使い方 (: 文字列の知識が必要 ) #include <conio.h> //getch() 用 char ch='y'; printf("yだけ押し続けてください n"); for( ; ch==' y' ; ){ ch=getch(); //scanf("%c",&ch); getchar(); printf(" 入力文字は [%c] です n",ch); C 言語 while 文による繰り返し (a) 0 以下の値がキーボード入力される間は 負 と表示するプログラム (b) 0 以下 または 以上が入力される間は を表示するプログラム (c) (b) を用い switch 文の例題において n=,,, 以外の数値が入力されている間は繰り返しキーボード入力を要求するプログラム 解答例 : while 文による繰り返し (a) 0 以下の値がキーボード入力される間は 負 と表示するプログラム while( n<=0 ){ printf( 負 n ); 解答例 : while 文による繰り返し (b) 0 以下 または 以上が入力される間は を表示するプログラム while( n<=0 n>= ){ printf( n ); int n = -; 解答例 : while 文による繰り返し while( n<=0 n>= ){ //!(n>0 && n<=) でもよい printf( 整数値を入力してください : ); switch( n ){ case : printf( おはよう n ); break; case : printf( こんにちは n ); break; case : printf( こんばんは n ); break; default: printf( おやすみなさい n ); (c) n に ~ 以外の整数値が入力されている間は繰り返しキーボード入力を要求するプログラム 8

do 文と while 文の違い while 文のプログラム (a) を do 文に書き換えて実行 ( 負の値と正の値を入力してみる ) すると? while( n<=0 ){ printf( 負 n ); do { printf( 負 n ); while( n<=0 ); 9 do 文と while 文による繰り返し ( 検討 ) 以下の つのプログラム ( から読み込んだ整数値までを加算し その結果を表示 ) について次の値を入力実行し do 文と while 文の違いを考えよ 入力値 :, 0, - int i=, sum=0, x; printf(" 整数値を入力してください :"); scanf("%d",&x); while( i <= x ){ do{ while( i<=x ); printf("0 から %d までの合計は %d です n", x, sum ); 0 x に - を代入した場合をトレース while 文の場合 start loop i なし sum 0 なし x - なし int i=, sum=0, x; printf(" 整数値を入力してください :"); scanf("%d",&x); while( i <= x ){ do{ while( i<=x ); printf("0 から %d までの合計は %d です n", x, sum ); do 文の場合 start loop loop i なし sum 0 なし x - - なし for, do, while 文の確認練習 (c-) while 文を使って の n 乗を求めるプログラム for, do, while 文の確認練習 (c-) while 文を使って の n 乗を求めるプログラム for 文による 重ループの練習 int i=0, n, x=; printf(" の何乗を求めますか?:"); scanf("%d",&n); while( i<n ){ x*=; printf(" の n 乗は %d です n", x); ( 問 ) 九九を以下のようにすべて表示する 例 : 8 9 8 0 8 9 8 9 8 8

for 文による 重ループの練習 ( 問 ) 九九をすべて表示する int y, x, ans; for( y=; y<0; y++ ){ for( x=; x<0; x++ ){ ans = y*x; printf("%d", ans ); 次元配列の確認練習 以下の気温を temp[] 変数に入力し 日月火水木金土 0 8 (a) 8 度以上の気温をすべて表示する (while 文 ) (b) 日間の平均気温を求める (for 文 ) (c) 気温の最小値を求める 変数の型は適当と思われるものを考えること 右上の数値 : 日付 次元配列の確認練習 以下の気温を temp[] 変数に入力し (a) 8 度以上の気温をすべて表示する (while 文 ) int i, temp[]; for( i=0; i<; i++){ printf("%d 日の気温 :",i+); scanf("%d", &temp[i] ); i=0; printf("8 以上の気温 :"); while( i< ){ if( temp[i]>=8 ) printf(" %d", temp[i]); 次元配列の確認練習 以下の気温を temp[] 変数に入力し (b) 日間の平均気温を求める (for 文 ) int i, temp[], sum=0; for( i=0; i<; i++ ){ printf("%d 日の気温 :", i+); scanf("%d", &temp[i]); for( i=0; i<; i++ ){ sum+=temp[i]; // ここは sum=sum+temp[i]; でも良い printf(" 平均気温は %f です n", (double)sum/ ); 8 次元配列の確認練習 以下の気温を temp[] 変数に入力し (c) 気温の最小値を求める int i, temp[], min=99; //99 でなくとも良い for( i=0; i<; i++ ){ printf("%d 日の気温 :", i+); scanf("%d", &temp[i]); for( i=0; i<; i++ ){ if( min > temp[i] ) min=temp[i]; printf(" 最も低い気温は %d です n", min ); 9 次元配列の確認練習 以下のカレンダーについて 最初の 日の気温を変数 temp[][] の宣言時に初期設定し のこりの 日の気温を手入力する その後 曜日毎の平均気温を変数 week[] に格納 表示せよ 日月火水木金土 8 0 9 8 0 0 9 右上の数値 : 日付 変数の型は適当と思われるものを考えること 0

次元配列の確認練習最初の 日の気温を変数 temp[][] に初期設定し のこり 日を手入力する 曜日毎の平均気温を変数 week[] に格納 表示 int i, temp[][]={,0,8,,,,; double week[]; for( i=0; i<; i++ ){ printf("%d 日の気温 :", i+8); scanf("%d", &temp[][i]); printf(" 平均気温は :"); for( i=0; i<; i++ ){ week[i] = (double) ( temp[0][i] + temp[][i] ) / ; printf(" %.f ", week[i] ); 関数の練習 ( 引数なし 戻り値なし ) ( 問 ) func() 関数を作成し 次の main 関数内を func() 関数の呼び出しと のみにせよ for( i=; i<0; i++ ){ printf("%d", i ); func( ); 関数の練習 ( 引数なし 戻り値なし ) ( 問 ) func() 関数を作成し 次の main 関数内を func() 関数の呼び出しと のみにせよ void func( void ); func( ); void func( void ){ for( i=; i<0; i++ ){ printf("%d", i ); 関数の練習 ( 引数あり 戻り値なし ) ( 問 ) 次の赤文字部分を func() 関数として作成せよ int i, j; printf( -9の整数を入力してください : ); for( i=; i<0; i++ ){ printf("%d", j*i ); C 言語 関数の練習 ( 引数あり 戻り値なし ) ( 問 ) 次の赤文字部分を func() 関数として作成せよ void func( int k ); int j; printf( -9 の : ); func( j ); void func( int k ) { C 言語 for( i=; i<0; i++ ){ printf("%d", k*i ); 関数の練習 ( 引数あり 戻り値あり ) ( 問 ) 次の赤文字部分を func() 関数として作成せよ int i, j, sum=0; printf( -9の整数を入力してください : ); for( i=; i<0; i++ ){ printf("%d", j*i ); sum+=j*i; printf( sum=%d n,sum); C 言語

関数の練習 ( 引数あり 戻り値あり ) ( 問 ) 次の赤文字部分を func() 関数として作成せよ int func( int k ); int j, sum; printf( -9 の : ); sum = func( j ); printf( sum=%d n,sum); int func( int k ){ int i, sum = 0; for( i=; i<0; i++ ){ printf("%d", k*i ); sum += k*i ; return sum; C 言語 関数の練習 ( 次元配列の受け渡し 引数戻り値不要 ) ( 問 ) 次の赤文字部分を func() 関数として作成せよ double a[]={.0,.0,.0,.0,.0 ; for( i=0; i<; i++ ){ a[i] = a[i]*; for( i=0; i<; i++){ printf( a[%d]=%.f n, i, a[i]); C 言語 8 関数の練習 ( 次元配列の受け渡し 引数戻り値不要 ) ( 問 ) 次の赤文字部分を func() 関数として作成せよ void func( double x[] ); double a[] = {.0,.0,.0,.0,.0 ; func( a ); for( i=0; i<; i++ ){ printf( a[%d]=%.f n, i, a[i]); void func( double x[] ){ for( i=; i<; i++ ){ x[i] = x[i] * ; C 言語 9 関数の練習 ( 次元配列の受け渡し 引数戻り値不要 ) ( 問 ) 次の赤文字部分を func() 関数として作成せよ int a[][] = { {,,, {,,, y, x; for( y=0; y<; y++ ){ for( x=0; x<; x++ ){ a[y][x] = a[y][x] * ; for( y=0; y<; y++ ){ for( x=0; x<; x++ ){ printf( %d, a[y][x]); printf( n ); C 言語 0 関数の練習 ( 次元配列の受け渡し 引数戻り値不要 ) ( 問 ) 次の赤文字部分を func() 関数として作成せよ void func( int b[][] ); C 言語 int a[][]={ {,,, {,,, y, x; func( a ); for( y=0; y<; y++ ){ for( x=0; x<; x++ ){ printf( %d, a[y][x]); printf( n ); void func( int b[][] ){ int y, x; for( y=0; y<; y++ ){ for( x=0; x<; x++ ){ b[y][x] = b[y][x] * ;