問 2 ( 型変換 ) 次のプログラムを実行しても正しい結果が得られない 何が間違いかを指摘し 正しく修正せよ ただし int サイズが 2 バイト long サイズが 4 バイトの処理系での演算を仮定する #include <stdio.h> int main( void ) { int a =

Size: px
Start display at page:

Download "問 2 ( 型変換 ) 次のプログラムを実行しても正しい結果が得られない 何が間違いかを指摘し 正しく修正せよ ただし int サイズが 2 バイト long サイズが 4 バイトの処理系での演算を仮定する #include <stdio.h> int main( void ) { int a ="

Transcription

1 問 1 配列の宣言整数型配列 data1 にデータが初期設定されている この配列 data1 のデータを下図のように 整数型配列 data2 に代入しなさい また data2 の内容を printf( "data2[0] = %d\n", data2[0] ); printf( "data2[5] = %d\n", data2[5] ); を用いて出力しなさい 実行結果 data2[0] = 76 data2[1] = 11 data2[2] = 46 data2[3] = 18 data2[4] = 25 data2[5] = 3 1

2 問 2 ( 型変換 ) 次のプログラムを実行しても正しい結果が得られない 何が間違いかを指摘し 正しく修正せよ ただし int サイズが 2 バイト long サイズが 4 バイトの処理系での演算を仮定する #include <stdio.h> int main( void ) { int a = 30000, b = 10000; long c; c = a + b; return 0; 問 3 ( 演算 ) 1 個 3000 円の品物 Aを 12 個と 1 個 5000 円の品物 Bを8 個購入したときの合計金額 および 品物 A を8 個と品物 Bを12 個購入したときの合計金額をもとめなさい また 計算結果は printf( " 結果 = %ld\n", 計算結果が格納されている変数 ); を用いてそれぞれ画面出力しなさい 実行結果 結果 = 結果 =

3 問 4 ( 配列 ) 整数型の配列 data1 に図 1のようにデータが初期設定されている また 浮動小数点型の配列 data2 に図 2のようにデータが初期設定されている これらの配列の中身を printf() 関数を用いて 実行結果のように画面表示せよ 実行結果 data1[0] = 1 data1[1] = 22 data1[2] = 333 data1[3] = 4444 data2[0] = data2[1] = data2[2] = data2[3] =

4 次のフローチャートに基づいてプログラムを作成しなさい 問 5 ( ループ処理 (for 文 )) 実行例 総和 =5050 4

5 問 6 ( ループ処理 (for 文ネスト )) 次のフローチャートに基づいてプログラムを作成しなさい 実行結果 * ** *** **** ***** ****** ******* ******** ********* ********** 5

6 問 7 ( ループ処理 (while 文 )) while 文を用いてプログラムを作成しなさい 実行結果 総和 =

7 do~while 文を用いてプログラムを作成しなさい 問 8 ( ループ処理 (do~while 文 )) 今 data1 に 1000 という値が初期設定されている scanf 関数を用いて変数 data2 に整数値を入力し data1 から data2 を引きなさい この処理を data1 が 0 以下になるまで結果を確認しながら繰り返しなさい 実行結果 整数値を入力 500 data1 = 500 整数値を入力 300 data1 = 200 整数値を入力 250 data1 = -50 7

8 switch 文を用いてプログラムを作成しなさい 問 9 scanf 関数を用いて計算方法 ( + - * / ) と2 個の整数を入力し 計算方法によって 2 個の整数の計算を行いなさい ただし 除算を指定した場合には 0 で割り算をしないこと 実行例 計算方法の入力 ( + - * / )+ 整数値 1の入力 12 整数値 2の入力 22 kekka = 34 問 10 scanf 関数で 1~10 までの整数値を1 個入力し 入力した値により 以下の処理を行いなさい 入力した数字が 1 か 2 か 3 なら "1: one 2: two 3: three" と表示する 入力した数字が 4 か 5 か 6 なら "4: four 5: five 6: six" と表示する 入力した数字が 7 か 8 か 9 か 10 なら "7: seven 8: eight 9: nine 10: ten" と表示する それ以外なら "number input err" と表示する 実行例 input number( 1-10 ) 5 4:four 5:five 6:six 8

