C언어 리뷰 & C++ 기본

2021.07.06

*나는 코테 언어로 파이썬을 쓰지만 강사님께서 ICPC에서는 파이썬을 지원하지 않는다고 하셔서 강의 듣는 김에 정리해보았다 ^^;;

자료형

- 정수 자료형

char -> 1byte
int -> 4byte

- 실수 자료형

float -> 4byte, 유효자릿수 7자리
double -> 8byte, 유효자릿수 16자리

반복문

- for문

for(int i = 1;i <= 10;i++){
    printf("%d", i);
}

결과: 1~10까지 출력

- whlie문

int i = 1;
while(i <= 10){
    printf("%d", i);
    i++;
}

결과: 1~10까지 출력

포인터

  • 참조연산자(&): 주소를 구할 때 사용
  • 역참조 연산자(*): 주소를 통해 값을 구할 때 사용

int a = 3;
print("%p", &a); //a의 주소 출력
int* ptr = &a; //ptr이란 변수가 a의 주소를 담고 있음
*ptr = 20;
printf("%d", a); //20이 출력됨

배열

  • 형식: 자료형 배열이름[크기]
int a[5];
int a[5] = {1,2,4,7,10};
int a[] = {1,2,4,7,10};
  • 연속된 메모리 공간

  • 0-base

  • index로 접근 가능


문자열

char str[] = "hello";
char str[10] = "hello";

" C++로 알고리즘을 풀 때, 대부분은 STL로 푼다. "


C++ 입출력

  • cin/cout
  • std::cin >> [변수]
  • std::cout << [출력할 값]
#include <iostream>

int main(void){
  int a;
  float b;
  char c;
  std::cin >> a >> b >> c;
}

*위와 같이 자료형이 다른 변수들을 한번에 받을 수 있다.

#include <iostream>

int main(void){
  int a = 6;
  std::cout << "a is " << a << '\n';
}

C++ 입출력 속도

'\n' vs endl --> '\n'이 빠름!


using namespace std;

#include <iostream>
using namespace std;

int main(void){
  int a = 6;
  cout << "a is " << a << '\n';
}

STL이란?

  • Standard Template Library (표준 템플릿 라이브러리)

  • 프로그램에 필요한 자료구조와 알고리즘을 템플릿으로 제공

  • 컨테이너, 반복자, 알고리즘


컨테이너

  • 임의 타입의 객체(원소)들을 보관하는 저장소

  • 순차 컨테이너 : vector, list, string, deque 등

  • 연관 컨테이너 : set, map, multiset, multimap 등

  • 컨테이너 어댑터 : stack, queue, priority-queue 등


알고리즘

  • 컨테이너의 원소들을 조작할 수 있는 함수들의 모임

  • 검색, 정렬, 수정, 개수 세기 등

  • 반복자 또는 포인터로 작업할 원소를 가리킴


vector

  • Sequence Container의 한 종류

  • #include < vector>

  • vector<[data type]> [name]

  • 자동으로 메모리가 할당되는 배열 (동적 배열)

좋은 웹페이지 즐겨찾기