hugDog
Android DevLog
hugDog
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๐Ÿ™Œ Hello? (162)
    • ๐Ÿงฉ์•ˆ๋“œ๋กœ์ด๋“œ (12)
      • ๊ฐœ๋… ์ •๋ฆฌ (5)
      • ๋ฒ„๊ทธ ํ•ด๊ฒฐ (4)
      • ๊ธฐํƒ€ (3)
    • ๐Ÿ”์•Œ๊ณ ๋ฆฌ์ฆ˜ (54)
      • ๊ฐœ๋… (0)
      • ๋ฐฑ์ค€ (48)
      • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (6)
    • ๐Ÿ“„๊ฐœ๋ฐœ ์ผ์ง€ (0)
      • FINPO (0)
    • ๐Ÿ”คํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด (71)
      • C++ ์ •๋ฆฌ (49)
      • C++๊ธฐ์ดˆํ”Œ๋Ÿฌ์Šค ์—ฐ์Šต๋ฌธ์ œ (20)
      • Kotlin (2)
    • โญProject (1)
    • ๐ŸšดTIL (13)
      • Clean Code (13)
    • ๐Ÿšฉ๊ธฐํƒ€ (9)
      • ๋ชฉํ‘œ (6)
      • ์ผ์ƒ (3)
      • ๋ฌธ์„œ (0)

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
hugDog
๐Ÿ”คํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด/C++ ์ •๋ฆฌ

C++ ์ •๋ฆฌ - 15 (while, for์™€ while, ์‹œ๊ฐ„์ง€์—ฐ๋ฃจํ”„, do while, Range ๊ธฐ๋ฐ˜์˜ for ๋ฃจํ”„ (c++11))

๐Ÿ”คํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด/C++ ์ •๋ฆฌ

C++ ์ •๋ฆฌ - 15 (while, for์™€ while, ์‹œ๊ฐ„์ง€์—ฐ๋ฃจํ”„, do while, Range ๊ธฐ๋ฐ˜์˜ for ๋ฃจํ”„ (c++11))

2020. 1. 13. 23:19
728x90

while ๋ฃจํ”„

for ๋ฃจํ”„์—์„œ ์ดˆ๊ธฐํ™” ๋ถ€๋ถ„๊ณผ ๊ฐฑ์‹  ๋ถ€๋ถ„์„ ์—†์• ๊ณ , ๋กœํ”„ ๋ชธ์ฒด์™€ ์กฐ๊ฑด ๊ฒ€์‚ฌ ๋ถ€๋ถ„๋งŒ ๋‚จ๊ฒจ ๋†“์€ ๊ฒƒ

while (test-expression)

body

ํ”„๋กœ๊ทธ๋žจ์€ ๋จผ์ € test-expression์„ ํ‰๊ฐ€ํ•จ ํ‘œํ˜„์‹์ด true๋กœ ํ‰๊ฐ€๋˜๋ฉด ๋ฃจํ”„ ๋ชธ์ฒด์— ์žˆ๋Š” ๊ตฌ๋ฌธ(๋“ค) ์‹คํ–‰

๋ฃจํ”„ ๋ชธ์ฒด์˜ ์‹คํ–‰์ด ๋๋‚˜๋ฉด ์กฐ๊ฑด ๊ฒ€์‚ฌ ํ‘œํ˜„์‹์œผ๋กœ ๋Œ์•„์™€ ํ‘œํ˜„์‹ ์žฌํ‰๊ฐ€

์ด์™€ ๊ฐ™์€ ๋ฃจํ”„ ์ฃผ๊ธฐ๋Š” ๊ฒ€์‚ฌ ํ‘œํ˜„์‹์ด false๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต

 

C ์Šคํƒ€์ผ ๋ฌธ์ž์—ด๊ณผ๋Š” ๋‹ฌ๋ฆฌ, string ํด๋ž˜์Šค ๊ฐ์ฒด๋Š” ๋ฌธ์ž์—ด์˜ ๋์„ ์ธ์‹ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ๋„ ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

for์™€ while

์ผ๋ฐ˜์ ์œผ๋กœ for ๋ฃจํ”„๋Š” ์ดˆ๊ธฐ๊ฐ’, ์ข…๋ฃŒ ๊ฐ’, ์นด์šดํ„ฐ ๊ฐฑ์‹  ๋ฐฉ๋ฒ•์„ ํ•œ ๊ณณ์— ๋„ฃ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฃจํ”„๋ฅผ ์นด์šดํ„ฐ ํ•ด์•ผ ํ•  ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉ

while ๋ฃจํ”„๋Š” ์–ผ๋งˆ๋งŒํผ ๋ฃจํ”„๋ฅผ ๋ฐ˜๋ณตํ•ด์•ผ ํ• ์ง€ ๋ฏธ๋ฆฌ ์•Œ ์ˆ˜ ์—†์„ ๋•Œ ์‚ฌ์šฉ

 

์‹œ๊ฐ„ ์ง€์—ฐ ๋ฃจํ”„