9 問 11 ( ループ処理 ( 応用 )) 次の仕様に従って プログラムを作成せよ 2つの整数の除算を行い 小数点以下 50 桁まで求めなさい ただし 計算途中で割り切れた場合は それ以後の小数点は求めません また 割る数に 0 が入力された場合は計算を行いません ( ナツメ社中山敬二著 はじめての C 言語 を参考にオリジナルに作り変えました ) ( 内容 ) 計算結果を格納する整数型配列を大きさ 51 で宣言する 整数値 ( a, b ) を入力する b に 0 が入力されたら そのまま処理を終了する ( コンピュータでは 0 で割るという処理はあってはならないもの ) 計算結果 [0] に a を b で割った結果を格納する 1 から 51 までループする a を b で割った余りが 0 ならループを終了する a に余り 10 を代入する 計算結果 [ ループ番目 ] に a を b で割った結果を格納する 計算結果を表示する 9

10 実行結果例 1( 小数部で割り切れる ) 整数値を 2 つ入力してください / 4 = 1.25 実行結果例 2( 割り切れない ) 整数値を 2 つ入力してください / 3 = ( 小数点以下 50 桁 ) 実行結果例 3( 整数部で割り切れる ) 整数値を 2 つ入力してください / 2 = 5. 実行結果例 4( b に 0 を入力 ) 整数値を 2 つ入力してください 10 0 処理終了 10

11 問 12 ( 配列 + 条件文応用 ) 次の仕様に従って 生徒の科目得点から平均点と評価を求め 実行結果のように画面表示するプログラムを作 成しなさい [ 仕様 ] 1. プログラムに組み込むデータについては 配列の初期値として与え 生徒番号は1 次元配列 科目点数は 2 次元配列で 次のとおりとすること 生徒番号国語数学理科社会 処理手順は 次のとおりとすること (1) 各人の4 科目の平均点を求めること (2) 4 段階の評価基準は 次のとおりとすること 平均点 評価 80 点以上 A 70 点以上 80 点未満 B 60 点以上 70 点未満 C 60 点未満 D 実行結果 番号国語数学理科社会 平均 評価 B C A D A 11

12 問 13 ホ インタのホ インタ "Iizumi","Kanto","Kudo","Sato","Sugawara","Matuda","Wada" の 7 個の文字列の長さを求めて表示しなさい ただし ポインタのポインタを用いること 実行結果 6 : Iizumi 5 : Kanto 4 : Kudo 4 : Sato 8 : Sugawara 6 : Matuda 4 : Wada 12

13 問 14 ( 関数 ) 次のプログラムの空欄部を埋めて プログラムを完成させなさい /* 文字列を大文字に変換する関数 */ #include <stdio.h> #include <ctype.h> void oomoji( char *st ); int main( void ) { char str[3][10] = { "computer", "lsi-c", "ms-dos" ; int i; for ( i = 0; i < 3; i++ ) { oomoji( ); return 0; void oomoji( char *st ) { int i = 0; while(!= '\0' ) { = toupper( ); i++; printf( "%s\n", st ); 実行結果 COMPUTER LSI-C MS-DOS 13

14 問 15 ( コマンドライン引数 ) 次のプログラムの空欄部を埋めて プログラムを完成させなさい #include <stdio.h> #include <stdlib.h> int main( ) { int sum; if (!= 3 ) { /* 引数の個数をチェック */ puts( " 引数の個数が違います " ); return 0; /* エラーなら処理を打ち切り */ sum = atoi( ) + atoi( ); /* 文字列を数値にして合計をとる */ printf( " 合計 = %d\n", sum ); return 0; 実行例 ( 引数 :21 42 のとき ) 合計 = 63 14

