🌓 テーマ:

情報プログレス

GitHub

GitHubは、プログラムやコードを保存したり、他の人と共有したりするためのサービスです。以下に、GitHubの基本的な役割と使い方を簡単に説明します。

GitHubの役割

  1. コードの保存
    GitHubは、あなたが書いたコードをインターネット上に安全に保存する場所です。これにより、どこからでもアクセスできます。

  2. 共同作業
    他の人と一緒にコードを書くことができます。例えば、友達やチームメンバーと一緒にプロジェクトを進めるときに便利です。

  3. バージョン管理
    コードの変更履歴を記録できます。間違った変更をしても、以前の状態に戻すことができます。

GitHubの使い方

  1. アカウントを作成する
    GitHub公式サイト にアクセスして、無料のアカウントを作成します。

  2. リポジトリを作成する
    リポジトリとは、プロジェクトを保存するフォルダのようなものです。新しいリポジトリを作成して、そこにコードを保存します。

  3. コードをアップロードする
    自分のコンピュータで書いたコードをリポジトリにアップロードします。

  4. 他の人と共有する
    リポジトリのリンクを共有することで、他の人にコードを見てもらったり、手伝ってもらったりできます。

  5. Gitを使う
    GitHubは「Git」というツールと一緒に使うことが多いです。Gitを使うと、コマンドを使って簡単にコードをアップロードしたり、変更を管理したりできます。


Gitの概要

Gitは、ソースコードのバージョン管理を行うための分散型バージョン管理システムです。以下に、Gitの基本的な特徴を説明します。

  1. バージョン管理
    ファイルの変更履歴を記録し、過去のバージョンに戻すことができます。

  2. 分散型
    各ユーザーが完全なリポジトリのコピーを持つため、ネットワークに接続していなくても作業が可能です。

  3. ブランチ機能
    新しい機能を開発する際に、既存のコードに影響を与えずに作業を進めることができます。

  4. マージ機能
    ブランチで行った変更を統合することができます。

Gitは、効率的な開発をサポートするための強力なツールです。GitHubと組み合わせることで、さらに便利に利用できます。


アカウントの作り方

  1. GitHubのウェブサイトにアクセス
    GitHub公式サイト にアクセスします。

  2. サインアップページを開く
    画面右上の「Sign up」ボタンをクリックします。

  3. 必要な情報を入力

  4. アカウントを作成
    「Create account」ボタンをクリックし、指示に従ってCAPTCHAを完了します。

  5. プランを選択
    無料プランを選択するか、有料プランを選択します。

  6. メールアドレスを確認
    登録したメールアドレスに送られてくる確認メールを開き、リンクをクリックしてアカウントを有効化します。

リポジトリの追加

  1. GitHubにログイン
    作成したアカウントでGitHubにログインします。

  2. 新しいリポジトリを作成

  3. READMEファイルを追加

  4. リポジトリを作成

  5. リポジトリの確認
    作成したリポジトリのページが表示され、READMEファイルが含まれていることを確認できます。

Codespacesの利用方法

Codespacesは、GitHubが提供するクラウドベースの開発環境です。以下に、Codespacesの基本的な使い方を説明します。

Codespacesの作成

  1. リポジトリにアクセス
    GitHubで作成したリポジトリのページを開きます。

  2. Codespacesを起動

  3. 環境の準備
    Codespacesが起動し、開発環境が自動的にセットアップされます。

Codespacesでの作業

  1. コードの編集
    ブラウザ上でコードを編集できます。VS Codeと同様のインターフェースを利用できます。

  2. ターミナルの使用
    内蔵ターミナルを使用して、Gitコマンドやビルドコマンドを実行できます。

  3. 拡張機能の利用
    必要に応じて、VS Codeの拡張機能をインストールして開発を効率化できます。

作業内容の保存

  1. 変更をコミット
    編集したコードをリポジトリにコミットします。

  2. プッシュ
    変更をリモートリポジトリにプッシュして保存します。