ANSI C์™€ C++ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ด ์šฉ๋„๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” clock()ํ•จ์ˆ˜๋ฅผ ์ œ๊ณต. ์ด ํ•จ์ˆ˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋œ ์ˆœ๊ฐ„๋ถ€ํ„ฐ ์ด ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋œ ์ˆœ๊ฐ„๊นŒ์ง€ ๊ฒฝ๊ณผํ•œ ์‹œ์Šคํ…œ ์‹œ๊ฐ„์„ ๋ฆฌํ„ดํ•จ

clock() ํ•จ์ˆ˜๊ฐ€ ๋ฆฌํ„ดํ•˜๋Š” ๊ฐ’์€ ์ดˆ ๋‹จ์œ„ ์‹œ๊ฐ„์ด ์•„๋‹˜ ์ด ํ•จ์ˆ˜๊ฐ€ ๋ฆฌํ„ดํ•˜๋Š” ๋ฐ์ดํ„ฐํ˜•์€ ์–ด๋–ค ์‹œ์Šคํ…œ์—์„œ๋Š” longํ˜•, ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์—์„œ๋Š” unsigned long ํ˜•... ๋“ฑ ์ผ ์ˆ˜๋„ ์žˆ๋‹ค.

 

ctime c๊ตฌํ˜• ์‹œ์Šคํ…œ์—์„œ time.h์ด ํ—ค๋” ํŒŒ์ผ์€ ์ดˆ๋‹น ์‹œ์Šคํ…œ ์‹œ๊ฐ„ ๋‹จ์œ„ ์ˆ˜๋ฅผ ์•Œ๋ ค์ฃผ๋Š” CLOCKS_PER_SEC ๋ผ๋Š” ๊ธฐํ˜ธ ์ƒ์ˆ˜๋ฅผ ์ •์˜ํ•จ

clock() ํ•จ์ˆ˜๊ฐ€ ๋ฆฌํ„ดํ•˜๋Š” ์‹œ์Šคํ…œ ์‹œ๊ฐ„์„ ์ด ์ƒ์ˆ˜๋กœ ๋‚˜๋ˆ„๋ฉด ์ดˆ ๋‹จ์œ„์˜ ์‹œ๊ฐ„์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ๋˜๋Š” ์ดˆ ๋‹จ์œ„์˜ ์‹œ๊ฐ„์— ์ด ์ƒ์ˆ˜๋ฅผ ๊ณฑํ•˜๋ฉด ์‹œ์Šคํ…œ ์‹œ๊ฐ„์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

ctime์€ clock()ํ•จ์ˆ˜๊ฐ€ ๋ฆฌํ„ดํ•˜๋Š” ๋ฐ์ดํ„ฐํ˜•์˜ ๋Œ€์šฉ ์ด๋ฆ„์œผ๋กœ clock_tํ˜•์„ ์ •์˜ํ•จ. ๋ณ€์ˆ˜๋ฅผ clock_tํ˜•์œผ๋กœ ์„ ์–ธ ๊ฐ€๋Šฅ

์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์ด๊ฒƒ์„ longํ˜•์ด๋‚˜ unsigned intํ˜• ๋˜๋Š” ์‚ฌ์šฉํ•˜๋Š” ์‹œ์Šคํ…œ์— ์ ๋‹นํ•œ ๋‹ค๋ฆ„ ๋ฐ์ดํ„ฐํ˜•์œผ๋กœ ๋ณ€ํ™˜

 

<์‚ฌ์šฉ ์˜ˆ์‹œ>

#include<iostream>
#include<ctime>
int main()
{
using namespace std;
cout<<"์ง€์—ฐ ์‹œ๊ฐ„ ์ดˆ ๋‹จ์œ„ ์ž…๋ ฅ : ";
float secs;
cin>>secs;
clock_t delay = secs * CLOCKS_PER_SEC;
cout<<"์นด์šดํŠธ ์‹œ์ž‘\n";
clock_t start = clock();
while(clock()-start<delay)
;
cout<<"์ข…๋ฃŒ\n";
return 0;
}

do while ๋ฃจํ”„

ํƒˆ์ถœ ์กฐ๊ฑด ๋ฃจํ”„: ๋ฃจํ”„ ๋ชธ์ฒด๋ฅผ ๋จผ์ € ์‹คํ–‰ ํ›„, ์กฐ๊ฑด์„ ๋‚˜์ค‘์— ๊ฒ€์‚ฌ

์กฐ๊ฑด์„ ํ‰๊ฐ€ํ•˜๊ธฐ ์ „์— ๋ฃจํ”„ ๋ชธ์ฒด๋ฅผ ์ ์–ด๋„ ํ•œ๋ฒˆ ์‹คํ–‰

do while ๊ตฌ๋ฌธ

do 

body

while(test-expression);

 