15 問 16 ( 記憶クラスグローバル変数 ) 以下のプログラムはグローバル変数に定義され 初期化された 10 個の int 型データの合計 平均 分散 標準偏差を求めて表示するプログラムである このプログラムを以下のような関数を用いて書き換えよ return 型関数名引数機能 int get_goukei なし合計を求めて返却する double get_bunsan 平均値分散を求めて返却する なお n 件のデータの分散と標準偏差を求める式は以下である 分散 = { ( 要素 0 - 平均値 ) 2 + ( 要素 1 - 平均値 ) ( 要素 n-2 - 平均値 ) 2 + ( 要素 n-1 - 平均値 ) 2 / n 標準偏差 = 分散 #include <stdio.h> #include <math.h> #define N 10 int data[n] = { 80, 76, 59, 87, 66, 54, 40, 78, 94, 61 ; int main( void ) { double heikin, bunsan = 0.0, hensa; int goukei = 0; int i; for ( i = 0; i < N; i++ ) { goukei = goukei + data[i]; heikin = ( double ) goukei / N; for ( i = 0; i < N; i++ ) { bunsan = bunsan + ( data[i] - heikin ) * ( data[i] - heikin ); bunsan = bunsan / N; hensa = sqrt( bunsan ); 15

16 printf( " 合計点 : %d\n", goukei ); printf( " 平均点 : %f\n", heikin ); printf( " 分散 : %f\n", bunsan ); printf( " 標準偏差 : %f\n", hensa ); return 0; 問 17 ( ビット演算 ) 任意の 2 つの unsigned int 型で表すことのできる整数値を入力し 論理積 (AND) 論理和(OR) 排他的論理和 (XOR) を求めて表示せよ ただし 表示はわかりやすいように 16 進数で行うこと 実行結果例 0~65535 の整数を2つ入力 (0xfffa) AND 65535(0xffff) = 0xfffa 65530(0xfffa) OR 65535(0xffff) = 0xffff 65530(0xfffa) XOR 65535(0xffff) = 0x5 16

17 問 18 ( シフト演算 ) 次の手順で Ctrl+Z (UNIX の環境では Ctrl+D ) が入力されるまで 任意の unsigned int 型で表すことのできる整数値を入力し そのビットパターンを表示するプログラムを作成しなさい (1) main() 関数で次の処理を行う CTRL+Z が入力されるまで 任意の unsigned int 型で表すことのできる 10 進整数を入力する 入力した整数を引数にして ビットパターン表示関数 bit_disp( ) を呼ぶ CTRL+Z が入力されたら プログラムを終了する (2) bit_disp() 関数で次の処理を行う ( 関数の仕様 ) 関数 I/F void bit_disp( unsigned int dt ); 入力 dt 任意の符号無し 10 進整数出力なし処理 unsigned int ビットサイズ分ループする 最上位ビットから順にビットパターン (0 or 1) を表示する 実行結果例 0~65535 の整数を入力 ( 終了条件 :Ctrl+Z) > x7fff ---> xffff ---> ^Z 17

18 問 19 ( 構造体ホ インタ ) 次に示す生徒情報を構造体として作成し それぞれの科目の平均点を構造体のポインタを用いて求めなさい 生徒番号国語数学理科社会 実行結果例 国語平均 = 数学平均 = 理科平均 = 社会平均 =

19 次の手順に従ってプログラムを作成せよ 問 20 ( アドレス渡し ) main() 関数の処理以下の 11 個の点数を配列として持つ 但し 最後の-1はストッパーとする この配列を 成績データ取得関数 にアドレス渡しする 成績データ取得関数 より 次の構造体を返却値にして 最高点 最低点 平均点を得る 最高点 最低点 平均点を表示する 成績データ取得関数の処理引数で渡された点数が -1 になるまでループし 最高点 最低点 合計点 点数総数を求める 合計点と点数総数から平均点を求める 最高点 最低点 平均点を上記 1.3 と同じ型の構造体にセットして返却する 実行結果例 最高点 = 94 最低点 = 37 平均点 =

20 問 21 ( 構造体 ( リスト処理 )) 下記のプログラム ) を以下のように修正せよ キーと名前の他に 処理コードを入力させ 処理コードに従って次の処理を行うようにする 処理コード :1 キーボードから入力したキーと名前を 新規のデータとしてリストに追加する このとき リストのデータはキーで降順に並ぶように登録すること 処理コード :2 キーボードから入力したキーと同一キーのデータをリストから削除する 処理コード :3 入力処理を終了し リストの中身を表示する 実行結果例 次の処理コードを選択しなさい 1: リストの追加 2: リストの削除 3: 処理終了 1 KEY を入力 1 名前を入力 (MAX:19 文字 ) Ryo 次の処理コードを選択しなさい 1: リストの追加 2: リストの削除 3: 処理終了 1 KEY を入力 3 名前を入力 (MAX:19 文字 ) Yoko 次の処理コードを選択しなさい 1: リストの追加 2: リストの削除 3: 処理終了 1 KEY を入力 5 名前を入力 (MAX:19 文字 ) Taro 次の処理コードを選択しなさい 1: リストの追加 2: リストの削除 3: 処理終了 1 KEY を入力 20