Codespacesの終了

  1. Codespacesを停止
    作業が終わったら、Codespacesを停止してリソースを解放します。

  2. 再開
    必要に応じて、停止したCodespacesを再開して作業を続けることができます。

Codespacesを利用することで、どこからでも簡単に開発を始めることができます。

拡張機能のインストール

C/C++ Extension Pack

C/C++の開発を効率化するために、以下の手順でC/C++ Extension Packをインストールします。

  1. 拡張機能ビューを開く
    VS Codeの左側にある「拡張機能」アイコン(四角形が重なったアイコン)をクリックします。

  2. 検索バーに入力
    検索バーに「C/C++ Extension Pack」と入力します。

  3. 拡張機能を選択
    検索結果から「C/C++ Extension Pack」を選択します。

  4. インストール
    「Install」ボタンをクリックして拡張機能をインストールします。

  5. インストール完了
    インストールが完了すると、C/C++のコード補完やデバッグ機能が利用可能になります。

C/C++ Extension Packをインストールすることで、開発環境がさらに便利になります。

C言語の実行手順

C言語のプログラムを実行するには、以下の手順を行います。

  1. ソースコードの作成
    テキストエディタを使用して、C言語のソースコードを作成します。ファイル名は拡張子 .c を使用します(例: hello.c )。

  2. コンパイル
    作成したソースコードをコンパイラでコンパイルします。一般的には gcc を使用します。以下のコマンドを実行します。

    gcc -o 実行ファイル名 ソースファイル名
    

    例:

    gcc -o hello hello.c
    
  3. 実行
    コンパイルが成功すると、実行可能ファイルが生成されます。以下のコマンドで実行します。

    ./実行ファイル名
    

    例:

    ./hello
    

C言語のファイル名のつけ方

C言語のファイル名をつける際のポイントは以下の通りです。

  1. 拡張子を .c にする
    C言語のソースコードファイルは必ず拡張子 .c を使用します。

  2. 意味のある名前をつける
    ファイル名はプログラムの内容を簡潔に表すものにします(例: calculator.c , sort.c )。

  3. スペースを使用しない
    ファイル名にスペースを含めないようにします。代わりにアンダースコア( _ )を使用します(例: my_program.c )。

  4. 英数字とアンダースコアのみを使用
    特殊文字や日本語は避け、英数字とアンダースコアを使用します。

コマンドラインの表示

C言語のプログラムでコマンドラインにメッセージを表示するには、 printf 関数を使用します。以下は例です。

#include <stdio.h>

int main() {
    printf("Hello, World!\n");
    return 0;
}

このプログラムを実行すると、以下のように表示されます。

Hello, World!

実行方法

  1. ソースコードを保存
    例: hello.c という名前で保存します。

  2. コンパイル
    以下のコマンドを実行します。

    gcc -o hello hello.c
    
  3. 実行
    以下のコマンドを実行します。

    ./hello
    
  4. 結果の確認
    プログラムの出力がコマンドラインに表示されます。

ファイル名のつけ方

実行方法

これらのプログラムを保存し、以下の手順でコンパイルと実行を行ってください。

  1. ソースコードを保存します(例: 20250418_1.c )。

  2. 以下のコマンドでコンパイルします。

    gcc -o 20250418_1 20250418_1.c
    
  3. 以下のコマンドで実行します。

    ./20250418_1
    

C言語 基礎問題

問題1: Hello, World! を出力しよう

#include <stdio.h>

int main() {
    // ここにコードを書こう
    return 0;
}

問題 : Hello, World!と画面に表示させてください。


問題2: 変数に値を代入して表示しよう

#include <stdio.h>

int main() {
    int number;
    // ここで変数に10を代入して表示しよう
    return 0;
}

問題 : 変数 number に10を代入し、 number = 10 と表示してください。


問題3: 2つの整数を入力して合計を求めよう

#include <stdio.h>

int main() {
    int a, b;
    // 入力を受け取り、合計を出力しよう
    return 0;
}

問題 : ユーザーから整数を2つ入力し、合計を出力してください。


問題4: 偶数・奇数を判定しよう

