C++ベース

12546 ワード

// c언어
#include <stdio.h>

int main() {
	int num;

	printf("첫번째 C프로그래밍입니다.\n");

	printf("정수를 입력하세요.");
	scanf("$d", &num);
	printf("입력된 정수는 %d입니다.\n", num);

	return 0;
}
// cpp
#include <iostream>
using namespace std;

int main() {
	int num;

	cout << "첫번째 C프로그래밍입니다.\n";

	cout << "정수를 입력하세요.";
	cin >> num;
	cout << "입력된 정수는" << num <<"입니다.\n";

	return 0;
}
#include
前方プロセッサ(C++プリプロセッサ)への指示
  • ヘッダファイル:全てのI/Oストリームクラスのベースクラス
  • ヘッダファイル:文字単位出力ストリーム
  • ヘッダファイル:文字入力ストリーム
  • ヘッダファイル:I/Oのストリームクラスを文字単位で同時に行うことができる
  • C++ストリームタイプ
    データ転送用ソフトウェアモジュール
  • 入力フロー:データ→プログラム転送
  • 出力ストリーム:データ→出力デバイス、ネットワーク、ファイルに転送されるストリーム
  • ◇ストリームごとにバッファがある(データ収集と一度送信)
    C++I/Oモード
  • stream I/O
  • 入力→プログラムこのバッファを読み込む
  • バッファ満or「n」or flust()→バッファ出力
  • raw leel console I/O
  • 即時入力プログラム
  • C++標準X
  • #include

  • #include
    -タイトルファイルの場所:コンパイラがインストールされているフォルダ♥デフォルトで提供されているタイトル

  • #include "header file"
    -タイトルファイルの場所:現在のディレクトリ♥自分で作成したタイトル
  • I/Oオブジェクト

  • cinオブジェクト

  • 標準C++入力ストリームオブジェクト

  • 変数によるデータ型

  • 演算子">>"の使用(ストリーム抽出演算子)

  • ただし、文字列を入力する場合は、スペースは使用できません.
    なぜなら、>>演算子はスペースを入力するまで入力と見なされるからです.
  • 📢cinからのキーストロークエラー(注意)

  • 入力データが入力データより大きい

  • 異なるデータ型のデータを入力
    <ソリューション>
  • cinオブジェクト内部状態初期化(入力エラーフラグ初期化)
  • 入力バッファ初期化
  • cin.fail()  // cin 오류 시 1을 반환 아니면 0 반환
    cin.clear() // cin 내부 상태 flag 초기화 -> cin 기능 정상 작동하도록 함
    cin.ignore(최대확인글자수, '문자')  // 최대확인글자수까지 입력 버퍼 삭제 if. '문자'를 만나면 그 문자까지 지우고 stop

  • coutオブジェクト
  • 標準C++出力ストリームオブジェクト
  • <使用演算子(ストリーム挿入演算子)
  • オープンモード
  • \n:<演算子がcoutストリームバッファに簡単に挿入
  • endオペレータ:\nバッファに入れて、直ちにデータコマンド関数を出力するので、速度slow
  • std::cout << "hello" << '\n';
    std::cout << "hello" << endl;
    ネームスペースキー
    識別子の競合を解決→異なるソースコードで同じ名前を使用する場合は解決しにくい.
    ◆開発者ごとのスペースを生成し、他の開発者とのスペース区分namespace :: identifier
    namesapce PODONG {  //PODONG이라는 namespace 공간 생성
    	...   // 이 곳에 선언된 모든 이름은 KIM namespace에 생성된 이름
    }
    stdとは?
    C++規格で定義されているnamespace
    =ヘッダファイルに宣言されたすべての識別子がstd空間に存在する
    ex. cout, cin, endl ...
    一般std::省略→using namespace std;
    /* Example 1*/
    using std::cout; // cout에 대해서만 std:: 생략 
    ................................... 
    cout << "Hello" << std::endl; // std::cout에서 std:: 생략
    
    /* Example 2*/
    using namespace std; // std 이름 공간에 선언된 모든 이름에 std:: 생략 
    ................................... 
    cout << "Hello" << endl; // std:: 생략
    バイナリ整数出力
    #include <iostream>
    using namespace std;
    
    int main() {
    	// 각각 10, 8, 16진법을 사용한다
    	int decimal = 41;        // 10진수
    	int octal = 041;         // 8진수
    	int hexadecimal = 0x41;  // 16진수
    
    	// 출력
    	cout << "41 = " << decimal;
    	cout << "041 = " << octal;
    	cout << "0x41 = " << hexadecimal;
    
    	return 0;
    }
    変数の定義位置
    変数を使用する前に定義するだけでOK
  • メリット
  • 変数宣言子と実行文を往復する手間を省く
  • 変数名入力ミスを減らす
  • デメリット
  • 宣言中の変数を統括するのは難しい
  • コード間の変数検索が困難
  • 変数宣言を1つの場所で定義したほうがいいです.