Download : sample-001.c ( SJIS 版 )
/* * 2015/04/17 sample-001.c */ /* * 最初のプログラムは "Hello, World" */ #include <stdio.h> /* * main 関数 */ int main ( void ) { printf ( "Hello, World\n" ); /* "Hello, World" という文字列と改行 ( "\n" ) を表示する */ return 0; }
$ cc -c sample-001.c $ cc -o sample-001.exe sample-001.o $ ./sample-001.exe Hello, World $
Download : sample-002.c ( SJIS 版 )
/* * 2015/04/17 sample-002.c */ /* * エラーを含む例 */ #include <stdio.h> /* * main 関数 */ int main ( void ) { printf ( "Hello, World\n" ) /* セミコロンを付け忘れた */ return 0; } /* * エラーを発見したら、エディタで修正し、また、コンパイルする */
$ cc -c sample-002.c sample-002.c: 関数 'main' 内: sample-002.c:19:2: エラー: expected ';' before 'return' $
Download : sample-003.c ( SJIS 版 )
/* * 2015/04/17 sample-003.c */ /* * printf を並べれば、沢山の文字列が表示できる */ #include <stdio.h> /* * main 関数 */ int main ( void ) { printf ( "おはよウナギ\n" ); /* 複数の命令が並べられる */ printf ( "こんにちワン\n" ); /* 結果は並べられた順になる */ printf ( "こんばんワニ\n" ); /* 書く順で、表示順を决める事ができる */ /* 「順接」による、プログラミング */ return 0; }
$ ./sample-003.exe おはよウナギ こんにちワン こんばんワニ $
Download : sample-004.c ( SJIS 版 )
/* * 2015/04/17 sample-004.c */ /* * "\n" は改行を意味する。"\n" がなければ改行しない。 */ #include <stdio.h> /* * main 関数 */ int main ( void ) { printf ( "おはよ" ); /* \n がないので、ここでは、改行しない */ printf ( "ウナギ\n" ); /* 最後に \n があるので、ここで改行 */ printf ( "こんにちワン\nこんばんワニ\n" ); /* 途中に \n があるので、そこでも、改行する */ return 0; }
$ ./sample-004.exe おはよウナギ こんにちワン こんばんワニ $
Download : sample-005.c ( SJIS 版 )
/* * 2015/04/17 sample-005.c */ /* * 関数 : プログラムの一部に名前をつけて、呼び出す事ができる。 */ #include <stdio.h> /* * unagi 関数の定義 */ void unagi ( void ) { /* "ウナギ" の出力と改行を行う部分に "unagi" という名前をつける */ printf ( "ウナギ\n" ); } /* * main 関数 */ int main ( void ) { /* 最初に実行されるのは、何時でも main 関数 */ /* 他の関数は main から呼び出されないと意味がない */ printf ( "おはよ" ); /* \n がないので改行しない */ unagi(); /* 関数呼出し : printf の代わりに unagi を呼び出す */ printf ( "こんにちワン\nこんばんワニ\n" ); return 0; }
$ ./sample-005.exe おはよウナギ こんにちワン こんばんワニ $
Download : sample-006.c ( SJIS 版 )
/* * 2015/04/17 sample-006.c */ /* * 関数は何度でも呼び出す事ができる */ #include <stdio.h> /* * unagi 関数 */ void unagi ( void ) { printf ( "ウナギ\n" ); } /* * main 関数 */ int main ( void ) { unagi(); /* 関数 unagi() が 5 回呼ばれたので、5 回「ウナギ」を表示 */ unagi(); unagi(); unagi(); unagi(); return 0; }
$ ./sample-006.exe ウナギ ウナギ ウナギ ウナギ ウナギ $
Download : sample-007.c ( SJIS 版 )
/* * 2015/04/17 sample-007.c */ /* * 関数の中身を変更すれば、一挙に全体が変化 */ #include <stdio.h> /* * unagi 関数 */ int unagi ( void ) { /* "ウナギ" ではなく、"ウナギイヌ" に変更 */ printf ( "ウナギイヌ\n" ); } /* * main 関数 */ int main ( void ) { unagi(); /* 関数を呼び出す側は変化しないが、全体の動作は変化 */ unagi(); unagi(); unagi(); unagi(); return 0; }
$ ./sample-007.exe ウナギイヌ ウナギイヌ ウナギイヌ ウナギイヌ ウナギイヌ $
Download : sample-008.c ( SJIS 版 )
/* * 2015/04/17 sample-008.c */ /* * 関数の中から、関数が呼び出せるので... */ #include <stdio.h> /* * */ int unagi ( void ) { printf ( "ウナギイヌ\n" ); } /* * 「電気」の後に、「ウナギイヌ」を出力 */ int denki_unagi ( void ) { printf ( "電気" ); unagi(); /* 関数 unagi を呼び出す */ } /* * 「節電」の後に、「ウナギイヌ」を出力 */ int setsuden_unagi ( void ) { printf ( "節電" ); unagi(); /* 同 */ } /* * */ int main ( void ) { denki_unagi(); printf ( "と\n" ); setsuden_unagi(); printf ( "が仲良く CM に登場\n" ); return 0; }
$ ./sample-008.exe 電気ウナギイヌ と 節電ウナギイヌ が仲良く CM に登場 $
Download : sample-009.c ( SJIS 版 )
/* * 2015/04/17 sample-009.c */ /* * 関数の中から、関数が呼び出せるので... */ #include <stdio.h> /* * niwa */ int niwa ( void ) { printf ( "にわ" ); } /* * niwa_niwa */ int niwa_niwa ( void ) { niwa(); niwa(); } /* * niwa_niwa_niwa */ int niwa_niwa_niwa ( void ) { niwa_niwa(); niwa(); } /* * */ int main ( void ) { printf ( "うら" ); niwa_niwa_niwa (); niwa_niwa_niwa (); niwa(); printf ( "とりがいる。\n" ); return 0; }
$ ./sample-009.exe うらにわにわにわにわにわにわにわとりがいる。 $
#include <stdio.h> int main(void) { printf ( "Hello, World\n" ); /* 画面に「Hello, World<改行>」を出力する命令 */ /* 「”」と「”」の間の部分を画面に出力する */ /* 「\n」が二文字でひとつの改行を意味する。*/ return 0; }
#include <stdio.h> int main(void) { printf ( "こんにちは、皆さん\n" ); return 0; }
#include <stdio.h> int main(void) { printf ( "こんにちは、\n皆さん\n" ); /* 「\n」は改行を意味するので、*/ /* これは二行の文字列を出力する*/ return 0; }
#include <stdio.h> int main(void) { printf ( "こんにちは、皆さん\n" ); /* 一つ目の命令 */ printf ( "こんにちは、皆さん\n" ); /* 二つ目の命令 */ /* 命令を二つ並べれば、結果も二つになる */ return 0; }
#include <stdio.h> int main(void) { printf ( "こんにちは、\n" ); /* 一つ目の命令 */ printf ( "皆さん\n" ); /* 二つ目の命令 */ /* 結果の順は、命令の記述順 */ return 0; }
#include <stdio.h> /* ☆順接 */ /* 条件分岐 */ /* 繰り返し */ int main(void) { printf ( "1 こんにちは、\n" ); /* 一つ目の命令 */ printf ( "2 皆さん\n" ); /* 二つ目の命令 */ printf ( "3 こんにちは、\n" ); /* 三つ目の命令 */ printf ( "4 皆さん\n" ); /* 四つ目の命令 */ printf ( "5 こんにちは、\n" ); /* 五つ目の命令 */ printf ( "6 皆さん\n" ); /* 六つ目の命令 */ /* 命令は何行でも書ける */ return 0; }
#include <stdio.h> /* 「関数」:命令の並びに名前をつけたもの 「命令」に名前をつけることができ かつ 「名前」だけで、その「命令」が実行できる その命令を書く代わりに、名前を書くだけで済む 関数の作り方 関数の利用の仕方 */ void kon(void) { printf ( "こんにちは、\n" ); /* 一つ目の命令 */ printf ( "皆さん\n" ); /* 二つ目の命令 */ } /* 二行の命令に「kon」という名前をつけた */ /* 「kon」という関数を定義し、その内容をこの二行にした */ int main(void) { kon(); /* 関数名を指定すると、その名前がついた 命令が実行される */ kon(); kon(); return 0; }
#include <stdio.h> main() { printf ( "1 Hello, World\n" ); printf ( "2 Hello, World\n" ); printf ( "3 Hello, World\n" ); printf ( "4 Hello, World\n" ); }
[課題]「Hello,自分の名前」を100回以上出力するC言語のプログラム
課題プログラム内の「/*名前:ここ*/」の部分を書き換え「/*この部分を完成させなさい*/」の部分にプログラムを追加して、プログラムを完成させます。
Download : 20150417-01.c ( SJIS 版 )
/* * 20150417-01-QQQQ.c * 「Hello, 自分の名前」を 100 回以上出力するプログラム */ #include <stdio.h> /* * sub */ void print1() { printf ( /* q:ここ */ ); } void print2() { print1(); print1(); } void print4() { print2(); print2(); } /* ** この部分を完成させなさい */ void print128() { print64(); print64(); } /* * main */ int main ( void ) { print128(); return 0; }
$ ./20150417-01-QQQQ.exe Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 Hello 栗野 $