21 2 名前を入力 (MAX:19 文字 ) Jiro 次の処理コードを選択しなさい 1: リストの追加 2: リストの削除 3: 処理終了 1 KEY を入力 7 名前を入力 (MAX:19 文字 ) Sayaka 次の処理コードを選択しなさい 1: リストの追加 2: リストの削除 3: 処理終了 2 KEY を入力 5 次の処理コードを選択しなさい 1: リストの追加 2: リストの削除 3: 処理終了 3 リストの表示 7 Sayaka 3 Yoko 2 Jiro 1 Ryo /* 自己参照構造体を使ったリスト処理の例 として 用いたプログラム */ #include <stdio.h> #include <string.h> #include <stdlib.h> struct list { int key; /* キー */ char name[20]; /* 名前 */ struct list *next; /* 次のデータへのポインタ */ ; 21

22 struct list *add_list( int key, char *name, struct list *head ); void show_list( struct list *p ); void free_list( struct list *p ); int main( void ) { struct list *head; /* 先頭ポインタ */ char name[20]; int key = 0; head = NULL; /* 先頭ポインタに NULL を設定 */ printf( " キーと名前 (MAX:19 文字 ) を入力 ( 終了 :Ctrl+Z)\n" ); while ( scanf( "%d %s", &key, name )!= EOF ) { /* リストにデータを登録 */ head = add_list( key, name, head ); /* リストの表示 */ show_list( head ); /* リストの開放 */ free_list( head ); return 0; /*** リストにデータを登録 ***/ struct list *add_list( int key, char *name, struct list *head ) { struct list *p; /* 記憶領域の確保 */ if ( ( p = ( struct list * )malloc( sizeof( struct list ) ) ) == NULL ) { printf( "malloc error\n" ); exit( EXIT_FAILURE ); 22

23 /* リストにデータを登録 */ p->key = key; strcpy( p->name, name ); /* ポインタのつなぎ換え */ p->next = head; /* 今までの先頭ポインタを次ポインタに */ head = p; /* 新たな領域を先頭ポインタに */ return head; /*** リストの表示 ***/ void show_list( struct list *p ) { while ( p!= NULL ) { /* 次ポインタが NULL まで処理 */ printf( "%3d %s\n", p->key, p->name ); p = p->next; /*** リストの開放 ***/ void free_list( struct list *p ) { struct list *p2; while ( p!= NULL ) { /* 次ポインタが NULL まで処理 */ p2 = p->next; free( p ); p = p2; 23

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

バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科 バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科 ポインタ変数の扱い方 1 ポインタ変数の宣言 int *p; double *q; 2 ポインタ変数へのアドレスの代入 int *p; と宣言した時,p がポインタ変数 int x; と普通に宣言した変数に対して, p = &x; は x のアドレスのポインタ変数 p への代入 ポインタ変数の扱い方 3 間接参照 (

More information

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

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く 変数 入出力 演算子ここまでに C 言語プログラミングの様子を知ってもらうため printf 文 変数 scanf 文 if 文を使った簡単なプログラムを紹介した 今回は変数の詳細について習い それに併せて使い方が増える入出力処理の方法を習う また 演算子についての復習と供に新しい演算子を紹介する 変数の宣言プログラムでデータを取り扱う場合には対象となるデータを保存する必要がでてくる このデータを保存する場所のことを

More information

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

Microsoft Word - Cプログラミング演習(11) 第 11 回 (7/2) 4. いくつかのトピック (1) ビットごとの演算子 C 言語には, 次のようなビット単位で演算を行う特別な演算子が用意されている & ビットごとの AND ビットごとの OR ^ ビットごとの XOR( 排他的論理和 ) ~ 1 の補数これらの演算子は文字型と整数型で機能し, 浮動小数点数型では使用できない AND, OR, XOR は, それぞれのオペランドの対応するビットを比較して結果を返す

More information

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

Taro-ポインタ変数Ⅰ(公開版).j 0. 目次 1. ポインタ変数と変数 2. ポインタ変数と配列 3. ポインタ変数と構造体 4. ポインタ変数と線形リスト 5. 問題 問題 1 問題 2-1 - 1. ポインタ変数と変数 ポインタ変数には 記憶領域の番地が格納されている 通常の変数にはデータが格納されている 宣言 int *a; float *b; char *c; 意味ポインタ変数 aは 整数型データが保存されている番地を格納している

More information

プログラミング実習I

プログラミング実習I プログラミング実習 I 03 変数と式 人間システム工学科井村誠孝 [email protected] 3.1 変数と型 変数とは p.60 C 言語のプログラム中で, 入力あるいは計算された数や文字を保持するには, 変数を使用する. 名前がついていて値を入れられる箱, というイメージ. 変数定義 : 変数は変数定義 ( 宣言 ) してからでないと使うことはできない. 代入 : 変数には値を代入できる.

More information

memo

memo 数理情報工学演習第一 C プログラミング演習 ( 第 5 回 ) 2015/05/11 DEPARTMENT OF MATHEMATICAL INFORMATICS 1 今日の内容 : プロトタイプ宣言 ヘッダーファイル, プログラムの分割 課題 : 疎行列 2 プロトタイプ宣言 3 C 言語では, 関数や変数は使用する前 ( ソースの上のほう ) に定義されている必要がある. double sub(int

More information

Microsoft PowerPoint - lec10.ppt

Microsoft PowerPoint - lec10.ppt 今日の内容, とポインタの組み合わせ, 例題 1. 住所録例題 2. と関数とは. を扱う関数. 例題 3. のリスト とポインタの組み合わせ 今日の到達目標 自分で を定義する 自分で定義したについて, 配列やポインタを作成する データ型 基本データ型 char 文字 (1 文字 ) int 整数 double 浮動小数など その他のデータ型配列 データの並び ( 文字列も, 文字の並び ) ポインタ

More information

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

Microsoft Word - Cプログラミング演習(12) 第 12 回 (7/9) 4. いくつかのトピック (5)main 関数の引数を利用したファイル処理 main 関数は, 起動する環境から引数を受け取ることができる 例えば 次に示すように,main 関数に引数を用いたプログラムを作成する 01 /* sample */ 02 /* main 関数の引数 */ 03 #include 04 05 main(int argc, char

More information

PowerPoint プレゼンテーション

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

More information

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

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 次のステップによって 徐々に難易度の高いプログラムを作成する ( 参照用の番号は よくわかる C 言語 のページ番号 ) 1. キーボード入力された整数 10 個の中から最大のものを答える 2. 整数を要素とする配列 (p.57-59) に初期値を与えておき

More information

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

Microsoft Word - Cプログラミング演習(10) 第 10 回 (6/25) 3. ファイルとその応用 (3) ファイルの更新 シーケンシャルファイルの更新 シーケンシャルファイルでは, 各レコードが可変長で連続して格納されており, その中の特定のレコードを変更することができない そこで一般的には, マスタファイルからデータを取り出し, 更新処理を行ったあとに新マスタファイルに書き込む 注 ) マスタファイル : 主ファイル, 基本ファイルと呼ばれるファイルで内容は比較的固定的であり,

More information

プログラミング基礎

プログラミング基礎 C プログラミング Ⅱ 演習 2-1(a) BMI による判定 文字列, 身長 height(double 型 ), 体重 weight (double 型 ) をメンバとする構造体 Data を定義し, それぞれのメンバの値をキーボードから入力した後, BMI を計算するプログラムを作成しなさい BMI の計算は関数化すること ( ) [ ] [ ] [ ] BMI = 体重 kg 身長 m 身長

More information

プログラミングI第10回

プログラミングI第10回 プログラミング 1 第 10 回 構造体 (3) 応用 リスト操作 この資料にあるサンプルプログラムは /home/course/prog1/public_html/2007/hw/lec/sources/ 下に置いてありますから 各自自分のディレクトリにコピーして コンパイル 実行してみてください Prog1 2007 Lec 101 Programming1 Group 19992007 データ構造

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プログラミング初級 第 7 回 2017 年 5 月 29 日 配列 ( 復習 )~ 文字列 1 配列とは 2 配列 : 複数の変数をグループとしてまとめて扱うもの 配列 変数 int data[10]; 整数型の配列 同種のデータ型を連続して確保したものを配列とよぶ = 整数がそれぞれにひとつずつ入る箱を 10 個用意したようなもの int data; 整数型の変数 = 整数がひとつ入る dataという名前の箱を用意したようなもの

More information

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

Microsoft PowerPoint - CproNt02.ppt [互換モード] 第 2 章 C プログラムの書き方 CPro:02-01 概要 C プログラムの構成要素は関数 ( プログラム = 関数の集まり ) 関数は, ヘッダと本体からなる 使用する関数は, プログラムの先頭 ( 厳密には, 使用場所より前 ) で型宣言 ( プロトタイプ宣言 ) する 関数は仮引数を用いることができる ( なくてもよい ) 関数には戻り値がある ( なくてもよい void 型 ) コメント

More information

cp-7. 配列

cp-7. 配列 cp-7. 配列 (C プログラムの書き方を, パソコン演習で学ぶシリーズ ) https://www.kkaneko.jp/cc/adp/index.html 金子邦彦 1 本日の内容 例題 1. 月の日数配列とは. 配列の宣言. 配列の添え字. 例題 2. ベクトルの内積例題 3. 合計点と平均点例題 4. 棒グラフを描く配列と繰り返し計算の関係例題 5. 行列の和 2 次元配列 2 今日の到達目標

More information

gengo1-11

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

More information

Microsoft Word - no15.docx

Microsoft Word - no15.docx 7. ファイルいままでは プログラムを実行したとき その結果を画面で確認していました 簡単なものならそれでもいいのですか 複雑な結果は画面で見るだけでなく ファイルに保存できればよいでしょう ここでは このファイルについて説明します 使う関数のプロトタイプは次のとおりです FILE *fopen(const char *filename, const char *mode); ファイルを読み書きできるようにする

More information

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63> C 言語講座第 2 回 作成 : ハルト 前回の復習基本的に main () の中カッコの中にプログラムを書く また 変数 ( int, float ) はC 言語では main() の中カッコの先頭で宣言する 1 画面へ出力 printf() 2 キーボードから入力 scanf() printf / scanf で整数を表示 / 入力 %d 小数を表示 / 入力 %f 3 整数を扱う int 型を使う

More information

PowerPoint Presentation

PowerPoint Presentation ファイルの入出力 芝浦工業大学情報工学科 青木義満 今回の講義内容 ファイル入出力 ファイルからのデータ読込み ファイルと配列 2 1 ファイルへのデータ書き込み ( 復習 ) ソースファイル名 :fileio1.c データをファイルに書き込み #include int main(void) { ファイルポインタ宣言 int student_id = 100; char name[

More information

1. 入力した正の整数を降順に並べ換えて出力するプログラムを作成せよ プログラムは個別にコンパイルし make コマンドで実行すること 入力データは 50 以下とし 以下の数が混在しているとする 16 進数 : 先頭 1 文字が x または X( エックスの小文字か大文字 ) 8 進数 : 先頭 1

1. 入力した正の整数を降順に並べ換えて出力するプログラムを作成せよ プログラムは個別にコンパイルし make コマンドで実行すること 入力データは 50 以下とし 以下の数が混在しているとする 16 進数 : 先頭 1 文字が x または X( エックスの小文字か大文字 ) 8 進数 : 先頭 1 1. 入力した正の整数を降順に並べ換えて出力するプログラムを作成せよ プログラムは個別にコンパイルし make コマンドで実行すること 入力データは 50 以下とし 以下の数が混在しているとする 16 進数 : 先頭 1 文字が x または X( エックスの小文字か大文字 ) 8 進数 : 先頭 1 文字が 0( 零 ) 10 進数 : 先頭 1 文字が 0( 零 ) 以外の数字 1.1 プログラム

More information

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

コマンドラインから受け取った文字列の大文字と小文字を変換するプログラムを作成せよ 入力は 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

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プログラミング応用演習 第 5 回演習 前回までのお話 ポインタ ポインタを用いた文字列処理 構造体 ファイル 再帰的構造体 リスト構造 動的メモリ管理 今日のお題 ポインタやファイルなど これまでの内容の練習 教材 以前 以下に単語を収録したファイルがあることを紹介した : /usr/share/dict/words この中からランダムに単語を取り出したファイルを用意した http://sun.ac.jp/prof/yamagu/2019app/

More information

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

Microsoft PowerPoint - 説明2_演算と型(C_guide2)【2015新教材対応確認済み】.pptx 情報ネットワーク導入ユニット Ⅰ C 言語 演算と型 演算 代入 演算と型 +,-,*,/,% = C 言語では 代入 の意味 vx = a + b; //a+b の結果を vx に代入 型 : int 型 ( 整数 ) double 型 ( 実数 ) 演算での型変換 ( 整数, 実数の混在 ) キャスト演算子 型を一時的に変更 書式指定 :printf("%6d n", a); 加減, 剰余演算

More information

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) 共用 RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用体型のローカル変数を文字列操作関数で操作する場合の注意事項 (RXC#013) 配列型構造体または共用体の配列型メンバから読み出した値を動的初期化に用いる場合の注意事項

More information

Java講座

Java講座 ~ 第 1 回 ~ 情報科学部コンピュータ科学科 2 年竹中優 プログラムを書く上で Hello world 基礎事項 演算子 構文 2 コメントアウト (//, /* */, /** */) をしよう! インデントをしよう! 変数などにはわかりやすい名前をつけよう! 要するに 他人が見て理解しやすいコードを書こうということです 3 1. Eclipse を起動 2. ファイル 新規 javaプロジェクト

More information

PowerPoint Presentation

PowerPoint Presentation 工学部 6 7 8 9 10 組 ( 奇数学籍番号 ) 担当 : 長谷川英之 情報処理演習 第 7 回 2010 年 11 月 18 日 1 今回のテーマ 1: ポインタ 変数に値を代入 = 記憶プログラムの記憶領域として使用されるものがメモリ ( パソコンの仕様書における 512 MB RAM などの記述はこのメモリの量 ) RAM は多数のコンデンサの集合体 : 電荷がたまっている (1)/ いない

More information

第1回 プログラミング演習3 センサーアプリケーション

第1回 プログラミング演習3 センサーアプリケーション C プログラミング - ポインタなんて恐くない! - 藤田悟 [email protected] 目標 C 言語プログラムとメモリ ポインタの関係を深く理解する C 言語プログラムは メモリを素のまま利用できます これが原因のエラーが多く発生します メモリマップをよく頭にいれて ポインタの動きを理解できれば C 言語もこわくありません 1. ポインタ入門編 ディレクトリの作成と移動 mkdir

More information

情報処理演習 B8クラス

情報処理演習 B8クラス 予定スケジュール ( 全 15 回 ) 1 1. 終了 プログラミング言語の基礎 2. 終了 演算と型 3. 終了 プログラムの流れの分岐 (if 文,switch 文など ) 4. 終了 プログラムの流れの繰返し (do, while, for 文など ) 5. 終了 中間レポート1 6. 終了 配列 7. 終了 関数 8. 終了 文字列 ( 文字列の配列, 文字列の操作 ) 9. 終了 ポインタ

More information

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

Microsoft Word - Cプログラミング演習(7) 第 7 回 (6/4) 2. 構造体 構造体とは, 同じ型に限定されない複数の関連するデータメンバの集合である 構造体の宣言構造体指定子 struct を用いて struct 構造体タグ名 { メンバ 1 の宣言 ; メンバ 2 の宣言 ; メンバ n の宣言 ; }; 注 ) 構造体タグ名は構造体の型名で, 内容を定義するものでオブジェクトではなく, 論理的なテンプレートである 構造体の変数の宣言実際の記憶領域を占める物理的実体を確保する

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プログラミング応用演習 第 4 回再帰的構造体 プログラミングを 余談 : 教えることの難しさ 丁寧に説明しないと分かってもらえない 説明すると 小難しくなる学生が目指すべきところプログラム例を説明されて理解できる違うやり方でも良いので自力で解決できる おっけー 動けば良い という意識でプログラミング 正しく動くことのチェックは必要 解答例と自分のやり方との比較が勉強になる 今日のお題 再帰的構造体

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 講座準備 講座資料は次の URL から DL 可能 https://goo.gl/jnrfth 1 ポインタ講座 2017/01/06,09 fumi 2 はじめに ポインタはC 言語において理解が難しいとされる そのポインタを理解することを目的とする 講座は1 日で行うので 詳しいことは調べること 3 はじめに みなさん復習はしましたか? 4 & 演算子 & 演算子を使うと 変数のアドレスが得られる

More information

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

/*Source.cpp*/ #include<stdio.h> //printf はここでインクルードして初めて使えるようになる // ここで関数 average を定義 3 つの整数の平均値を返す double 型の関数です double average(int a,int b,int c){ ソフトゼミ A 第 6 回 関数 プログラムは関数の組み合わせでできています 今までのゼミAでも printf や scanf など様々な関数を使ってきましたが なんと関数は自分で作ることもできるのです!! 今日は自作関数を中心に扱っていきます ゲーム制作でも自作関数は避けては通れないので頑張りましょう そもそもまず 関数とは 基本的には 受け取った値に関数によって定められた操作をして その結果の値を返す

More information

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

Taro-ファイル処理(公開版).jtd ファイル処理 0. 目次 1. はじめに 2. ファイル内容の表示 3. ファイル内容の複写 3. 1 文字単位 3. 2 行単位 4. 書式付き入出力 5. 文字配列への入出力 6. 課題 6. 1 課題 1 ( ファイル圧縮 復元 ) - 1 - 1. はじめに ファイル処理プログラムの形は次のようになる #include main() { FILE *fp1,*fp2; ファイルポインタの宣言

More information

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

書式に示すように表示したい文字列をダブルクォーテーション () の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf( 情報処理基礎 ); printf(c 言語の練習 ); printf 情報処理基礎 C 言語についてプログラミング言語は 1950 年以前の機械語 アセンブリ言語 ( アセンブラ ) の開発を始めとして 現在までに非常に多くの言語が開発 発表された 情報処理基礎で習う C 言語は 1972 年にアメリカの AT&T ベル研究所でオペレーションシステムである UNIX を作成するために開発された C 言語は現在使われている多数のプログラミング言語に大きな影響を与えている

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 講座を行う前に 自己紹介 僕と上回生について 1 年生同士で少しお話しよう! オリエンテーションの宿題 アルゴロジック http://home.jeita.or.jp/is/highschool/algo/index3.html どこまでできましたか? あまりできなかった人はこれから全部クリアしよう! 2016 年度 C 言語講座 第一回目 2016/6/11 fumi 今回の目標 プログラムを書いて実行するやり方を覚える

More information

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

Microsoft PowerPoint - program.ppt [互換モード] プログラミング演習 バージョン 1 担当教員 : 綴木馴 プログラムの決まりについて学ぶ おすすめする参考書 ザ C 戸川隼人サイエンス社 本日の予定 1. 授業の説明. 2. コンパイラーのインストール. プログラムの決まりについて学ぶ,P31 /* The most in C */ /* hello.c */ printf("hello,world n"); プログラムの決まり ( コメント )

More information

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

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 文で表現する場合間違えやすい どっちに =

More information

Taro-スタック(公開版).jtd

Taro-スタック(公開版).jtd 0. 目次 1. 1. 1 配列によるの実現 1. 2 再帰的なデータ構造によるの実現 1. 3 地図情報処理 1. 4 問題 問題 1 グラフ探索問題 - 1 - 1. は データの出し入れが一カ所で行われ 操作は追加と削除ができるデータ構造をいう 出入口 追加 削除 操作 最初 111 追加 111 222 追加 111 222 333 追加 111 222 333 444 追加 111 222

More information

PowerPoint Presentation

PowerPoint Presentation プログラミング基礎 第 2 週 (4,5,6 回 ) 2011-10-07 出村公成 この資料の再配布を禁止します 予定 プログラミング入門 (45 分 ) 変数 入出力 分岐 演習 (90 分 ) タッチタイプ練習 統合開発環境 Codeblocksの使い方 教科書例題の打ち込みと実行 プログラミング入門 C 言語の簡単な例を体験 変数 入出力 分岐 プログラムの例リスト 2.1 改 #include

More information