02 C++ 프로그래밍의 기본
1. C++ 프로그램의 기본 요소와 화면 출력
1) 주석문
- /* */ 와 //로 가능하다.
/* 여러줄
주석문 */
// 한 줄 주석
2) main() 함수
- main() 함수는 프로그램의 실행 시작점
- 무조건 존재해야며 int형으로 반환된다. (void는 표준이 아님)
ⓐ 형식
int main(){
.....
return 0;
}
* return 0은 생략이 가능하다.
3) #include <iostream>
- 전처리기에 대한 지시문으로, 소스파일을 컴파일하기 전에 헤더 파일을 읽어 소스파일 안에 삽입할 것을 지시한다.
- 컴파일러는 전처리기를 호출하여 소스파일을 컴파일 한다.
4) 화면 출력
ⓐ 형식 : cout과 << 연산자를 사용하여 출력함
std::cout << "Hello World";
* cout : C++ 표준 출력 스트림 객체, std는 cout의 이름공간(namespace)가 std임을 표시
ⓑ 여러 데이터 출력 : <<연산자를 여러개 사용하여 출력이 가능하다.
std::cout << "Hello World" << "안녕하세요??" ;
5) 화면에서 다음 줄로 넘어가기
- \n이나 endl을 사용하여 다음 줄로 넘어갈 수있다.
std::cout << "hi" << "\n";
std::cout << "hi" << std::endl;
2. namespace와 std::
1) namespace
- 여러 프로젝트나 여러 사람들이 작성한 프로그램에서 변수, 함수, 클래스 등의 이름이 충돌하는 것을 막기위해 개발자가 자신만의 고유한 이름 공간을 생성할 수 있도록 namespace 키워드를 사용함
- 생성/사용 방법
//생성 방법
namespace BeNI { //BeNI라는 이름공간 생성
.................
}
//사용 방법
이름공간(namespace) :: 이름(identifier)
2) std:: 란?
- std는 c++표준에서 정한 표준 이름 공간으로서, c++ 표준 라이브러리는 std이름공간에 만들어짐
- 따라서 c++ 표준 라이브러리에서 선언된 이름을 사용할때 std::를 접두어로 붙여야함
3) std::의 생략
- using 지시어를 사용하여 std::를 생략할 수있다.
using std::cout; //cout에 대해서만 std:: 생략
.............................
cout << "Hello" << std::endl;
- std 이름 공간에 선언된 모든 이름에 대해 생략
using namespace std;
.....................
cout << "hello" << endl;
4) #include <iostream>과 std
- c++표준에서 지원되는 모든 라이브러리는 std 이름 공간안에 구현 되어있음
- 따라서 std::를 생략하기 위해선 아래와 같이 작성
#include <iostream>
using namespace std;
3. 키 입력받기
ⓐ cin
- cin은 c++ 표준 입력 스트림 객체이며, <iostream>에 선언되어 있다.
- 모든 기본 타입에 대해 데이터 입력이 가능하다.
int x;
cin >> x; //정수 x를 입력받는다.
4. 키보드로 문자열 입력
1) C-스트링
- c-스트링은 '\0'(널문자)로 끝나는 char배열을 말하며, c언어에서 사용하는 문자열 방식이다.
- <cstring>이나 <string.h> 헤더파일 필요
ⓐ 선언 방법
char name[6] = {'g', 'r', 'a', 'c', 'e', '\0'} //널문자가 없으면 문자열이아님.
char name1[6] = "grace";
char name2[] = "grace"; //자동으로 배열의 크기는 6이됨
char name3[10] = "grace"; //문자열 뒤에 남은 4개의 배열원소는 '\0'로 초기화됨
ⓑ cin을 이용한 문자열 입력
char name[6];
cin >> name; //name에 입력받은 문자가 6개이상이면 실행오류남
* 주의사항 : 중간에 공백 있으면 공백 전까지만 입력이 됨
* strcmp : 문자열 비교 (같으면 0, 아니면 1반환)
ⓒ cin.getline()을 이용한 공백 포함 문자열 입력
- 함수 원형 : cin.getline( 저장할 배열, 저장할 배열의 크기, 문자열입력끝 지정하는 구분문자)
- 3번째 매개변수는 생략 가능(기본값 '\n')
char address[100];
cin.getline(address, 100, '\n'); //엔터전까지 입력받음
2) string 클래스
- c++ 표준 라이브러리에서 제공하는 클래스이다.
- 선언 방식
string s("Hello World!");
string s = "Hello World!";
- 문자열 복사, 비교, 수정이 쉽고 간단함. (string 멤버함수 확인 >> string - C++ Reference (cplusplus.com))
- [] 연산자를 이용하여 인덱스에 접근 가능하다. ex) s[0] = 'H'
getline(cin, s); //이렇게 입력받을 수도있다.
+ 헤더파일에는 함수의 선언(원형)만이 들어있고, 함수의 호출이 명확한지 판단하는데 사용된다.
'Major > C&C++' 카테고리의 다른 글
[C++] 명품 C++ Programming 3장 개념정리 (1) (0) | 2021.07.24 |
---|---|
[C++] 명품 C++ Programming 2장 연습문제 (0) | 2021.07.12 |
[C++] 명품 C++ Programming 1장 연습문제(이론) (0) | 2021.05.03 |
[C언어] 스택과 큐 구현해보기 (0) | 2021.04.17 |
[C언어] 동적 메모리 할당 (0) | 2021.04.08 |