GitHubは、プログラムやコードを保存したり、他の人と共有したりするためのサービスです。以下に、GitHubの基本的な役割と使い方を簡単に説明します。
コードの保存
GitHubは、あなたが書いたコードをインターネット上に安全に保存する場所です。これにより、どこからでもアクセスできます。
共同作業
他の人と一緒にコードを書くことができます。例えば、友達やチームメンバーと一緒にプロジェクトを進めるときに便利です。
バージョン管理
コードの変更履歴を記録できます。間違った変更をしても、以前の状態に戻すことができます。
アカウントを作成する
GitHub公式サイト
にアクセスして、無料のアカウントを作成します。
リポジトリを作成する
リポジトリとは、プロジェクトを保存するフォルダのようなものです。新しいリポジトリを作成して、そこにコードを保存します。
コードをアップロードする
自分のコンピュータで書いたコードをリポジトリにアップロードします。
他の人と共有する
リポジトリのリンクを共有することで、他の人にコードを見てもらったり、手伝ってもらったりできます。
Gitを使う
GitHubは「Git」というツールと一緒に使うことが多いです。Gitを使うと、コマンドを使って簡単にコードをアップロードしたり、変更を管理したりできます。
Gitは、ソースコードのバージョン管理を行うための分散型バージョン管理システムです。以下に、Gitの基本的な特徴を説明します。
バージョン管理
ファイルの変更履歴を記録し、過去のバージョンに戻すことができます。
分散型
各ユーザーが完全なリポジトリのコピーを持つため、ネットワークに接続していなくても作業が可能です。
ブランチ機能
新しい機能を開発する際に、既存のコードに影響を与えずに作業を進めることができます。
マージ機能
ブランチで行った変更を統合することができます。
Gitは、効率的な開発をサポートするための強力なツールです。GitHubと組み合わせることで、さらに便利に利用できます。
GitHubのウェブサイトにアクセス
GitHub公式サイト
にアクセスします。
サインアップページを開く
画面右上の「Sign up」ボタンをクリックします。
必要な情報を入力
アカウントを作成
「Create account」ボタンをクリックし、指示に従ってCAPTCHAを完了します。
プランを選択
無料プランを選択するか、有料プランを選択します。
メールアドレスを確認
登録したメールアドレスに送られてくる確認メールを開き、リンクをクリックしてアカウントを有効化します。
GitHubにログイン
作成したアカウントでGitHubにログインします。
新しいリポジトリを作成
c-programming
)。
READMEファイルを追加
リポジトリを作成
リポジトリの確認
作成したリポジトリのページが表示され、READMEファイルが含まれていることを確認できます。
Codespacesは、GitHubが提供するクラウドベースの開発環境です。以下に、Codespacesの基本的な使い方を説明します。
リポジトリにアクセス
GitHubで作成したリポジトリのページを開きます。
Codespacesを起動
環境の準備
Codespacesが起動し、開発環境が自動的にセットアップされます。
コードの編集
ブラウザ上でコードを編集できます。VS Codeと同様のインターフェースを利用できます。
ターミナルの使用
内蔵ターミナルを使用して、Gitコマンドやビルドコマンドを実行できます。
拡張機能の利用
必要に応じて、VS Codeの拡張機能をインストールして開発を効率化できます。
変更をコミット
編集したコードをリポジトリにコミットします。
プッシュ
変更をリモートリポジトリにプッシュして保存します。
Codespacesを停止
作業が終わったら、Codespacesを停止してリソースを解放します。
再開
必要に応じて、停止したCodespacesを再開して作業を続けることができます。
Codespacesを利用することで、どこからでも簡単に開発を始めることができます。
C/C++の開発を効率化するために、以下の手順でC/C++ Extension Packをインストールします。
拡張機能ビューを開く
VS Codeの左側にある「拡張機能」アイコン(四角形が重なったアイコン)をクリックします。
検索バーに入力
検索バーに「C/C++ Extension Pack」と入力します。
拡張機能を選択
検索結果から「C/C++ Extension Pack」を選択します。
インストール
「Install」ボタンをクリックして拡張機能をインストールします。
インストール完了
インストールが完了すると、C/C++のコード補完やデバッグ機能が利用可能になります。
C/C++ Extension Packをインストールすることで、開発環境がさらに便利になります。
C言語のプログラムを実行するには、以下の手順を行います。
ソースコードの作成
テキストエディタを使用して、C言語のソースコードを作成します。ファイル名は拡張子
.c
を使用します(例:
hello.c
)。
コンパイル
作成したソースコードをコンパイラでコンパイルします。一般的には
gcc
を使用します。以下のコマンドを実行します。
gcc -o 実行ファイル名 ソースファイル名
例:
gcc -o hello hello.c
実行
コンパイルが成功すると、実行可能ファイルが生成されます。以下のコマンドで実行します。
./実行ファイル名
例:
./hello
C言語のファイル名をつける際のポイントは以下の通りです。
拡張子を
.c
にする
C言語のソースコードファイルは必ず拡張子
.c
を使用します。
意味のある名前をつける
ファイル名はプログラムの内容を簡潔に表すものにします(例:
calculator.c
,
sort.c
)。
スペースを使用しない
ファイル名にスペースを含めないようにします。代わりにアンダースコア(
_
)を使用します(例:
my_program.c
)。
英数字とアンダースコアのみを使用
特殊文字や日本語は避け、英数字とアンダースコアを使用します。
C言語のプログラムでコマンドラインにメッセージを表示するには、
printf
関数を使用します。以下は例です。
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
このプログラムを実行すると、以下のように表示されます。
Hello, World!
ソースコードを保存
例:
hello.c
という名前で保存します。
コンパイル
以下のコマンドを実行します。
gcc -o hello hello.c
実行
以下のコマンドを実行します。
./hello
結果の確認
プログラムの出力がコマンドラインに表示されます。
YYYYMMDD_問題番号.c
の形式で保存してください(例:
20231005_1.c
)。
20231005_1
)。
これらのプログラムを保存し、以下の手順でコンパイルと実行を行ってください。
ソースコードを保存します(例:
20250418_1.c
)。
以下のコマンドでコンパイルします。
gcc -o 20250418_1 20250418_1.c
以下のコマンドで実行します。
./20250418_1
#include <stdio.h>
int main() {
// ここにコードを書こう
return 0;
}
問題 : Hello, World!と画面に表示させてください。
#include <stdio.h>
int main() {
int number;
// ここで変数に10を代入して表示しよう
return 0;
}
問題
: 変数
number
に10を代入し、
number = 10
と表示してください。
#include <stdio.h>
int main() {
int a, b;
// 入力を受け取り、合計を出力しよう
return 0;
}
問題 : ユーザーから整数を2つ入力し、合計を出力してください。
#include <stdio.h>
int main() {
int num;
// 奇数か偶数かを判定しよう
return 0;
}
問題 : ユーザーが入力した整数が偶数か奇数かを判定して表示してください。
#include <stdio.h>
int main() {
int score;
// scoreが80以上なら「合格」と表示しよう
return 0;
}
問題 : 点数(整数)を入力し、80点以上なら「合格」、それ以外は「不合格」と表示してください。
#include <stdio.h>
int main() {
// for文で1から10までを出力しよう
return 0;
}
問題 : 1から10までの整数を1つずつ表示してください。
#include <stdio.h>
int main() {
int i = 5;
// while文で5から1までカウントダウンしよう
return 0;
}
問題
: 変数
i
を使って「5 4 3 2 1」と表示してください。
#include <stdio.h>
int main() {
// 1の段:1×1〜1×9まで表示
return 0;
}
問題 : 1 x 1 = 1 から 1 x 9 = 9 までをfor文で出力してください。
#include <stdio.h>
int main() {
int scores[5] = {90, 80, 70, 60, 50};
// for文を使ってscoresの中身を出力しよう
return 0;
}
問題
: 配列
scores
の全ての要素を1行ずつ出力してください。
#include <stdio.h>
// ここに関数を定義しよう
int main() {
// 関数を呼び出そう
return 0;
}
問題
: 整数2つを引数に取り、足し算の結果を返す関数
add
を作成し、
3 + 5 = 8
を表示してください。
関数とは、「特定の処理をまとめた部品」のようなものです。
プログラムの中で何度も使いたい処理を関数として定義することで、以下のメリットがあります:
繰り返し使える
プログラムが読みやすくなる
戻り値の型 関数名(引数の型 引数名, ...) {
// 実行したい処理
return 戻り値;
}
int doubleNumber(int x) {
return x * 2;
}
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関数 | プログラムのスタート地点 |
関数名
:
add
引数
: 整数
a
, 整数
b
戻り値
:
a + b
の値を返す
int add(int a, int b);
関数名
:
isEven
引数
: 整数
x
戻り値
: 偶数なら
1
、奇数なら
0
を返す
int isEven(int x);
関数名
:
square
引数
: 整数
x
戻り値
:
x * x
の値を返す
int square(int x);
関数名
:
maxOfThree
引数
: 整数
a
,
b
,
c
戻り値
: 3つの中で最大の値を返す
int maxOfThree(int a, int b, int c);
関数名
:
myStrLen
引数
: 文字列(
char
の配列)
戻り値
: 文字列の長さ(終端の
'\0'
までの文字数)
int myStrLen(char str[]);
関数名
:
isPrime
引数
: 整数
x
戻り値
: 素数なら
1
、そうでなければ
0
を返す
int isPrime(int x);
すべての関数を
main()
関数から呼び出して動作確認してみよう!
以下の演習問題を解いて、C言語の基本的な構文や機能を学びましょう。
標準入力
2つの整数と1つの演算子(
+
,
-
,
*
,
/
)を入力として受け取り、計算結果を標準出力に表示するプログラムを作成してください。
条件
例
入力:
10 5 +
出力:
15
標準入力
1つの整数を入力として受け取り、その整数が偶数か奇数かを判定して標準出力に表示するプログラムを作成してください。
条件
例
入力:
7
出力:
Odd
標準入力
1つの整数
N
を入力として受け取り、1から
N
までの整数の合計を計算して標準出力に表示するプログラムを作成してください。
条件
N
は正の整数とします。
例
入力:
5
出力:
15
標準入力
1つの整数
N
を入力として受け取り、フィボナッチ数列の最初の
N
項を標準出力に表示するプログラムを作成してください。
条件
F(1) = 0, F(2) = 1
F(n) = F(n-1) + F(n-2) (n > 2)
例
入力:
6
出力:
0 1 1 2 3 5
標準入力
1から100までのランダムな整数を生成し、ユーザーにその数を当てさせるプログラムを作成してください。ユーザーが入力した数が正解より大きい場合は「Too high」、小さい場合は「Too low」と表示し、正解の場合は「Correct」と表示して終了します。
条件
例
入力:
50
出力:
Too low
以下は、各問題のサンプルプログラムです。
#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;
}
#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;
}
#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;
}
#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;
}
#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;
}
IP : 10.250.4.28 固定してよい