当日のOHP資料です。
Download : sample-001.c ( SJIS 版 )
/* * 2013/07/12 sample-001.c */ /* * 代入文 * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-001.exe sample-001.c * 実行 * sample-001 */ #include <stdio.h> #include "s_print.h" /* * main */ int main( double argc, char *argv[] ) { int i = 123; /* 変数は、宣言と同時に値を指定できる (初期化) */ s_print_string ( "i の値は、現在 " ); s_print_int ( i ); /* 変数 i の値は、初期化された値 */ s_print_string ( " です。\n" ); s_print_string ( "i の値を、もう一度確認すると " ); s_print_int ( i ); /* 変数 i の値は、代入されない限り変化しない */ s_print_string ( " です。\n" ); i = 1 + 2 + 3; /* 代入によって変数の値は変更される */ s_print_string ( "i の値は、 " ); s_print_int ( i ); /* 変数 i の値は、最後に変更された結果 */ s_print_string ( " に変化しました。\n" ); return 0; }
C:\usr\c>sample-001 i の値は、現在 123 です。 i の値を、もう一度確認すると 123 です。 i の値は、 6 に変化しました。 C:\usr\c>
Download : sample-002.c ( SJIS 版 )
/* * 2013/07/12 sample-002.c */ /* * 代入文 ( 変数の値の更新 ) * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-002.exe sample-002.c * 実行 * sample-002 */ #include <stdio.h> #include "s_print.h" /* * main */ int main( double argc, char *argv[] ) { int i = 987; /* 変数は、宣言と同時に値を指定できる (初期化) */ s_print_string ( "i の値は、現在 " ); s_print_int ( i ); /* 変数 i の値は、初期化された値 */ s_print_string ( " です。\n" ); i = i + 1; /* 代入文の右辺(式)には、「代入される変数自身」を含める事ができる。 * その時の変数の値は、代入前の変数の値となる。 * 代入前 i の値は 「987」 なので、 * 右辺(式)の値は 「987 + 1」の「988」となる。 */ s_print_string ( "i の値は、現在 " ); s_print_int ( i ); /* 変数 i の値は、最後に代入された「988」 */ s_print_string ( " です。\n" ); i = i + 1; /* 今度は、「988 + 1」、すなわち「989」が代入される。 * 変数を、変数自身の現在の値を利用した式を代入する事によって、 * 「変数の値の更新」をする事ができる。 */ s_print_string ( "i の値は、現在 " ); s_print_int ( i ); /* 変数 i の値は、最後に代入された「989」 */ s_print_string ( " です。\n" ); i++; /* 「i 自身を 1 増やす」という「更新」は良く行うので、 * C 言語では、省略型が用意されている。 * 「i++」は、とりあえず、「i = i + 1」と同じと考えてよい * だから、この結果 i は 「990」になる */ s_print_string ( "i の値は、最後に " ); s_print_int ( i ); /* 変数 i の値は、最後に代入された「990」 */ s_print_string ( " となりました。\n" ); return 0; }
C:\usr\c>sample-002 i の値は、現在 987 です。 i の値は、現在 988 です。 i の値は、現在 989 です。 i の値は、最後に 990 となりました。 C:\usr\c>
Download : sample-003.c ( SJIS 版 )
/* * 2013/07/12 sample-003.c */ /* * 代入文 (計算結果の蓄積) * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-003.exe sample-003.c * 実行 * sample-003 */ #include <stdio.h> #include "s_print.h" #include "s_input.h" /* * sum_print * 「sum の値は QQQQ です。」と出力する。QQQQ は現在の sum の値 */ void sum_print ( int sum ) { s_print_string ( "sum の値は " ); s_print_int ( sum ); s_print_string ( " です。\n" ); } /* * main * * 三つの整数値を入力し、その総和を計算して表示する。 */ int main( double argc, char *argv[] ) { int sum = 0; /* 「最初」は、(一つも入力されていないので..) 総和は 0 */ /* * */ sum_print ( sum ); /* 0 が入っているので 0 が出力される */ /* * */ s_print_string ( "一つ目の整数値を入力してください : " ); sum = sum + s_input_int(); /* * sum の元の値と、新に入力された値の和が sum に入る。 * 元々、sum には 0 が入っていたので、結局、最初に入力した整数値になる。 */ sum_print ( sum ); /* 最初に入力した整数値になる */ /* * */ s_print_string ( "二つ目の整数値を入力してください : " ); sum = sum + s_input_int(); /* * sum の元の値と、新に入力された値の和が sum に入る。 * 元々、sum には、一つ目の整数が入っているので、二つの整数の和になる。 */ sum_print ( sum ); /* 二つの整数の和が表示される */ /* * */ s_print_string ( "三つ目の整数値を入力してください : " ); sum += s_input_int(); /* 「s += x」は、「 s = s + (x)」の省略型 */ /* * sum の元の値と、新に入力された値の和が sum に入る。 * 元々、sum には、二つの整数の和が入っているので、結果は三つの整数の和 */ sum_print ( sum ); /* 三つの整数の和が表示される */ return 0; }
34 98 111
C:\usr\c>sample-003 sum の値は 0 です。 一つ目の整数値を入力してください : 34 sum の値は 34 です。 二つ目の整数値を入力してください : 98 sum の値は 132 です。 三つ目の整数値を入力してください : 111 sum の値は 243 です。 C:\usr\c>
Download : sample-004.c ( SJIS 版 )
/* * 2013/07/12 sample-004.c */ /* * 代入文 (計算結果の蓄積) * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-004.exe sample-004.c * 実行 * sample-004 */ #include <stdio.h> #include "s_print.h" #include "s_input.h" /* * sum_print * 「sum の値は QQQQ です。」と出力する。QQQQ は現在の sum の値 */ void sum_print ( int sum ) { s_print_string ( "sum の値は " ); s_print_int ( sum ); s_print_string ( " です。\n" ); } /* * input_nth_numner * 「QQQQ 番目の数値を入力してください」と出力し、整数値を入力して返す。 */ int input_nth_numner ( int i ) { /* * プロンプト(入力促進メッセージ)を出力し.. */ s_print_int ( i ); s_print_string ( " 番目の整数値を入力してください : " ); return s_input_int(); /* 整数を入力し、その結果を値として返す */ } /* * main * * 三つの整数値を入力し、その総和を計算して表示する。 */ int main( double argc, char *argv[] ) { int sum = 0; /* 「最初」の「総和」は、0 */ int i = 1; /* 「最初」の「入力」は、1 番目 */ /* * */ sum_print ( sum ); /* 0 が入っているので 0 が出力される */ /* * 一つ目 */ sum += input_nth_numner ( i ); sum_print ( sum ); i++; /* * 二つ目 */ sum += input_nth_numner ( i ); sum_print ( sum ); i++; /* * 三つ目 */ sum += input_nth_numner ( i ); sum_print ( sum ); i++; /* この最後の i++ は不要だが .. */ return 0; }
34 98 111
C:\usr\c>sample-004 sum の値は 0 です。 1 番目の整数値を入力してください : 34 sum の値は 34 です。 2 番目の整数値を入力してください : 98 sum の値は 132 です。 3 番目の整数値を入力してください : 111 sum の値は 243 です。 C:\usr\c>
Download : sample-005.c ( SJIS 版 )
/* * 2013/07/12 sample-005.c */ /* * 代入文 (計算結果の蓄積) * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-005.exe sample-005.c * 実行 * sample-005 */ #include <stdio.h> #include "s_print.h" /* * sum_print * 「sum の値は QQQQ です。」と出力する。QQQQ は現在の sum の値 */ void sum_print ( int sum ) { s_print_string ( "sum の値は " ); s_print_int ( sum ); s_print_string ( " です。\n" ); } /* * main * * 1 から 5 までの数の和を出力する */ int main( double argc, char *argv[] ) { /* * */ s_print_string ( "1 から 5 までの和は " ); s_print_int ( 1 + 2 + 3 + 4 + 5 ); s_print_string ( " です。\n" ); /* * */ return 0; }
C:\usr\c>sample-005 1 から 5 までの和は 15 です。 C:\usr\c>
Download : sample-006.c ( SJIS 版 )
/* * 2013/07/12 sample-006.c */ /* * 代入文 (計算結果の蓄積) * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-006.exe sample-006.c * 実行 * sample-006 */ #include <stdio.h> #include "s_print.h" /* * main * * 1 から 5 までの数の和を出力する */ int main( double argc, char *argv[] ) { int sum = 1 + 2 + 3 + 4 + 5; /* 変数を利用する */ /* * */ s_print_string ( "1 から 5 までの和は " ); s_print_int ( sum ); s_print_string ( " です。\n" ); /* * */ return 0; }
C:\usr\c>sample-006 1 から 5 までの和は 15 です。 C:\usr\c>
Download : sample-007.c ( SJIS 版 )
/* * 2013/07/12 sample-007.c */ /* * 代入文 (計算結果の蓄積) * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-007.exe sample-007.c * 実行 * sample-007 */ #include <stdio.h> #include "s_print.h" /* * main * * 1 から 5 までの数の和を出力する */ int main( double argc, char *argv[] ) { int sum = 0; /* 最初に 0 にし.. */ /* * */ sum += 1; /* まず、 1 を加え.. */ sum += 2; /* 次に、 2 を加え.. */ sum += 3; /* 更に、 3 を加え.. */ sum += 4; /* 又々、 4 を加え.. */ sum += 5; /* 終に、 5 を加え.. */ /* * */ s_print_string ( "1 から 5 までの和は " ); s_print_int ( sum ); s_print_string ( " です。\n" ); /* * */ return 0; }
C:\usr\c>sample-007 1 から 5 までの和は 15 です。 C:\usr\c>
Download : sample-008.c ( SJIS 版 )
/* * 2013/07/12 sample-008.c */ /* * 代入文 (計算結果の蓄積) * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-008.exe sample-008.c * 実行 * sample-008 */ #include <stdio.h> #include "s_print.h" /* * main * * 1 から 5 までの数の和を出力する */ int main( double argc, char *argv[] ) { int sum = 0; /* 最初に 0 にし.. */ int i = 1; /* 最初に加えるのは 1 なので.. */ int n = 5; /* 最後は 5 なので.. */ /* * */ if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } /* * ここから先は i が 6 になっているので、実行されない */ if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } /* * */ s_print_string ( "1 から " ); s_print_int ( n ); s_print_string ( " までの和は " ); s_print_int ( sum ); s_print_string ( " です。\n" ); /* * */ return 0; }
C:\usr\c>sample-008 1 から 5 までの和は 15 です。 C:\usr\c>
Download : sample-009.c ( SJIS 版 )
/* * 2013/07/12 sample-009.c */ /* * 代入文 (計算結果の蓄積) * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-009.exe sample-009.c * 実行 * sample-009 */ #include <stdio.h> #include "s_print.h" #include "s_input.h" /* * main * * 1 から、n ( 一桁の自然数 ) までの数の和を出力する */ int main( double argc, char *argv[] ) { int sum = 0; /* 最初に 0 にし.. */ int i = 1; /* 最初に加えるのは 1 なので.. */ int n; /* * */ s_print_string ( " 一桁の自然数を入力してください : " ); n = s_input_int(); /* n の値を入力 */ /* * */ if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } /* * */ s_print_string ( "1 から " ); s_print_int ( n ); s_print_string ( " までの和は " ); s_print_int ( sum ); s_print_string ( " です。\n" ); /* * */ return 0; }
7
C:\usr\c>sample-009 一桁の自然数を入力してください : 7 1 から 7 までの和は 28 です。 C:\usr\c>
Download : sample-010.c ( SJIS 版 )
/* * 2013/07/12 sample-010.c */ /* * 代入文 (計算結果の蓄積) * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-010.exe sample-010.c * 実行 * sample-010 */ #include <stdio.h> #include "s_print.h" #include "s_input.h" /* * main * * 1 から、n ( 任意の自然数 ) までの数の和を出力する */ int main( double argc, char *argv[] ) { int sum = 0; /* 最初に 0 にし.. */ int i = 1; /* 最初に加えるのは 1 なので.. */ int n; /* * */ s_print_string ( "自然数を入力してください : " ); n = s_input_int(); /* n の値を入力 */ /* * */ while ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } /* * */ s_print_string ( "1 から " ); s_print_int ( n ); s_print_string ( " までの和は " ); s_print_int ( sum ); s_print_string ( " です。\n" ); /* * */ return 0; }
7
C:\usr\c>sample-010 自然数を入力してください : 7 1 から 7 までの和は 28 です。 C:\usr\c>
Download : sample-011.c ( SJIS 版 )
/* * 2013/07/12 sample-011.c */ /* * while 文 * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-011.exe sample-011.c * 実行 * sample-011 */ #include <stdio.h> #include "s_print.h" #include "s_input.h" /* * input_nth_numner * 「QQQQ 番目の数値を入力してください」と出力し、整数値を入力して返す。 */ int input_nth_numner ( int i ) { /* * プロンプト(入力促進メッセージ)を出力し.. */ s_print_int ( i ); s_print_string ( " 番目の整数値を入力してください : " ); return s_input_int(); /* 整数を入力し、その結果を値として返す */ } /* * main * * n ( 任意の自然数 ) の整数の和を計算する */ int main( double argc, char *argv[] ) { int sum = 0; /* 最初に 0 にし.. */ int i = 1; /* 最初に加えるのは 1 なので.. */ int n; /* * */ s_print_string ( "自然数を入力してください : " ); n = s_input_int(); /* n の値を入力 */ /* * */ while ( i <= n ) { /* i が n 以下の時は.. */ sum += input_nth_numner ( i ); i++; } /* * */ s_print_int ( n ); s_print_string ( " 個の整数の和は " ); s_print_int ( sum ); s_print_string ( " です。\n" ); /* * */ return 0; }
5 123 456 78 901 23
C:\usr\c>sample-011 自然数を入力してください : 5 1 番目の整数値を入力してください : 123 2 番目の整数値を入力してください : 456 3 番目の整数値を入力してください : 78 4 番目の整数値を入力してください : 901 5 番目の整数値を入力してください : 23 5 個の整数の和は 1581 です。 C:\usr\c>
Download : sample-012.c ( SJIS 版 )
/* * 2013/07/12 sample-012.c */ /* * while 文 ( n 回の繰返し ) * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-012.exe sample-012.c * 実行 * sample-012 */ #include <stdio.h> #include "s_print.h" #include "s_input.h" /* * main * * 0 から n - 1 までの数を出力する。 */ int main( double argc, char *argv[] ) { int i; int n; /* * */ s_print_string ( "自然数を入力してください : " ); n = s_input_int(); /* n の値を入力 */ /* * */ i = 0; while ( i < n ) { /* i が n 未満の時は.. */ s_print_int ( i ); /* i を出力し.. */ s_print_char ( ' ' ); /* 間を空ける */ i++; } s_print_newline(); /* 最後に改行 */ /* * */ return 0; }
5
C:\usr\c>sample-012 自然数を入力してください : 5 0 1 2 3 4 C:\usr\c>
Download : sample-013.c ( SJIS 版 )
/* * 2013/07/12 sample-013.c */ /* * while 文 ( n 回の繰返し ) * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-013.exe sample-013.c * 実行 * sample-013 */ #include <stdio.h> #include "s_print.h" #include "s_input.h" /* * main * * n 個の '*' を出力する */ int main( double argc, char *argv[] ) { int i; int n; /* * */ s_print_string ( "自然数を入力してください : " ); n = s_input_int(); /* n の値を入力 */ /* * */ i = 0; while ( i < n ) { /* i が n 未満の時は.. */ s_print_char ( '*' ); /* '*' を書く */ i++; } s_print_newline(); /* 最後に改行 */ /* * */ return 0; }
5
C:\usr\c>sample-013 自然数を入力してください : 5 ***** C:\usr\c>
Download : sample-014.c ( SJIS 版 )
/* * 2013/07/12 sample-014.c */ /* * while 文 ( n 回の繰返し ) * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-014.exe sample-014.c * 実行 * sample-014 */ #include <stdio.h> #include "s_print.h" #include "s_input.h" /* * main * * サイズ n - 1 個の三角形を出力する */ int main( double argc, char *argv[] ) { int i; int n; /* * */ s_print_string ( "自然数を入力してください : " ); n = s_input_int(); /* n の値を入力 */ /* * */ i = 0; while ( i < n ) { /* i が n 未満の時は.. */ int j = 0; while ( j < i ) { /* j が i 未満の時は.. */ s_print_char ( '*' ); j++; } s_print_newline(); /* 最後に改行 */ i++; } /* * */ return 0; }
5
C:\usr\c>sample-014 自然数を入力してください : 5 * ** *** **** C:\usr\c>
Download : sample-015.c ( SJIS 版 )
/* * 2013/07/12 sample-015.c */ /* * while 文 と再帰 * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-015.exe sample-015.c * 実行 * sample-015 */ #include <stdio.h> #include "s_print.h" #include "s_input.h" /* * while_func ( int i, int n ) * * n - 1 個の '*' を出力する */ void while_func ( int i, int n ) { /* while ( i < n ) { s_print_char ( '*' ); i++; } */ if ( i < n ) { /* while → if */ s_print_char ( '*' ); /* 同じ */ i++; /* 同じ */ while_func ( i, n ); /* 再帰 */ } /* 空っぽの else は省略可能 */ /* else {} */ } /* * while_func_2 ( int i ) * * n 個の '*' を出力する */ /* * main * * n 個の '*' を出力する */ int main( double argc, char *argv[] ) { int i; int n; /* * */ s_print_string ( "自然数を入力してください : " ); n = s_input_int(); /* n の値を入力 */ /* * */ /* i = 0; while ( i < n ) { s_print_char ( '*' ); i++; } */ /* while 文と同等な関数を再帰で作成する */ while_func ( 0, n ); /* 引数の 0 は、代入文 「i = 0」に相当 */ s_print_newline(); /* 最後に改行 */ /* * */ return 0; }
5
C:\usr\c>sample-015 自然数を入力してください : 5 ***** C:\usr\c>
Download : sample-016.c ( SJIS 版 )
/* * 2013/07/12 sample-016.c */ /* * while 文 と再帰 * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-016.exe sample-016.c * 実行 * sample-016 */ #include <stdio.h> #include "s_print.h" #include "s_input.h" /* * while_func ( int i, int n ) * * n - 1 個の '*' を出力する */ void while_func ( int j, int i ) { /* while ( j < i ) { s_print_char ( '*' ); j++; } */ if ( j < i ) { /* while → if */ s_print_char ( '*' ); /* 同じ */ j++; /* 同じ */ while_func ( j, i ); /* 再帰 */ } /* 空っぽの else は省略可能 */ /* else {} */ } /* * while_func_2 ( int i, int n ) */ void while_func_2 ( int i, int n ) { /* while ( i < n ) { i++; while_func ( 0, i ); s_print_newline(); } */ if ( i < n ) { /* while → if */ while_func ( 0, i ); s_print_newline(); i++; /* 同じ */ while_func_2 ( i, n ); /* 再帰 */ } /* 空っぽの else は省略可能 */ /* else {} */ } /* * main * * サイズ n - 1 個の三角形を出力する */ int main( double argc, char *argv[] ) { int i; int n; /* * */ s_print_string ( "自然数を入力してください : " ); n = s_input_int(); /* n の値を入力 */ /* * */ while_func_2 ( 0, n ); /* * */ return 0; }
5
C:\usr\c>sample-016 自然数を入力してください : 5 * ** *** **** C:\usr\c>
#include <stdio.h> #include "s_print.h" void function ( int variable ) { s_print_string ( "変数 variable の値は " ); s_print_int ( variable ); /* 引数で指定された値 */ /* 変数 variable の値は、事前にはわからない */ s_print_string ( "です。\n" ); /* ただし、関数の中では、同じ値になっている */ /* もう一度、参照しても、同じ結果になる */ s_print_string ( "変数 variable の値は " ); s_print_int ( variable ); /* 一回目と同じ値 */ /* 変数 variable の値は、事前にはわからない */ s_print_string ( "です。\n" ); } int main(int argc, char *argv[] ) { function ( 100 ); /*関数呼出しで引数に 100 と指定すると*/ function ( 200 ); /* 関数の引数変数 variable に 100 が*/ function ( 999 ); /* 入る */ }
#include <stdio.h> #include "s_print.h" void function ( int variable ) { s_print_string ( "変数 variable の値は " ); s_print_int ( variable ); /* 引数で指定された値 */ /* 変数 variable の値は、事前にはわからない */ s_print_string ( "です。\n" ); /* ただし、関数の中では、同じ値になっている */ variable = 100 * 100; /* 代入すると、値が変更できる */ /* 代入によって、以前の値は失われる */ /* もう一度、参照しても、同じ結果になる */ s_print_string ( "変数 variable の値は " ); s_print_int ( variable ); /* 今度は一回目とは違うかも */ /* かならず 10000(代入した値) になる */ /* 変数 variable の値は、事前にはわからない */ s_print_string ( "です。\n" ); } int main(int argc, char *argv[] ) { function ( 100 ); /*関数呼出しで引数に 100 と指定すると*/ function ( 200 ); /* 関数の引数変数 variable に 100 が*/ function ( 999 ); /* 入る */ }
/* * 2013/07/12 sample-001.c */ /* * 代入文 * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-001.exe sample-001.c * 実行 * sample-001 */ #include <stdio.h> #include "s_print.h" /* * main */ int main( double argc, char *argv[] ) { int i = 123; /* 変数は、宣言と同時に値を指定できる (初期化) */ s_print_string ( "i の値は、現在 " ); s_print_int ( i ); /* 変数 i の値は、初期化された値 */ s_print_string ( " です。\n" ); s_print_string ( "i の値を、もう一度確認すると " ); s_print_int ( i ); /* 変数 i の値は、代入されない限り変化しない */ s_print_string ( " です。\n" ); i = 1 + 2 + 3; /* 代入によって変数の値は変更される */ s_print_string ( "i の値は、 " ); s_print_int ( i ); /* 変数 i の値は、最後に変更された結果 */ s_print_string ( " に変化しました。\n" ); return 0; }
/* * 2013/07/12 sample-002.c */ /* * 代入文 ( 変数の値の更新 ) * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-002.exe sample-002.c * 実行 * sample-002 */ #include <stdio.h> #include "s_print.h" /* * main */ int main( double argc, char *argv[] ) { int i = 987; /* 変数は、宣言と同時に値を指定できる (初期化) */ s_print_string ( "i の値は、現在 " ); s_print_int ( i ); /* 変数 i の値は、初期化された値 */ s_print_string ( " です。\n" ); i = i + 1; /* 代入文の右辺(式)には、「代入される変数自身」を含める事ができる。 * その時の変数の値は、代入前の変数の値となる。 * 代入前 i の値は 「987」 なので、 * 右辺(式)の値は 「987 + 1」の「988」となる。 */ /* i = i + 1; ↓ i = 987 + 1; 987 は i の代入前の値 ↓ i = 988; 代入後は、i の値は、988 である */ s_print_string ( "i の値は、現在 " ); s_print_int ( i ); /* 変数 i の値は、最後に代入された「988」 */ s_print_string ( " です。\n" ); i = i + 1; /* 今度は、「988 + 1」、すなわち「989」が代入される。 * 変数を、変数自身の現在の値を利用した式を代入する事によって、 * 「変数の値の更新」をする事ができる。 */ s_print_string ( "i の値は、現在 " ); s_print_int ( i ); /* 変数 i の値は、最後に代入された「989」 */ s_print_string ( " です。\n" ); i++; /* 「i 自身の値を 1 増やす」という「更新」は良く行うので、 * C 言語では、省略型が用意されている。 * 「i++」は、とりあえず、「i = i + 1」と同じと考えてよい * だから、この結果 i は 「990」になる */ s_print_string ( "i の値は、最後に " ); s_print_int ( i ); /* 変数 i の値は、最後に代入された「990」 */ s_print_string ( " となりました。\n" ); return 0; }
/* * 2013/07/12 sample-003.c */ /* * 代入文 (計算結果の蓄積) * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-003.exe sample-003.c * 実行 * sample-003 */ #include <stdio.h> #include "s_print.h" #include "s_input.h" /* * sum_print * 「sum の値は QQQQ です。」と出力する。QQQQ は現在の sum の値 */ void sum_print ( int sum ) { s_print_string ( "sum の値は " ); s_print_int ( sum ); s_print_string ( " です。\n" ); } /* * main * * 三つの整数値を入力し、その総和を計算して表示する。 */ int main( double argc, char *argv[] ) { int sum = 0; /* 「最初」は、(一つも入力されていないので..) 総和は 0 */ /* * */ sum_print ( sum ); /* 0 が入っているので 0 が出力される */ /* * */ s_print_string ( "一つ目の整数値を入力してください : " ); sum = sum + s_input_int(); /* * sum の元の値と、新に入力された値の和が sum に入る。 * 元々、sum には 0 が入っていたので、結局、最初に入力した整数値になる。 */ sum_print ( sum ); /* 最初に入力した整数値になる */ /* * */ s_print_string ( "二つ目の整数値を入力してください : " ); sum = sum + s_input_int(); /* * sum の元の値と、新に入力された値の和が sum に入る。 * 元々、sum には、一つ目の整数が入っているので、二つの整数の和になる。 */ sum_print ( sum ); /* 二つの整数の和が表示される */ /* * */ s_print_string ( "三つ目の整数値を入力してください : " ); sum += s_input_int(); /* 「s += x」は、「 s = s + (x)」の省略型 */ /* i = i + 1 → i += 1 → i++ */ /* より一般に V = V op X → V op= X とかける事が多い */ /* 例 op が +, -, *, / の時もつかえる.. */ /* * sum の元の値と、新に入力された値の和が sum に入る。 * 元々、sum には、二つの整数の和が入っているので、結果は三つの整数の和 */ sum_print ( sum ); /* 三つの整数の和が表示される */ return 0; }
/* * 2013/07/12 sample-003.c */ /* * 代入文 (計算結果の蓄積) * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-003.exe sample-003.c * 実行 * sample-003 */ #include <stdio.h> #include "s_print.h" #include "s_input.h" /* * sum_print * 「sum の値は QQQQ です。」と出力する。QQQQ は現在の sum の値 */ void sum_print ( int sum ) { s_print_string ( "sum の値は " ); s_print_int ( sum ); s_print_string ( " です。\n" ); } /* * main * * 三つの整数値を入力し、その総和を計算して表示する。 */ int main( double argc, char *argv[] ) { int sum = 0; /* 「最初」は、(一つも入力されていないので..) 総和は 0 */ int n1; /* 一つ目の入力された値 */ int n2; /* 二つ目の入力された値 */ int n3; /* 三つ目の入力された値 */ s_print_string ( "一つ目の整数値を入力してください : " ); n1 = s_input_int(); s_print_string ( "二つ目の整数値を入力してください : " ); n2 = s_input_int(); s_print_string ( "三つ目の整数値を入力してください : " ); n3 = s_input_int(); sum = n1 + n2 + n3; sum_print ( sum ); /* 三つの整数の和が表示される */ return 0; }
/* * 2013/07/12 sample-004.c */ /* * 代入文 (計算結果の蓄積) * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-004.exe sample-004.c * 実行 * sample-004 */ #include <stdio.h> #include "s_print.h" #include "s_input.h" /* * sum_print * 「sum の値は QQQQ です。」と出力する。QQQQ は現在の sum の値 */ void sum_print ( int sum ) { s_print_string ( "sum の値は " ); s_print_int ( sum ); s_print_string ( " です。\n" ); } /* * input_nth_numner * 「QQQQ 番目の数値を入力してください」と出力し、整数値を入力して返す。 */ int input_nth_numner ( int i ) { /* * プロンプト(入力促進メッセージ)を出力し.. */ s_print_int ( i ); s_print_string ( " 番目の整数値を入力してください : " ); return s_input_int(); /* 整数を入力し、その結果を値として返す */ } /* * main * * 三つの整数値を入力し、その総和を計算して表示する。 */ int main( double argc, char *argv[] ) { int sum = 0; /* 「最初」の「総和」は、0 */ int i = 1; /* 「最初」の「入力」は、1 番目 */ /* * */ sum_print ( sum ); /* 0 が入っているので 0 が出力される */ /* * 一つ目 */ sum += input_nth_numner ( i ); sum_print ( sum ); i++; /* * 二つ目 */ sum += input_nth_numner ( i ); sum_print ( sum ); i++; /* * 三つ目 */ sum += input_nth_numner ( i ); sum_print ( sum ); i++; /* この最後の i++ は不要だが .. */ return 0; }
/* * 2013/07/12 sample-007.c */ /* * 代入文 (計算結果の蓄積) * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-007.exe sample-007.c * 実行 * sample-007 */ #include <stdio.h> #include "s_print.h" /* * main * * 1 から 5 までの数の和を出力する */ int main( double argc, char *argv[] ) { int sum = 0; /* 最初に 0 にし.. */ /* ここでは sum は 0 だった */ sum += 1; /* まず、 1 を加え.. */ /* sum += 1 → sum = sum + (1) → sum = 0 + 1 = 1 */ sum += 2; /* 次に、 2 を加え.. */ /* sum = 0 + 1 + 2 = 1 + 2 */ sum += 3; /* 更に、 3 を加え.. */ /* sum = 1 + 2 + 3 */ sum += 4; /* 又々、 4 を加え.. */ /* sum = 1 + 2 + 3 + 4 */ sum += 5; /* 終に、 5 を加え.. */ /* sum = 1 + 2 + 3 + 4 + 5*/ /* * */ s_print_string ( "1 から 5 までの和は " ); s_print_int ( sum ); s_print_string ( " です。\n" ); /* * */ return 0; }
/* * 2013/07/12 sample-007.c */ /* * 代入文 (計算結果の蓄積) * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-007.exe sample-007.c * 実行 * sample-007 */ #include <stdio.h> #include "s_print.h" /* * main * * 1 から 5 までの数の和を出力する */ int main( double argc, char *argv[] ) { int sum = 0; /* 最初に 0 にし.. */ int i = 1; /* 加える数は最初は 1 */ sum += i; /* まず、 1 を加え.. */ i++; /* i++ → i = i + 1 → i = 1 + 1 = 2 */ sum += i; /* 次に、 2 を加え.. */ i++; sum += i; /* 更に、 3 を加え.. */ i++; sum += i; /* 又々、 4 を加え.. */ i++; sum += i; /* 終に、 5 を加え.. */ i++; /* * sum += 1 と sum += 2 の違いは、1 と 2 の違い * 違う 1 と 2 を変数 i に置き換える * * sum += 1 → i = 1 ; sum += i; * sum += 2 → i = 2 ; sum += i; * i=1; * sum += 1 → sum += i; i++; * sum += 2 → sum += i; i++; 同じ形になった */ /* * */ s_print_string ( "1 から 5 までの和は " ); s_print_int ( sum ); s_print_string ( " です。\n" ); /* * */ return 0; }
/* * 2013/07/12 sample-008.c */ /* * 代入文 (計算結果の蓄積) * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-008.exe sample-008.c * 実行 * sample-008 */ #include <stdio.h> #include "s_print.h" /* * main * * 1 から 5 までの数の和を出力する */ int main( double argc, char *argv[] ) { int sum = 0; /* 最初に 0 にし.. */ int i = 1; /* 最初に加えるのは 1 なので.. */ int n = 5; /* 最後は 5 なので.. */ /* * */ if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } /* sum += 1 */ /* if ( 1 <= 5 ) { sum += 1; i++; } ↓ sum += 1; i++; i ← 2 を代入 */ if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } /* sum += 2 */ if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } /* sum += 3 */ if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } /* sum += 4 */ if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } /* sum += 5 */ /* * ここから先は i が 6 になっているので、実行されない */ if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } /* なにもしない.. なぜなら i は 6 */ if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } /* * */ s_print_string ( "1 から " ); s_print_int ( n ); s_print_string ( " までの和は " ); s_print_int ( sum ); s_print_string ( " です。\n" ); /* * */ return 0; }
/* * 2013/07/12 sample-009.c */ /* * 代入文 (計算結果の蓄積) * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-009.exe sample-009.c * 実行 * sample-009 */ #include <stdio.h> #include "s_print.h" #include "s_input.h" /* * main * * 1 から、n ( 一桁の自然数 ) までの数の和を出力する */ int main( double argc, char *argv[] ) { int sum = 0; /* 最初に 0 にし.. */ int i = 1; /* 最初に加えるのは 1 なので.. */ int n; /* * */ s_print_string ( " 一桁の自然数を入力してください : " ); n = s_input_int(); /* n の値を入力 */ /* n には 1 から 9 が入る */ /* * */ if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } if ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } /* * */ s_print_string ( "1 から " ); s_print_int ( n ); s_print_string ( " までの和は " ); s_print_int ( sum ); s_print_string ( " です。\n" ); /* * */ return 0; }
/* * 2013/07/12 sample-009.c */ /* * 代入文 (計算結果の蓄積) * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-009.exe sample-009.c * 実行 * sample-009 */ #include <stdio.h> #include "s_print.h" #include "s_input.h" /* * main * * 1 から、n ( 一桁の自然数 ) までの数の和を出力する */ int main( double argc, char *argv[] ) { int sum = 0; /* 最初に 0 にし.. */ int i = 1; /* 最初に加えるのは 1 なので.. */ int n; /* * */ s_print_string ( " 一桁の自然数を入力してください : " ); n = s_input_int(); /* n の値を入力 */ /* n には 1 から 9 が入る */ /* * if → while : 任意の n に関して、階和の計算 */ while ( i <= n ) { /* i が n 以下の時は.. */ sum += i; /* i の現在の値を加えたら */ i++; /* i の値を更新し.. */ } /* * */ s_print_string ( "1 から " ); s_print_int ( n ); s_print_string ( " までの和は " ); s_print_int ( sum ); s_print_string ( " です。\n" ); /* * */ return 0; }
/* * 2013/07/12 sample-010.c */ /* * 代入文 (計算結果の蓄積) * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o sample-010.exe sample-010.c * 実行 * sample-010 */ #include <stdio.h> #include "s_print.h" #include "s_input.h" /* * main * * 1 から、n ( 任意の自然数 ) までの数の和を出力する */ int main( double argc, char *argv[] ) { int sum = 0; /* 最初に 0 にし.. */ int i = 1; /* 最初に加えるのは 1 なので.. */ int n; /* * */ s_print_string ( "自然数を入力してください : " ); n = s_input_int(); /* n の値を入力 */ /* * sum ← 0 * i ← 1 * n ← 仮に 3 が入っている物と考える */ while ( i <= n ) { /* i が n 以下の時は.. */ /* [1回目] i が 1 で、 n が 3 なので、条件が成立 */ /* [2回目] i が 2 で、 n が 3 なので、条件が成立 */ /* [3回目] i が 3 で、 n が 3 なので、条件が成立 */ /* [4回目] i が 4 で、 n が 3 なので、条件が不成立 */ sum += i; /* i の現在の値を加えたら */ /* [1回目] sum に i を加える sum は 0 で、 i は 1 なので、 sum には、0+1=1 が入る */ /* [2 回目] sum に i を加える sum は 1 で、 i は 2 なので、 sum には、1+2=3 が入る */ /* [3 回目] sum に i を加える sum は 3 で、 i は 3 なので、 sum には、3 + 3 = 6 = 1 + 2 + 3 が入る */ i++; /* i の値を更新し.. */ /* [1回目] i は 1 だったので i は 2 になる */ /* [2回目] i は 2 だったので i は 3 になる */ /* [3回目] i は 3 だったので i は 4 になる */ } /* [4回目] 中身は何もせず while の外に出る */ /* このとき i は 4 になっている (i<n が成立しない状態) */ /* * */ s_print_string ( "1 から " ); s_print_int ( n ); s_print_string ( " までの和は " ); s_print_int ( sum ); s_print_string ( " です。\n" ); /* * */ return 0; }
#include <stdio.h> int main(int argc, char *argv[] ) { int i = 0; while ( i < 10 ) { printf ( "hello\n" ); /* while 文の条件が変化するように、代入文が必要 */ /* 条件が変化しない場合は、無限ループになる */ /* i++; */ } }
/* * CDATE FILENAME */ /* * while 文 * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o BASENAME.exe FILENAME * 実行 * BASENAME */ #include <stdio.h> #include "s_print.h" #include "s_input.h" /* * input_nth_numner * 「QQQQ 番目の数値を入力してください」と出力し、整数値を入力して返す。 */ int input_nth_numner ( int i ) { /* * プロンプト(入力促進メッセージ)を出力し.. */ s_print_int ( i ); s_print_string ( " 番目の整数値を入力してください : " ); return s_input_int(); /* 整数を入力し、その結果を値として返す */ } /* * main * * n ( 任意の自然数 ) の整数の和を計算する */ int main( double argc, char *argv[] ) { int sum = 0; /* 最初に 0 にし.. */ int i = 1; /* 最初に加えるのは 1 なので.. */ int n; /* * */ s_print_string ( "自然数を入力してください : " ); n = s_input_int(); /* n の値を入力 */ /* int i; int n; i の上限が入っているとすると i = 1; while ( i <= n ) { i = 1 .. n で、何かをする 何か i++; } これは、「何か」を n 回実行するパターン */ while ( i <= n ) { /* i が n 以下の時は.. */ sum += input_nth_numner ( i ); i++; } /* sum += input_nth_numner ( i ); を n 回実行するパターン */ /* * */ s_print_int ( n ); s_print_string ( " 個の整数の和は " ); s_print_int ( sum ); s_print_string ( " です。\n" ); /* * */ return 0; }
/* * 課題 20130628-01 * * 2013/06/28 20130628-01-QQQQ.c * * キーボードから三つの整数を入力し、小さい順に出力する */ #include <stdio.h> #include "s_input.h" #include "s_print.h" /* * 2013/06/28 20130628-01-QQQQ.c */ /* * 代入文 (計算結果の蓄積) * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o BASENAME.exe 20130628-01-QQQQ.c * 実行 * BASENAME */ #include <stdio.h> #include "s_print.h" #include "s_input.h" /* * input_nth_numner * 「QQQQ 番目の数値を入力してください」と出力し、整数値を入力して返す。 */ int input_number ( void ) { /* * プロンプト(入力促進メッセージ)を出力し.. */ s_print_string ( "正の数を入力してください(0 以下の数で終了) : " ); return s_input_int(); /* 整数を入力し、その結果を値として返す */ } /* * main * * 正の整数を入力し続ける限り、その数の総和を計算する * [考え方] * * 最初の条件を作る * while ( 正の整数が入力されている ) { * 総和の計算をする * 条件の変更を行う * } * */ int main( double argc, char *argv[] ) { int sum = 0; /* 最初に 0 にし.. */ int num; /* キーボードから入力される整数値を 保持する変数 */ /* * */ /* [最初の条件を作る] */ /* 入力が正の整数かどうかを(後で)判定するために 取り敢えず入力はしないと先に進めない.. */ num = input_number(); /* 取り敢えず、入力しないとなんとも.. */ /* [正の整数が入力されている間] */ /* num に、最後に入力された整数値が入っているので */ /* 条件としては 「num > 0」が「正の整数が入力」*/ while ( num > 0 ) { /* 入力された数が正ならば.. */ /* [総和の計算をする] */ /* sum に入力された値(num)を足し込めばよいので.. */ sum += num; /* [条件の変更を行う] */ /* 現在の num は既に処理済で、 次の num が欲い.. */ num = input_number(); /* 次の入力を行う */ } /* * */ s_print_string ( "和は " ); /* sum の結果を出力すればよいので.. */ s_print_string ( " です。\n" ); /* * */ return 0; }
#include <stdio.h> #include "s_print.h" int main ( int argc, char *argv[] ) { int i = 0; /* i = 0 .. 9 まで i を出力 */ while ( i < 10 ) { s_print_int ( i ); s_print_char ( ' ' ); i++; } s_print_newline(); return 0; }
#include <stdio.h> #include "s_print.h" void while_func( int i ) { /* i = 0 .. 9 まで i を出力 */ while ( i < 10 ) { s_print_int ( i ); s_print_char ( ' ' ); i++; } } int main ( int argc, char *argv[] ) { int i = 0; while_func( i ); /* i = 0 の初期化は引数として与える */ s_print_newline(); return 0; }
#include <stdio.h> #include "s_print.h" /* * while 文が一つだけの関数から再帰を使って while を除去できる * * [1] while を if に変更 * [2] while(if) の本体の最後で、再帰呼出しをする * この時に、値が変化する変数を引数として渡す */ void while_func( int i ) { /* i = 0 .. 9 まで i を出力 */ /*[1] while ( i < 10 ) { */ if ( i < 10 ) { s_print_int ( i ); s_print_char ( ' ' ); i++; /* [2] 再帰呼出しを行う */ while_func( i ); } } int main ( int argc, char *argv[] ) { int i = 0; while_func( i ); /* i = 0 の初期化は引数として与える */ s_print_newline(); return 0; }
Download : 20130712-01.c ( SJIS 版 )
/* * 課題 20130628-01 * * 2013/06/28 20130628-01-QQQQ.c * * キーボードから三つの整数を入力し、小さい順に出力する */ #include <stdio.h> #include "s_input.h" #include "s_print.h" /* * 2013/06/28 20130628-01-QQQQ.c */ /* * 代入文 (計算結果の蓄積) * * 利用方法 * コンパイル * cc -Ic:\usr\c\include -o BASENAME.exe 20130628-01-QQQQ.c * 実行 * BASENAME */ #include <stdio.h> #include "s_print.h" #include "s_input.h" /* * input_nth_numner * 「QQQQ 番目の数値を入力してください」と出力し、整数値を入力して返す。 */ int input_number ( void ) { /* * プロンプト(入力促進メッセージ)を出力し.. */ s_print_string ( "正の数を入力してください(0 以下の数で終了) : " ); return s_input_int(); /* 整数を入力し、その結果を値として返す */ } /* * main * * 複数の正の数和を計算する(負の数を入力すると終わり) */ int main( double argc, char *argv[] ) { int sum = 0; /* 最初に 0 にし.. */ int num; /* * */ num = input_number(); /* 取り敢えず、入力しないとなんとも.. */ while ( num > 0 ) { /* 入力された数が正ならば.. */ /* ** この部分を完成させなさい */ num = input_number(); /* 次の入力を行う */ } /* * */ s_print_string ( "和は " ); /* ** この部分を完成させなさい */ s_print_string ( " です。\n" ); /* * */ return 0; }
12 34 987 2 13 -1
C:\usr\c\> 20130712-01-QQQQ 正の数を入力してください(0 以下の数で終了) : 12 正の数を入力してください(0 以下の数で終了) : 34 正の数を入力してください(0 以下の数で終了) : 987 正の数を入力してください(0 以下の数で終了) : 2 正の数を入力してください(0 以下の数で終了) : 13 正の数を入力してください(0 以下の数で終了) : -1 和は 1048 です。 C:\usr\c\>