#include <stdio.h>

int main() {
    int num;
    // 奇数か偶数かを判定しよう
    return 0;
}

問題 : ユーザーが入力した整数が偶数か奇数かを判定して表示してください。


問題5: if文の練習:成績評価

#include <stdio.h>

int main() {
    int score;
    // scoreが80以上なら「合格」と表示しよう
    return 0;
}

問題 : 点数(整数)を入力し、80点以上なら「合格」、それ以外は「不合格」と表示してください。


問題6: for文の練習:1〜10まで出力しよう

#include <stdio.h>

int main() {
    // for文で1から10までを出力しよう
    return 0;
}

問題 : 1から10までの整数を1つずつ表示してください。


問題7: while文でカウントダウンしよう

#include <stdio.h>

int main() {
    int i = 5;
    // while文で5から1までカウントダウンしよう
    return 0;
}

問題 : 変数 i を使って「5 4 3 2 1」と表示してください。


問題8: 掛け算九九の1の段を表示しよう

#include <stdio.h>

int main() {
    // 1の段:1×1〜1×9まで表示
    return 0;
}

問題 : 1 x 1 = 1 から 1 x 9 = 9 までをfor文で出力してください。


問題9: 配列にデータを入れて表示しよう

#include <stdio.h>

int main() {
    int scores[5] = {90, 80, 70, 60, 50};
    // for文を使ってscoresの中身を出力しよう
    return 0;
}

問題 : 配列 scores の全ての要素を1行ずつ出力してください。


問題10: 関数を作って使ってみよう

#include <stdio.h>

// ここに関数を定義しよう

int main() {
    // 関数を呼び出そう
    return 0;
}

問題 : 整数2つを引数に取り、足し算の結果を返す関数 add を作成し、 3 + 5 = 8 を表示してください。


📘 C言語:関数とは?

✅ 関数とは?

関数とは、「特定の処理をまとめた部品」のようなものです。

プログラムの中で何度も使いたい処理を関数として定義することで、以下のメリットがあります:


🧱 関数の基本構造

戻り値の型 関数名(引数の型 引数名, ...) {
    // 実行したい処理
    return 戻り値;
}

🔹 例:数を2倍にして返す関数

int doubleNumber(int x) {
    return x * 2;
}

🛠 main関数も関数のひとつ

C言語のプログラムは、必ず main() 関数から実行が始まります。

#include <stdio.h>

int main(void) {
    printf("Hello, World!\n");
    return 0;
}

📥 引数とは?

関数に渡す値のことです。

例では x が引数で、呼び出し元から値を受け取っています。

int doubleNumber(int x) {
    return x * 2;
}

📤 戻り値とは?

関数が処理を終えたあと、結果を返すための値です。

int result = doubleNumber(5); // resultは10になる

🧪 練習:自分で関数を書いてみよう!

🔹 練習問題

「2つの整数を足して返す関数」を作ってみよう!

// ここに関数を作ってね!

🔸 解答例

int add(int a, int b) {
    return a + b;
}

✅ まとめ

用語 意味
関数 処理をまとめたブロック
引数 関数に渡す入力データ
戻り値 処理結果として返すデータ
main関数 プログラムのスタート地点

🧪 C言語「関数」練習問題集

🔰 基礎編

問題1:2つの整数の和を返す関数を作ろう

関数名 : add
引数 : 整数 a , 整数 b
戻り値 : a + b の値を返す

int add(int a, int b);

問題2:引数で与えられた整数が偶数か奇数かを判定しよう

関数名 : isEven
引数 : 整数 x
戻り値 : 偶数なら 1 、奇数なら 0 を返す

int isEven(int x);

問題3:整数を2乗して返す関数を作ろう

関数名 : square
引数 : 整数 x
戻り値 : x * x の値を返す

int square(int x);

🧩 応用編

問題4:3つの整数のうち、最大値を返す関数

関数名 : maxOfThree
引数 : 整数 a , b , c
戻り値 : 3つの中で最大の値を返す

int maxOfThree(int a, int b, int c);

