【競プロ精進ログ】APG4b編<1-8>

zuka

ついに競技プログラミングを始めました!

本記事は,管理人の競技プロ精進日記としてログを取ったものです。モチベーションを爆上げするために,積極的にアウトプットしていく作戦です。これから競技プログラミングを始めようと考えている人や,なんとなく敷居が高いと感じている人の参考になれば嬉しく思います。その他の記事は以下をご覧ください。

目次

本記事の概要

Atcoderが公表しているc++の入門記事の内容を1からさらっていくものです。今回は1.08.変数のスコープです。

実装

#include <bits/stdc++.h>
using namespace std;

int main() {
  int p;
  cin >> p;

  // パターン1
  if (p == 1) {
    int price;
    int N;
    cin >> price >> N;
    cout << price * N << endl;
  }

  // パターン2
  if (p == 2) {
    string text;
    int price;
    int N;
    cin >> text >> price;
    cin >> N;
    cout << text << "!" << endl << price * N << endl;
  }
}

ポイント

今回おさえるべき内容

 同じコード内で同じ名前の変数を使いまわせる

 変数が扱える範囲は{}の始まりから終わりまで

 範囲が重なる場合は最も内側で使用された変数が選ばれる

変数に使える文字は事実上無限にありますが,分かりやすいコードを書くためには変数の名前にも意味を持たせたいです。例えば,cntという変数は何かをカウントする際によく利用されます。そこで,c++では変数が使われる{}が異なっていれば同じコード内で同じ変数を使えるようになっています。

{}で囲まれた部分のことを「ブロック」,変数が使える範囲のことを「スコープ」と呼びます。変数のスコープが重なっている場合は,最も内側のブロックで宣言された変数が選ばれます。

よかったらシェアしてね!

コメント

コメントする

目次
閉じる