do while ๋ฃจํ”„๊ฐ€ ์ ๋‹นํ•œ ๊ฒฝ์šฐ : ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ์„ ๋ฐ›์•„์•ผ ํ•  ๋•Œ๋Š” ์กฐ๊ฑด์„ ๊ฒ€์‚ฌํ•˜๊ธฐ ์ „ ์ž…๋ ฅ๋ถ€ํ„ฐ ๋ฐ›์•„์•ผ ํ•จ

 

Range ๊ธฐ๋ฐ˜์˜ for ๋ฃจํ”„(C++11)

C++11์€ Range ๊ธฐ๋ฐ˜์˜ for ๋ฃจํ”„๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์ƒˆ๋กœ์šด ํ˜•ํƒœ๊ฐ€ ์ถ”๊ฐ€๋จ

double price[5]={4.99,10.99,6.87,7.99,8.49};

for(double x:price)

cout<<x<<std::endl;

 

์œ„ ์ฝ”๋“œ์—์„œ x๋Š” prices ๋ฐฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋กœ ์ดˆ๊ธฐํ™”๋จ

์ฒซ ๋ฒˆ์งธ ์š”์†Œ๊ฐ€ ์ถœ๋ ฅ๋œ ํ›„์— ๋ฐฐ์—ด์— ๋‚จ์•„์žˆ๋Š” ๋‹ค์Œ ์š”์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด ๋ฃจํ”„๊ฐ€ x์— ์ €์žฅ๋˜๋ฉด์„œ 5๊ฐœ์˜ ์š”์†Œ ๋ชจ๋‘ ์ถœ๋ ฅ

์ฆ‰, ๋ฐฐ์—ด์˜ range ์•ˆ์— ํฌํ•จ๋˜๋Š” ๋ชจ๋“  ๊ฐ’ ๋“ค์ด ๋ฃจํ”„๋ฅผ ๋Œ๋ฉด์„œ ์ถœ๋ ฅ

์—ฌ๊ธฐ์„œ, ๋ฐฐ์—ด์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•ด์„  ๋ฃจํ”„ ๋ณ€์ˆ˜์— ๋‹ค๋ฅธ ๊ตฌ๋ฌธ์ด ํ•„์š”ํ•จ

for(double &x:prices)

x=x*0.80;

 

Range ๊ธฐ๋ฐ˜ for ๋ฃจํ”„๋Š” ์ดˆ๊ธฐํ™” ๋ฆฌ์ŠคํŠธ์—๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

for(int x:{3,4,2,8,6})

cout<<x<<" ";

cout<<'\n';

728x90
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ
    '๐Ÿ”คํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด/C++ ์ •๋ฆฌ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • C++ ์ •๋ฆฌ - 17 (๋…ผ๋ฆฌํ•ฉ OR ์—ฐ์‚ฐ์ž (||), ๋…ผ๋ฆฌ๊ณฑ AND ์—ฐ์‚ฐ์ž, ๋…ผ๋ฆฌ๋ถ€์ • NOT ์—ฐ์‚ฐ์ž (!), ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž์˜ ๋Œ€์ฒด ํ‘œ๊ธฐ, ? : ์—ฐ์‚ฐ์ž, switch ๊ตฌ๋ฌธ, break์™€ continue ๊ตฌ๋ฌธ)
    • C++ ์ •๋ฆฌ - 16 (EOF, 2์ฐจ์› ๋ฐฐ์—ด, if)
    • C++ ์ •๋ฆฌ - 14 (์กฐํ•ฉ ๋Œ€์ž… ์—ฐ์‚ฐ์ž, ๋ณตํ•ฉ ๊ตฌ๋ฌธ ๋˜๋Š” ๋ธ”๋ก, ์ฝค๋งˆ ์—ฐ์‚ฐ์ž, ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž, C์Šคํƒ€์ผ&string ์Šคํƒ€์ผ ๋ฌธ์ž ๋น„๊ต)
    • C++ ์ •๋ฆฌ - 13 (for ๋ฃจํ”„, ์ฆ๊ฐ€ ์—ฐ์‚ฐ์ž, ๊ฐ์†Œ ์—ฐ์‚ฐ์ž, ๋ถ€์ˆ˜ํšจ๊ณผ์™€ ์‹œํ€€์Šค ํฌ์ธํŠธ, ์ ‘๋‘์–ด, ์ ‘๋ฏธ์–ด ๋ฐฉ์‹)
    hugDog
    hugDog
    ์•ˆ๋“œ๋กœ์ด๋“œ ๊ณต๋ถ€ ์ค‘์ธ ํ•™์ƒ์ž…๋‹ˆ๋‹ค!

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

    ๋‹จ์ถ•ํ‚ค

    ๋‚ด ๋ธ”๋กœ๊ทธ

    ๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
    Q
    Q
    ์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
    W
    W

    ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

    ๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
    E
    E
    ๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
    C
    C

    ๋ชจ๋“  ์˜์—ญ

    ์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
    S
    S
    ๋งจ ์œ„๋กœ ์ด๋™
    T
    T
    ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
    H
    H
    ๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
    Shift + /
    โ‡ง + /

    * ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.