問題5:文字列の長さを返す関数(標準関数を使わずに)

関数名 : myStrLen
引数 : 文字列( char の配列)
戻り値 : 文字列の長さ(終端の '\0' までの文字数)

int myStrLen(char str[]);

問題6:引数で与えられた数が素数かどうか判定する関数

関数名 : isPrime
引数 : 整数 x
戻り値 : 素数なら 1 、そうでなければ 0 を返す

int isPrime(int x);

📝 おまけ

すべての関数を main() 関数から呼び出して動作確認してみよう!


演習問題

以下の演習問題を解いて、C言語の基本的な構文や機能を学びましょう。

問題1: 四則演算

標準入力
2つの整数と1つの演算子( + , - , * , / )を入力として受け取り、計算結果を標準出力に表示するプログラムを作成してください。

条件


入力:

10 5 +

出力:

15

問題2: 偶数・奇数判定

標準入力
1つの整数を入力として受け取り、その整数が偶数か奇数かを判定して標準出力に表示するプログラムを作成してください。

条件


入力:

7

出力:

Odd

問題3: 数列の合計

標準入力
1つの整数 N を入力として受け取り、1から N までの整数の合計を計算して標準出力に表示するプログラムを作成してください。

条件


入力:

5

出力:

15

問題4: フィボナッチ数列

標準入力
1つの整数 N を入力として受け取り、フィボナッチ数列の最初の N 項を標準出力に表示するプログラムを作成してください。

条件


入力:

6

出力:

0 1 1 2 3 5

問題5: 数当てゲーム

標準入力
1から100までのランダムな整数を生成し、ユーザーにその数を当てさせるプログラムを作成してください。ユーザーが入力した数が正解より大きい場合は「Too high」、小さい場合は「Too low」と表示し、正解の場合は「Correct」と表示して終了します。

条件


入力:

50

出力:

Too low

サンプルプログラム

以下は、各問題のサンプルプログラムです。

問題1: 四則演算

#include <stdio.h>

int main() {
    int a, b;
    char op;
    printf("Enter two integers and an operator (+, -, *, /): ");
    scanf("%d %d %c", &a, &b, &op);

    switch (op) {
        case '+':
            printf("%d\n", a + b);
            break;
        case '-':
            printf("%d\n", a - b);
            break;
        case '*':
            printf("%d\n", a * b);
            break;
        case '/':
            if (b != 0) {
                printf("%d\n", a / b);
            } else {
                printf("Division by zero is not allowed.\n");
            }
            break;
        default:
            printf("Invalid operator\n");
    }

    return 0;
}

問題2: 偶数・奇数判定

#include <stdio.h>

int main() {
    int num;
    printf("Enter an integer: ");
    scanf("%d", &num);

    if (num % 2 == 0) {
        printf("Even\n");
    } else {
        printf("Odd\n");
    }

    return 0;
}

問題3: 数列の合計

#include <stdio.h>

int main() {
    int n, sum = 0;
    printf("Enter a positive integer: ");
    scanf("%d", &n);

    for (int i = 1; i <= n; i++) {
        sum += i;
    }

    printf("%d\n", sum);
    return 0;
}

問題4: フィボナッチ数列

#include <stdio.h>

int main() {
    int n;
    printf("Enter the number of terms: ");
    scanf("%d", &n);

    int a = 0, b = 1, next;
    for (int i = 1; i <= n; i++) {
        printf("%d ", a);
        next = a + b;
        a = b;
        b = next;
    }

    printf("\n");
    return 0;
}

問題5: 数当てゲーム

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main() {
    int target, guess;
    srand(time(0));
    target = rand() % 100 + 1;

    printf("Guess a number between 1 and 100: ");
    while (1) {
        scanf("%d", &guess);
        if (guess > target) {
            printf("Too high\n");
        } else if (guess < target) {
            printf("Too low\n");
        } else {
            printf("Correct\n");
            break;
        }
    }

    return 0;
}

paspberry pi

IP : 10.250.4.28 固定してよい

URL

https://kiri931.github.io/C-programming/