C/C++学習 · 3 min read · Oct 10, 2025

C/C++を段階的に学ぶ - ページ 3

03. 段階的C/C++ — Cプログラミング - 基本的な入出力文

目次

  • Cプログラムの構造
  1. 入出力文
  2. Printf
  3. エスケープ文字
  4. プログラム内での変数の使用
  5. Scanf
  • その他の入出力文
  1. gets
  2. puts
  3. getch
  4. putch
  5. getche
  6. getchar

プログラムはすべて文の集合であり、文はコンピュータへの命令であり、定数、変数、演算子、文の集合です。

Cプログラムの構造

main( arg-list ) { } 入出力文から始めます。これらは今後のプログラムで重要な役割を果たします。 #### 入出力文 ``` Printf ``` この文は、指定されたリテラル/プロンプト/識別子を指定された形式で画面に表示します。 構文: ``` printf(<"prompt/literal/format id/esc char. ">, id1,id2, .....); ``` 例: printf("Hello"); printf("学生番号 : %d", sno); printf("学生名 : %s", name); printf("3科目の点数 : %d, %d, %d", m1, m2, m3); 1. メッセージを表示するプログラム: /* 02_print.c */ #include int main( ) { printf("Hello"); return 0; } #### エスケープ文字 一般的なエスケープシーケンス | エスケープシーケンス | 文字 | | \a | ビープ音 | | \b | バックスペース | | \f | フォームフィード | | \n | 改行 | | \r | リターン | | \t | タブ | | \\ | バックスラッシュ | | \’ | シングルクォーテーション | | \” | ダブルクォーテーション | | \xdd | 16進数表現 | 2. 新しい行にメッセージを表示するプログラム - 前のプログラムと比較してください。 /* 03_esc.c */ #include int main() { printf("\nHello"); return 0; } 3. 人の住所を表示するプログラム - main内の複数の文 /* 04_multi.c */ #include int main() { printf("\n名前"); printf("\n通り、アパート//家番号"); printf("\n郵便番号、都市"); printf("\n国"); return 0; } #### プログラム内での変数の使用 基本的な変数の種類 | キーワード | 範囲: 下限 | 範囲: 上限 | 精度の桁数 | メモリのバイト数 | フォーマットID | | Char | -128 | 127 | 該当なし | 1 | %c | | Int | -32, 768 | 32, 767 | 該当なし | 2 | %d | | Long | -2,147, 483, 648 | 2, 147, 483, 647 | 該当なし | 4 | %ld | | Float | 3.4 x 10-38 | 3.4 x 1038 | 7 | 4 | %f | | Double | 1.7 x 10-308 | 1.7 x 10308 | 15 | 8 | %lf | | long double | 3.4 x 10-4932 | 3.4 x 10-4932 | 19 | 10 | %Lf | 4. 2つの値の合計を求めるプログラム - このプログラムでは変数が導入されています /* 05_var.c */ #include int main() { int a , b , c; a = 5; b = 10; c = a + b; printf("%d", c); return 0; } 5. メッセージ付きで2つの値の合計を求めるプログラム - 前のプログラムと比較してください #include int main() { int a, b, c; a = 5; b = 10; c = a + b; printf("\n合計は %d", c); /* 値を表示する前に追加のテキストを挿入しました*/ return 0; } ``` Scanf ``` この文を使用すると、プログラムの実行中に変数に値を受け取ることができます。 構文: ``` scanf(, id1,id2, .....); ``` 例: scanf("%d", &sno); scanf("%s", name); scanf("%d%d%d", &m1, &m2, &m3); 6. scanfを使用して2つの値の合計を求めるプログラム - プログラムを実行すると、カーソルが表示され、入力を待ちます。数値を入力して「Return」を押し、これを2回行うと出力が得られます。 /* 07_scanf.c */ #include int main() { int a , b, c;      scanf("%d", &a); scanf("%d", &b); c = a + b; printf("\n合計は %d", c); return 0; } さらなる練習: 7. メッセージ表示付きで2つの値の合計を求めるプログラム - メッセージはオプションですが、ユーザーフレンドリーな対話を導入します - 前のプログラムと比較してください /* 08_sum.c */ #include int main() { int a , b, c;      printf("Aの値を入力してください "); scanf("%d", &a); printf("Bの値を入力してください "); scanf("%d", &b); c = a + b; printf("\n合計は %d", c); return 0; } 8. ( a+ b )2 の結果を求めるプログラム - 2つの値の合計プログラムに似ていますが、公式が異なります /* 09_formula.c */ #include int main() { int a, b, c; printf("Aの値を入力してください "); scanf("%d", &a); printf("Bの値を入力してください "); scanf("%d", &b); c = a * a + b * b + 2 * a * b; printf("結果は %d", c); return 0; } 9. 従業員の年収を求めるプログラム - 入力 : eno, name, sal - 処理 : asal = sal * 12 - 出力 : Eno, name, sal, asal - このプログラムでは異なる種類の変数が導入されます /* 10_emp.c */ #include int main() { int eno; char name[10]; /* 10文字幅の名前 */ float sal, asal; /* sal & asalは実数値 */ printf("従業員番号を入力してください "); scanf("%d", &eno); printf("従業員名を入力してください "); scanf("%s", name); printf("従業員の給与を入力してください "); scanf("%f", &sal); asal = sal * 12; printf("\n従業員番号 %d", eno); printf("\n従業員名 %s", name); printf("\n従業員の給与 %f", sal); printf("\n年収 %f", asal); return 0; } 10. 学生の総合点と平均点を求めるプログラム - 入力 : Sno, name, sub1, sub2, sub3 - 処理 : total = sub1 + sub2 + sub3; avg = total / 3 - 出力 : sno, name, total, avg - 上記のプログラムと似ていますが、値を受け取り、処理し、印刷します /* 11_stud.c */ #include int main() { int sno, sub1, sub2, sub3, total; char name[10]; float avg; clrscr(); /* 出力の前に画面をクリア */ printf("学生番号を入力してください "); scanf("%d", &sno); printf("学生名を入力してください "); scanf("%s", name); printf("科目1の点数を入力してください "); scanf("%d", &sub1); printf("科目2の点数を入力してください "); scanf("%d", &sub2); printf("科目3の点数を入力してください "); scanf("%d", &sub3); total = sub1 + sub2 + sub3; avtg = total / 3; printf("\n学生番号 %d", sno); printf("\n学生名 %s", name); printf("\n総合点 %d", total); printf("\n平均点 %f" , avg); return 0; } #### その他の入出力文 ``` Gets: ``` キーボードから文字列を受け取ります。キャリッジリターンまでの文字列値を受け入れます。 構文: ``` gets( ); ``` 例: gets(name); gets(street); ``` puts ``` 指定された文字列値を画面に表示します。 構文: ``` puts( / <“prompt”>); ``` 例: puts(name); puts(street); ```   ``` getch - エコーなしで文字を読み取る getche - エコー付きで文字を読み取る getchar - 文字を読み取り、キャリッジリターンを受け入れる ``` putch ``` 画面に文字を印刷できます。 構文: ``` putch(). ``` 例: putch(‘a’); putch(65); ``` getch ``` コンソールから文字を受け入れます。 構文: ``` char = getch(). ``` 例: ch = getch(); option = getch();
Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。