[계획]
C++의 배열, 포인터, 문자열, 구조체, 함수, C++ 함수에 대한 이론과 실습을 통해 학습을 진행한다.
[학습 내용]
문자열 생성 방법
- <string> 헤더에 포함되어 있는 string 자료형을 이용하여 문자열을 입력받을 수 있다.
- 공백이 없는 문자열은 cin 함수를 통해, 공백이 있는 문자열은 getline(cin, string 변수)를 통해 입력받을 수 있다.
문자열 제거 방법
ㄴ substr을 이용하여 살려두는 문자열을 인덱싱하거나 erase를 이용하여 제거할 부분만 고를 수 있음
ㄴ예시) substr(1, 4) => 2 번째 문자부터 3 번째 문자까지만 살리겠다는 뜻 / 두 번째 인자가 없다면 문자열의 끝까지 반환한다.
문자열 연결하기
- 여러 문자열 변수를 연결할 때는 string 변수1 + string 변수2로 연결이 가능하며, (string 변수1).append(string 변수2)로도 연결이 가능하다.
구조체
- C언어와 동일하게 구조체를 선언할 수 있다.
- 구조체 멤버 함수 바깥 선언
: 함수는 선언과 동시에 정의가 가능하지만 프로토타입만 선언하고 구현 부분은 따로 작성하는 경우가 더 많다. 구조체 내부에 있는 멤버 함수도 구현 부분은 구조체 바깥에 둘 수 있으며, 이 경우 구현된 함수가 구조체의 멤버 함수라는 것을 나타내 주어야 함.
정의하는 방법: ①멤버 함수의 반환형 ②구조체타입 ③:: ④멤버 함수의 함수명 ⑤(매개 변수)
함수 및 포인터
- 변환형 함수이름(매개변수)로 함수를 정의할 수 있다.
ㄴ 예시) int sum(int a) {}
- 매개변수를 받는 방법으로 Call By Value, Call By Pointer, Call By Reference가 존재하며, 각각 값만 넘기는 방법, 포인터로 주소를 넘기는 방법, 참조자를 통해 특정 변수를 접근하는 방법이다.
- Call By Reference
: 참조형 변수는 참조자라고도 하며, 참조자를 통해 특정 변수를 접근할 수 있다.
- 사용 방법
: 자료형 &참조자 = 참조 대상;
ex)
int &ra = a;
ra = 30;
- 주의 사항
1. 참조형 변수를 선언할 때는 반드시 참조하려는 변수를 가리켜야 한다.
2. 참조자는 상수를 참조할 수 없다.
3. 참조자는 주소 값을 참조할 수 없다.
4. 참조자는 NULL 그리고 nullptr로 초기화하는 것이 불가능하다.
5. 한 번 참조했던 참조자는 이후에 다른 변수로 참조할 수 없다.
[실습 내용]
1. 2차원 배열
n x n 크기의 격자에 정수를 채워 넣는다. 1부터 시작해서 차례대로 까지 채워넣는데, 오른쪽 아래에서부터 위 아래 지그재그 방향으로 채워넣는 프로그램을 작성해 보아라.
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int arr[n][n];
int j = n - 1;
int num = 1;
for (int i = n - 1; i >= 0 ; i--) {
if (j <= 0) {
for(j = 0 ; j < n ; j++) {
arr[j][i] = num++;
}
}
else if (j >= n - 1) {
for (j = n -1 ; j >= 0 ; j--) {
arr[j][i] = num++;
}
}
}
for(int i = 0 ; i < n ; i++) {
for (int j = 0 ; j < n ; j++) {
cout << arr[i][j] << " ";
}
cout << endl;
}
return 0;
}
2. 구조체
void형 함수 Print를 Point구조체 바깥에 구현하여 x와 y의 값을 출력하라.
#include <iostream>
using namespace std;
struct Point {
int x;
int y;
void Print();
};
int main()
{
Point point = { 1, 2 };
point.Print();
}
void Point :: Print() {
cout << "x 좌표는 " << x << endl;
cout << "y 좌표는 " << y <<endl;
}
3. 디폴트 매개 변수
int형 변수 a,b를 입력받아 a + b의 값을 int형으로 변환해 반환하는 함수sum을 작성하라.(b의 default값을 3으로 저장하라.)
#include <iostream>
using namespace std;
int sum (int a, int b = 3) {
return a + b;
int main(void)
{
int num = sum(2);
cout << num << endl;
}
'모각코' 카테고리의 다른 글
[2024 동계 모각코] 1주차 (0) | 2025.01.10 |
---|---|
[2024 하계 모각코] 4주차 (0) | 2024.07.24 |
[2024 하계 모각코] 3주차 (0) | 2024.07.15 |
[2024 하계 모각코] 1주차 (0) | 2024.07.01 |
2024년도 하계 모각코 참여 계획 (0) | 2024.06.29 |