๐คํ๋ก๊ทธ๋๋ฐ ์ธ์ด/C++ ์ ๋ฆฌ
C++ ์ ๋ฆฌ - 19 (ํจ์์ ๊ธฐ์ด, ํจ์ ์ ์, ํจ์ ์ํ์ ๊ตฌ๋ฌธ ๊ท์น, ํจ์ ๋งค๊ฐ๋ณ์์ ๊ฐ์ผ๋ก ์ ๋ฌํ๊ธฐ, ํฌ์ธํฐ์ ๋ฐฐ์ด์ ์ฒ๋ฆฌํ๋ ํจ์, ๋ฐฐ์ด์ ๋ด์ฉ ์ถ๋ ฅ๊ณผ const๋ก ๋ณดํธํ๊ธฐ)
ํจ์์ ๊ธฐ์ด(๋ณต์ต) c++์์ ํจ์๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ํ์ํ ์ง์ ํจ์ ์ ์ ์ ๊ณต ํจ์ ์ํ ์ ๊ณต ํจ์ ํธ์ถ ํจ์ ์ ์ voidํ ํจ์ : ๋ฆฌํด ๊ฐ์ด ์๋ ํจ์ void functionName(parameterList) { statements(s) return; //์๋ต ๊ฐ๋ฅ } parameterList๋ ์ด ํจ์์ ์ ๋ฌ๋๋ ๋งค๊ฐ๋ณ์(parameter ๋๋ argument)์ ๋ฐ์ดํฐํ๊ณผ ๊ฐ์๋ฅผ ์ง์ ๋ฆฌํด ๊ฐ์ด ์๋ ํจ์๋ ์์ ์ ํธ์ถํ ํจ์์๊ฒ ๋๋๋ ค ์ค ๋ฆฌํด ๊ฐ์ ๋ง๋ฆ ์ผ๋ฐ์ ์ธ ์ฌ์ฉ ํ์ typeName functionName(parameterList) { statements(s) return value; //value๋ typeName ํ์ผ๋ก ๋ณํ๋จ. } ์ ์, ๋ถ๋ ์์ ์ ์, ํฌ์ธํฐ, ๊ตฌ์กฐ์ฒด์ ๊ฐ์ฒด..
C++ ์ ๋ฆฌ - 18 (ํ ์คํธ ํ์ผ์ ์ฐ๊ธฐ,์ฝ๊ธฐ, ํ์ผ ์ ๋ ฅ)
ํ ์คํธ ํ์ผ์ ์ฐ๊ธฐ ํ์ผ ์ถ๋ ฅ fstream ํค๋ ํ์ผ์ ํฌํจ์์ผ์ผ ํ๋ค. fstream ํค๋ ํ์ผ์ ์ถ๋ ฅ์ ์ฒ๋ฆฌํ๋ ofstream ํด๋์ค๋ฅผ ์ ์ํ๋ค. ํ๋ ์ด์์ ofstream ๋ณ์ ๋๋ ๊ฐ์ฒด๋ฅผ ์ ์ธํ ํ์๊ฐ ์๋ค. ์ผ๋ฐ์ ์ธ ์ด๋ฆ ์ง๊ธฐ ๊ด๋ก๋ฅผ ์ค์ํ๋ ํ, ์ฌ์ฉ์๋ ์ํ๋ ์ด๋ฆ์ ์ง์ ๊ฐ๋ฅ std ์ด๋ฆ ๊ณต๊ฐ์ ์ง์ ํด์ผ ํจ, ์๋ฅผ ๋ค๋ฉด, ofstream๊ณผ ๊ฐ์ ์์๋ค์ ๋ํด using ์ง์์ ๋๋ std:: ์ ๋์ฌ๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ํน์ ofstream ๊ฐ์ฒด์ ํน์ ํ์ผ์ ์ฐ๊ฒฐ์ํฌ ํ์๊ฐ ์๋ค. ๊ทธ๋ ๊ฒ ํ๋ ํ ๊ฐ์ง ๋ฐฉ๋ฒ์, open() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ. ํ์ผ์ ๋ค๋ฃจ๋ ์์ ์ด ๋๋๋ฉด, close() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๊ทธ ํ์ผ์ ๋ซ์์ผ ํ๋ค. ofstream ๊ฐ์ฒด๋ฅผ filename; fout.o..
C++ ์ ๋ฆฌ - 17 (๋ ผ๋ฆฌํฉ OR ์ฐ์ฐ์ (||), ๋ ผ๋ฆฌ๊ณฑ AND ์ฐ์ฐ์, ๋ ผ๋ฆฌ๋ถ์ NOT ์ฐ์ฐ์ (!), ๋ ผ๋ฆฌ ์ฐ์ฐ์์ ๋์ฒด ํ๊ธฐ, ? : ์ฐ์ฐ์, switch ๊ตฌ๋ฌธ, break์ continue ๊ตฌ๋ฌธ)
๋ ผ๋ฆฌํฉ OR ์ฐ์ฐ์ (||) (expr1||expr2) ์ ๊ฐ expr1==true expr1==false expr2==ture true true expr2=false false false ๋ ๊ฐ์ ํํ์ ์ค์์ ์ ์ด๋ ์ด๋ ํ๋๊ฐ true ์ด๊ฑฐ๋ 0์ด ์๋๋ฉด ์ ์ฒด ํํ์์ด true๊ฐ ๋จ C++์์ || ์ฐ์ฐ์๋ ์ํ์ค ํฌ์ธํธ๋ก ์์ฉํจ ์ข๋ณ์ ์ง์๋ ๊ฐ์ ๋ณ๊ฒฝ์ ์ฐ๋ณ์ด ํ๊ฐ๋๊ธฐ ์ ์ผ์ด๋จ ex) i++
C++ ์ ๋ฆฌ - 16 (EOF, 2์ฐจ์ ๋ฐฐ์ด, if)
cin์ EOF๋ฅผ ํ์งํ์ ๋ ๋ ๊ฐ์ ๋นํธ(eofbit์ failbit)๋ฅผ 1๋ก ์ค์ ํจ eof()๋ผ๋ ๋ฉค๋ฒ ํจ์ ์ฌ์ฉ ์, eofbit๊ฐ ์ค์ ๋์๋์ง ์ ์ ์๋ค. cin.eof()์ ํธ์ถ์ EOF๊ฐ ํ์ง๋์์ผ๋ฉด bool๊ฐ true ๋ฆฌํด, ์๋๋ฉด false ๋ฆฌํด, eof๋ fail() ๋ฉ์๋๋ ๊ฐ์ฅ ์ต๊ทผ์ ์ฝ์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ํจ cin.clear() ๋ฉ์๋๋ EOF ๋ฅผ ์ง์ฐ๊ณ , ๋ค์ ์ ๋ ฅ์ด ์งํ๋ ์ ์๋๋ก ํ์ฉํจ ๋งค๊ฐ๋ณ์๊ฐ ์๋ cin.get() ๋ฉค๋ฒํจ์๋ ์ ๋ ฅ์ผ๋ก๋ถํฐ ๊ทธ๋ค์ ๋ฌธ์๋ฅผ ์ฝ์ด ๋ฆฌํดํจ ch=cin.get(); //c์ getchar()ํจ์์ ์ ์ฌํ๊ฒ ๋์ cout.put() ํจ์๋ฅผ ๋ฌธ์๋ฅผ ์ถ๋ ฅํ๋๋ฐ ์ฌ์ฉ ๊ฐ๋ฅ cout.put(ch); ๊ธฐํธ ์์ EOF๋ iostream ํค๋ ํ์ผ์ ์ ์๋์ด์์..
C++ ์ ๋ฆฌ - 15 (while, for์ while, ์๊ฐ์ง์ฐ๋ฃจํ, do while, Range ๊ธฐ๋ฐ์ for ๋ฃจํ (c++11))
while ๋ฃจํ for ๋ฃจํ์์ ์ด๊ธฐํ ๋ถ๋ถ๊ณผ ๊ฐฑ์ ๋ถ๋ถ์ ์์ ๊ณ , ๋กํ ๋ชธ์ฒด์ ์กฐ๊ฑด ๊ฒ์ฌ ๋ถ๋ถ๋ง ๋จ๊ฒจ ๋์ ๊ฒ while (test-expression) body ํ๋ก๊ทธ๋จ์ ๋จผ์ test-expression์ ํ๊ฐํจ ํํ์์ด true๋ก ํ๊ฐ๋๋ฉด ๋ฃจํ ๋ชธ์ฒด์ ์๋ ๊ตฌ๋ฌธ(๋ค) ์คํ ๋ฃจํ ๋ชธ์ฒด์ ์คํ์ด ๋๋๋ฉด ์กฐ๊ฑด ๊ฒ์ฌ ํํ์์ผ๋ก ๋์์ ํํ์ ์ฌํ๊ฐ ์ด์ ๊ฐ์ ๋ฃจํ ์ฃผ๊ธฐ๋ ๊ฒ์ฌ ํํ์์ด false๊ฐ ๋ ๋๊น์ง ๋ฐ๋ณต C ์คํ์ผ ๋ฌธ์์ด๊ณผ๋ ๋ฌ๋ฆฌ, string ํด๋์ค ๊ฐ์ฒด๋ ๋ฌธ์์ด์ ๋์ ์ธ์ํ๊ธฐ ์ํ์ฌ ๋ ๋ฌธ์๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค. for์ while ์ผ๋ฐ์ ์ผ๋ก for ๋ฃจํ๋ ์ด๊ธฐ๊ฐ, ์ข ๋ฃ ๊ฐ, ์นด์ดํฐ ๊ฐฑ์ ๋ฐฉ๋ฒ์ ํ ๊ณณ์ ๋ฃ์ ์ ์๊ธฐ ๋๋ฌธ์ ๋ฃจํ๋ฅผ ์นด์ดํฐ ํด์ผ ํ ๋ ์ฃผ๋ก ์ฌ์ฉ while ๋ฃจํ๋ ์ผ๋ง๋งํผ ๋ฃจ..
C++ ์ ๋ฆฌ - 14 (์กฐํฉ ๋์ ์ฐ์ฐ์, ๋ณตํฉ ๊ตฌ๋ฌธ ๋๋ ๋ธ๋ก, ์ฝค๋ง ์ฐ์ฐ์, ๊ด๊ณ ์ฐ์ฐ์, C์คํ์ผ&string ์คํ์ผ ๋ฌธ์ ๋น๊ต)
์กฐํฉ ๋์ ์ฐ์ฐ์ ์ฐ์ฐ์ ํจ๊ณผ (L์ ์ผ์ชฝ ํผ์ฐ์ฐ์, R์ ์ค๋ฅธ์ชฝ ํผ์ฐ์ฐ์) += L+R์ L์ ๋์ -= *= /= %= ๋ณตํฉ ๊ตฌ๋ฌธ ๋๋ ๋ธ๋ก ํ ์์ ์ค๊ดํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ณตํฉ ๊ตฌ๋ฌธ ๋๋ ๋ธ๋ก์ ๋ง๋ค๋ฉด ๋ฃจํ ๋ชธ์ฒด ์์ ์ํ๋ ๋งํผ์ ๊ตฌ๋ฌธ์ ๋ฃ์ ์ ์์ ๋ธ๋ก์ ์ค๊ดํธ์ ๊ทธ ์์ ํฌํจ๋ ๊ตฌ๋ฌธ๋ค๋ก ๊ตฌ์ฑ๋๋ฉฐ, ๊ตฌ๋ฌธ ๊ท์น ์ ํ๋์ ๊ตฌ๋ฌธ์ผ๋ก ๊ฐ์ฃผ๋๋ค. ๋ธ๋ก ์์์ ์ ์๋ ๋ณ์๋ ๊ทธ ๋ธ๋ก ์์์๋ง ์ฌ์ฉ ๊ฐ๋ฅ ๋ฐ๊นฅ ๋ธ๋ก์์ ์ ์๋ ๋ณ์๋ ์์ชฝ ๋ธ๋ก์์๋ ์ ํจํจ ๋ฐ๊นฅ ๋ธ๋ก์ ์๋ ๋ณ์์ ์ด๋ฆ์ด ๊ฐ์ ๋ณ์๋ฅผ ์์ชฝ ๋ธ๋ก์ ์๋ก ์ ์ธํ ๊ฒฝ์ฐ, ์์ชฝ ๋ธ๋ก์ ๋ณ์ > ๋ฐ๊นฅ ๋ธ๋ก์ ๋ณ์ ์ฝค๋ง ์ฐ์ฐ์ C++์ ๊ตฌ๋ฌธ ๊ท์น์ด ํ๋์ ํํ์์ ํ์ฉํ๋ ์๋ฆฌ์ ์ฝค๋ง ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋ ๊ฐ์ ํํ์์ ๋ฃ์ ์ ์๋ค. ex) ++j,--..
C++ ์ ๋ฆฌ - 13 (for ๋ฃจํ, ์ฆ๊ฐ ์ฐ์ฐ์, ๊ฐ์ ์ฐ์ฐ์, ๋ถ์ํจ๊ณผ์ ์ํ์ค ํฌ์ธํธ, ์ ๋์ด, ์ ๋ฏธ์ด ๋ฐฉ์)
for ๋ฃจํ for ๋ฃจํ๋ฅผ ๊ตฌ์ฑํ๋ ๊ฐ ๋ถ๋ถ์ ์์๋๋ก ๋ค์๊ณผ ๊ฐ์ ๋จ๊ณ๋ฅผ ์ฒ๋ฆฌํจ ์กฐ๊ฑด ๊ฒ์ฌ์ ์ฌ์ฉํ ์นด์ดํฐ ๊ฐ์ ์ด๊ธฐํ ๋ฃจํ๋ฅผ ์งํํ ๊ฒ ์ธ์ง ์กฐ๊ฑด์ ๊ฒ์ฌ ๋ฃจํ ๋ชธ์ฒด๋ฅผ ์ํ ์นด์ดํฐ ๊ฐ ๊ฐฑ์ ์ด๊ธฐํ, ์กฐ๊ฑด ๊ฒ์ฌ, ๊ฐฑ์ ์ ์ฒ๋ฆฌํ๋ for ๋ฃจํ์ ์ธ ์ ์ด ๋ถ๋ถ์ ๊ดํธ๋ก ๋ฌถ์ฌ ์๋ค. ์ด๋ค์ ๊ฐ๊ฐ ํ๋์ ํํ์์ด๋ฉฐ, ์ธ๋ฏธ์ฝ๋ก ์ ์ํด ๋ถ๋ฆฌ๋์ด ์๋ค. ์ ์ด ๋ถ๋ถ ๋ค์ ์ค๋ ๊ตฌ๋ฌธ์ ๋ฃจํ ๋ชธ์ฒด๋ผ ํจ for(initialization;test_expression;update_expression) body ์ด๊ธฐํ๋ ์ฒ์์ ๋จ ํ ๋ฒ๋ง ์ํ test_expression์ ๋ฃจํ ๋ชธ์ฒด body๋ฅผ ์คํํ ๊ฒ ์ธ์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ์ฐธ-๊ฑฐ์ง์ ๋น๊ตํ๋ ๊ด๊ณ์๋ฟ๋ง ์๋๋ผ, ์ด๋ ํ ํํ์๋ ์ฌ์ฉ ๊ฐ๋ฅ C++์ ์ด๋ฌํ ํํ์์ boolํ์ผ๋ก..
C++ ์ ๋ฆฌ - 12 (์๋ ๊ณต๊ฐ, ์ ์ ๊ณต๊ฐ, ๋์ ๊ณต๊ฐ, ๋ณ์ํ์ ์กฐํฉ, Vector, array ํ ํ๋ฆฟ ํด๋์ค)
์๋ ๊ณต๊ฐ, ์ ์ ๊ณต๊ฐ, ๋์ ๊ณต๊ฐC++์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํด ๋๊ธฐ ์ํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ, ๋์ ํ๋ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ์๋ ๊ณต๊ฐ, ์ ์ ๊ณต๊ฐ, ๋์ ๊ณต๊ฐ(heap ๋ผ๊ณ ๋ ๋ถ๋ฆ) ์ผ๋ก ๊ตฌ๋ถ๋จ ์๋ ๊ณต๊ฐ์๋ ๋ณ์์๋ ๊ณต๊ฐ์ ์ฌ์ฉํ๋ ํจ์ ์์์ ์ ์๋๋ ๋ณดํต์ ๋ณ์๋ค์์ ์ด ์ ์๋์ด ์๋ ํจ์๊ฐ ํธ์ถ๋๋ ์๊ฐ์ ์๋์ผ๋ก ์๊ฒจ๋ ๊ทธ ํจ์๊ฐ ์ข ๋ฃ๋๋ ์์ ๊น์ง๋ง ์กด์ฌํจ. ์ฆ, ์์ ๋ค์ ํฌํจํ๊ณ ์๋ ๋ธ๋ญ ์์์๋ง ์ ํจ์๋ ๋ณ์๋ ์คํ์ ์ ์ฅ๋จ. ์ด๊ฒ์ ์คํ์ ๊ทธ ๊ฐ์ด ์์ฐจ์ ์ผ๋ก ์ ์ฅ๋๊ณ , ์ญ์์ผ๋ก ํด์ ๋๋ ๊ฒ์ ์๋ฏธํจ ์ ์ ๊ณต๊ฐํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ๋์์ ์ง์์ ์ผ๋ก ์กด์ฌํ๋ ๊ณต๊ฐ๋ณ์๋ฅผ ์ ์ ์ผ๋ก ๋ง๋๋ ๋ฐฉ๋ฒ1. ํจ์์ ์ธ๋ถ์์ ๋ณ์ ์ ์2. ๋ณ์ ์ ์ธ ์ static ํค์๋ ๋ถ์ด๊ธฐ ๋์ ๊ณต๊ฐnew์ delete ์ฐ์ฐ์๋ ์ตํต์ฑ ์๋..
C++ ์ ๋ฆฌ - 11 (ํฌ์ธํฐ -3 ํฌ์ธํฐ์ ๋ฐฐ์ด ์ด๋ฆ๊ฐ์ ์ฐจ์ด, ํฌ์ธํฐ,๋ฐฐ์ด,ํฌ์ธํฐ ์ฐ์ฐ, ๋ฐฐ์ด์ ์ฃผ์, ํฌ์ธํฐ์ ๋ฌธ์์ด, ๋ฌธ์์ด์ ๋ณต์ฌ๋ณธ, new๋ฅผ ์ฌ์ฉํ ๋์ ๊ตฌ์กฐ์ฒด)
ํฌ์ธํฐ์ ๋ฐฐ์ด ์ด๋ฆ ๊ฐ์ ๊ธฐ๋ณธ์ ์ธ ์ฐจ์ด p3 = p3 + 1; //p3์ด ํฌ์ธํฐ๋ฉด ๋ง๊ณ , ๋ฐฐ์ด ์ด๋ฆ์ด๋ฉด ํ๋ฆผ ๋ฐฐ์ด ์ด๋ฆ์ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์์ง๋ง, ํฌ์ธํฐ๋ ๋ณ์์ด๊ธฐ ๋๋ฌธ์ ๊ฐ ๋ณ๊ฒฝ ๊ฐ๋ฅ p3์ 1์ ๋ํ๋ฉด ํฌ์ธํฐ๊ฐ ์ฒซ ๋ฒ์งธ ์์๊ฐ ์๋๋ผ ๋ ๋ฒ์งธ ์์๋ฅผ ์ง์ํ๊ฒ ๋จ. ํฌ์ธํฐ, ๋ฐฐ์ด, ํฌ์ธํฐ ์ฐ์ฐ ํฌ์ธํฐ ๋ณ์์ 1์ ๋ํ๋ฉด ๊ฐ์ด ๊ทธ ํฌ์ธํฐ๊ฐ ์ง์ํ๋ ๋ฐ์ดํฐ ํ์ ๋ฐ์ดํธ ์๋งํผ ์ฆ๊ฐํจ double wages[3]={10000.0,20000.0,30000.0} double * pw = wages; C++์ ๋ฐฐ์ด ์ด๋ฆ์ ๊ทธ ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์์์ ์ฃผ์๋ก ์๊ฐํจ pw๋ฅผ doubleํ์ ์ง์ํ๋ ํฌ์ธํฐ๋ก ์ง์ ํ ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์์(์ฃผ์) wages๋ก ์ด๊ธฐํ ์ฆ, wages=&wages[0]=๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์์..
C++ ์ ๋ฆฌ - 10 (ํฌ์ธํฐ -2 ํฌ์ธํฐ์ ์, new๋ฅผ ์ฌ์ฉํ ๋ฉ๋ชจ๋ฆฌ ๋์ , delete, ๋์ ๋ฐฐ์ด)
ํฌ์ธํฐ์ ์ํ long * fellow //longํ์ ์ง์ํ๋ ํฌ์ธํฐ ์์ฑ *fellow=223323; //์ด๋์ง์ ๋ชจ๋ฅด๋ ๊ณณ์ ๊ฐ ์ ์ฅ fellow๊ฐ ์ด๋๋ฅผ ์ง์ํ๋์ง ์ด๊ธฐํ๋ฅผ ์ํค์ง ์์ ํฌ์ธํฐ์ ์ ํฌ์ธํฐ๋ ๊ฐ๋ ์ ์ผ๋ก ์ ์ํ๊ณผ๋ ๋ค๋ฅธ ๋ฐ์ดํฐํ์ด๋ค. int * pt; pt=0xB8000000; //๋ฐ์ดํฐํ ๋ถ์ผ์น ์ค์ ๋ก๋ ์ธ๊ทธ๋จผํธ์ ์คํ์ ์ด ๊ฒฐํฉ๋ ๋น๋์ค ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์ int * pt; pt=(int *)0xB00000; //๋ฐ์ดํฐํ ์ผ์น new๋ฅผ ์ฌ์ฉํ ๋ฉ๋ชจ๋ฆฌ ๋์ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ๋์์ intํ ๊ฐ์ ์ด๋ฆ์ด ์๋ ๋ฉ๋ชจ๋ฆฌ์ ๋์ ํ๊ณ ํฌ์ธํฐ๋ฅผ ์ฌ์ฉํด ๊ทธ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ๋ ์๋ก์ด ๋ฐฉ๋ฒ ์ด๋ค ๋ฐ์ดํฐํ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ํ๋์ง new์ฐ์ฐ์์๊ฒ ์๋ ค์ค๋ค. new์ฐ์ฐ์๋ ์๋ง์ ํฌ๊ธฐ์ ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก์ ์ฐพ์๋ธ ํ..