C言語における変数の定義と入出力の基本

変数の定義と命名規則

C言語では、変数を使用する前に必ず宣言が必要です。変数名には以下のルールが適用されます。

  • 英字またはアンダースコア(_)で始まること(例:int ball_radius = 20;
  • 数字で始めることはできない(例:int 2ball_radius; は無効)
  • 大文字と小文字は区別される(例:heightHeight は異なる変数)
  • 予約語(int, while, return など)は使用不可

基本データ型とフォーマット指定子

主なデータ型とその入出力時のフォーマット指定子は以下の通りです。

整数型

int a;
scanf("%d", &a);
printf("%d", a);

浮動小数点型

  • float:単精度(フォーマット:%f
  • double:倍精度(入力時は%lf、出力時は%fまたは%lf
float f;
double d;
scanf("%f %lf", &f, &d);
printf("%f %f", f, d);

文字型と文字列

  • 文字(char):シングルクォートで囲み、%cで入出力
  • 文字列(char[]):ダブルクォートで囲み、%sで出力
printf("%c", 'A');
printf("%s", "Hello");

大きな整数

long long int 型は非常に大きな整数を扱う際に使用し、フォーマットは %lld です。

long long x;
scanf("%lld", &x);
printf("%lld", x);

算術演算と型変換

整数同士の除算は商のみを返し、剰余は % 演算子で取得します。浮動小数点数との演算では自動的に型変換が行われます。

int a = 7, b = 3;
printf("%d\n", a / b);  // 出力: 2
printf("%d\n", a % b);  // 出力: 1

float c = 7.0f;
printf("%f\n", c / b);  // 出力: 2.333...

自動型変換

代入時に右辺の値は左辺の型に自動的に変換されます。

float val = 3.9f;
int num = val;  // num は 3 になる

明示的キャスト

int a = 10;
long b = (long)a;

float ratio = (float)a / 3;  // 整数除算を回避

論理演算子

  • &&:両方が真なら真
  • ||:いずれかが真なら真
  • !:真偽を反転

標準入出力

ユーザーからの入力には scanf(またはセキュア版の scanf_s)を使用し、出力には printf を使います。

#include <stdio.h>
int main() {
    int n;
    scanf("%d", &n);
    printf("入力された値: %d\n", n);
    return 0;
}

Windows環境では conio.h_getch() を使ってバッファされないキー入力を取得できますが、これは非標準関数であり移植性に注意が必要です。

変数の基本概念

  • 変数はプログラム実行中に値を変更可能な記憶領域
  • 使用前に宣言が必要
  • 初期化は宣言時または後から可能
int x;      // 宣言
x = 5;      // 代入

int y = 10; // 宣言と初期化を同時に行う

Cプログラムの構造

  • プログラムは関数で構成され、main 関数がエントリポイント
  • main 関数は return 文を含む
  • 実行ブロックは中括弧 {} で囲まれる
  • 各文はセミコロンで終了

タグ: C言語 変数 scanf printf データ型

6月10日 20:11 投稿