C Programming Language/C

C์–ธ์–ด Basic ๋ฐ˜๋ณต๋ฌธ while, for ๊ฐœ๋…

567Rabbit 2024. 6. 18. 18:09

 

 

while๋ฌธ

 

- ์ค‘๊ด„ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์žฅ๋“ค์„ ๊ทธ๋ฃนํ•‘ํ•ด์•ผํ•œ๋‹ค.

#include <stdio.h>
int main(void)
{
	int i = 0;
    
    while(i < 5)      // ๋ฐ˜๋ณต ์กฐ๊ฑด true์ผ ๋•Œ ๋ฐ˜๋ณตํ•จ
    {
    	printf("Hello World! \n");   // ๋ฐ˜๋ณต ๋‚ด์šฉ
        i++                          // ๋ฐ˜๋ณต ๋‚ด์šฉ
    }
    
    return 0;
}
#include <stdio.h>

int main(void)
{
	int n;
    int i = 1;

    printf("์ถœ๋ ฅํ•˜๊ณ  ์‹ถ์€ ๋‹จ: ");
    scanf("%d", &n)

	while(i <= 9)
    {
    	printf("%d * %d = %d \n", n, i , n*i);
        i++;
    }

    return 0;
}
// while๋ฌธ์„ ์ด์šฉํ•œ ์ œ๊ณฑ๊ฐ’ ์ถœ๋ ฅ ํ”„๋กœ๊ทธ๋žจ

#include <stdio.h>

int main(void)
{
    int n;

    printf("์ •์ˆ˜์™€ ๊ทธ ์ œ๊ณฑ๊ฐ’\n");
	
    n = 1;
    
    while (n <= 10) {
        printf("%5d   %5d\n", n, n*n);
        n++;
    }

    return 0;
}

 

// 1๋ถ€ํ„ฐ ์ž…๋ ฅํ•œ ์ˆซ์ž๊นŒ์ง€์˜ ํ•ฉ๊ณ„ ๊ตฌํ•˜๊ธฐ

#include <stdio.h>

int main(void)
{
    int i, n, sum;                 //๋ณ€์ˆ˜ ์„ ์–ธ

    printf("์ •์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์‹œ์˜ค:");   //์ž…๋ ฅ ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€ ์ถœ๋ ฅ
    scanf("%d", &n);               //์ •์ˆ˜๊ฐ’ ์ž…๋ ฅ
    
    i = 1;                         //๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™”
    sum = 0;

    while (i <= n) {
        sum += i;  
        i++;       
    }

    printf("1๋ถ€ํ„ฐ %d๊นŒ์ง€์˜ ํ•ฉ๊ณ„๋Š” %d์ž…๋‹ˆ๋‹ค.\n", n, sum);
    return 0;
}

 

// ํ™€์ˆ˜ ํ•ฉ๊ณ„๋งŒ ๊ตฌํ•˜๊ธฐ

#include <stdio.h>

int main(void)
{
    int i, n, sum;                 //๋ณ€์ˆ˜ ์„ ์–ธ

    printf("์ •์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์‹œ์˜ค:");   //์ž…๋ ฅ ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€ ์ถœ๋ ฅ
    scanf("%d", &n);               //์ •์ˆ˜๊ฐ’ ์ž…๋ ฅ
    
    i = 1;                         //๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™”
    sum = 0;

    while (i <= n) {
        sum += i;  
        i = i + 2;       
    }

    printf("1๋ถ€ํ„ฐ %d๊นŒ์ง€์˜ ํ™€์ˆ˜ํ•ฉ์€ %d์ž…๋‹ˆ๋‹ค.\n", n, sum);
    return 0;
}

 

// ํŒฉํ† ๋ฆฌ์–ผ ๊ณ„์‚ฐํ•˜๊ธฐ

#include <stdio.h>

int main() {
    int n;
    long long fact = 1; // ํŒฉํ† ๋ฆฌ์–ผ์„ ์ €์žฅํ•  ๋ณ€์ˆ˜

    printf("์ •์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”: ");
    scanf("%d", &n);

    int i = 1;

    // while ๋ฐ˜๋ณต๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ํŒฉํ† ๋ฆฌ์–ผ ๊ณ„์‚ฐ
    while (i <= n) {
        fact *= i; // fact = fact * i; ์™€ ๋™์ผํ•˜๋‹ค
        i++;
    }

    // ๊ฒฐ๊ณผ ์ถœ๋ ฅ
    printf("%d!์€ %d์ž…๋‹ˆ๋‹ค.\n", n, fact);

    return 0;
}

 

 

 

 

์„ผํ‹ฐ๋„ 

 

- ์ž…๋ ฅ๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ ๋์„ ์•Œ๋ฆฌ๋Š” ํŠน์ˆ˜ํ•œ ๊ฐ’

- ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๊ฐ’์ด ํŠน์ • ์กฐ๊ฑด์„ ์ถฉ์กฑํ•  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต๋ฌธ์ด ์‹คํ–‰๋˜๋ฉฐ, ์„ผํ‹ฐ๋„ ๊ฐ’์ด ์ž…๋ ฅ๋˜๋ฉด ๋ฐ˜๋ณต๋ฌธ์ด ์ข…๋ฃŒ๋œ๋‹ค.

 

- ex) "์ข…๋ฃŒํ•˜๋ ค๋ฉด ์Œ์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์‹œ์˜ค"

#include <stdio.h>

int main(void)
{
    int number;
    int sum = 0;

    printf("์ •์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š” (์ข…๋ฃŒํ•˜๋ ค๋ฉด -1์„ ์ž…๋ ฅํ•˜์„ธ์š”):\n");

    while (1) {
        printf("์ •์ˆ˜ ์ž…๋ ฅ: ");
        scanf("%d", &number);

        if (number == -1) {
            break;  // -1์ด ์ž…๋ ฅ๋˜๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.
        }

        sum += number;  // ์ž…๋ ฅ๋œ ๊ฐ’์„ sum์— ๋”ํ•ฉ๋‹ˆ๋‹ค.
    }

    printf("์ž…๋ ฅ๋œ ์ •์ˆ˜์˜ ํ•ฉ๊ณ„๋Š” %d์ž…๋‹ˆ๋‹ค.\n", sum);

    return 0;
}

 

 

 

 

 

EOP

 

- ์œ ์ €๊ฐ€ Ctrl+Z (Windows) ๋˜๋Š” Ctrl+D (Unix/Linux/Mac) ๋ฅผ ๋ˆ„๋ฅด๋ฉด EOF๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋œ๋‹ค.

#include <stdio.h>

int main(void)
{
    int number, min_value = INT_MIN;
    
    printf("์ •์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์‹œ์˜ค\n ์ข…๋ฃŒ๋Š” Ctrl+Z\n");

    while (scanf("%d", &number) != EOF) {
        if(number < min_value)
        		min_value = number;
    }

    printf("์ตœ์†Œ๊ฐ’์€ %d์ž…๋‹ˆ๋‹ค.", min_value);

    return 0;
}

 

 

 

 

์œ ํด๋ฆฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ while๋ฌธ์„ ์ด์šฉํ•ด ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜ ์ฐพ๊ธฐ

 

์œ ํด๋ฆฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜๋ฅผ ์ฐพ๋Š” ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜

  1. ๋‘ ์ˆ˜ ์ค‘ ํฐ ์ˆ˜๋ฅผ ์ž‘์€ ์ˆ˜๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•œ๋‹ค
  2. ์ž‘์€ ์ˆ˜์™€ ๋‚˜๋จธ์ง€๋กœ ๋‹ค์‹œ ์ด ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค
  3. ๋‚˜๋จธ์ง€๊ฐ€ 0์ด ๋˜๋ฉด, ๊ทธ๋•Œ์˜ ์ž‘์€ ์ˆ˜๊ฐ€ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜์ด๋‹ค.
#include <stdio.h>

int main(void)
{
    int x, y, r; 

    printf("๋‘ ์ •์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š” (ํฐ์ˆ˜, ์ž‘์€์ˆ˜): ");
    scanf("%d %d", &x, &y);

    // ์œ ํด๋ฆฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•œ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜ ๊ณ„์‚ฐ
    while (y != 0) {
        r = x % y;  // ๋‚˜๋จธ์ง€๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.
        x = y;         // a์— b๋ฅผ ๋Œ€์ž…ํ•ฉ๋‹ˆ๋‹ค.
        y = r;      // b์— ๋‚˜๋จธ์ง€๋ฅผ ๋Œ€์ž…ํ•ฉ๋‹ˆ๋‹ค.
    }

    printf("์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜๋Š” %d์ž…๋‹ˆ๋‹ค.\n", x);

    return 0;
}

 

 

 

 

do...while๋ฌธ

 

- ํ•œ๋ฒˆ ์‹คํ–‰ํ•˜๊ณ  ๋‚˜์„œ, ๋” ์‹คํ–‰ํ• ์ง€ ๋ง์ง€ ์กฐ๊ฑด์„ ์ฒดํฌํ•ด์ฃผ๊ณ  ๋งŒ์กฑํ•˜๋ฉด ๋ฐ˜๋ณตํ•œ๋‹ค.

- ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•ด์ ธ์„œ ๋งŽ์ด ์“ฐ์ง€๋Š” ์•Š๋Š”๋‹ค.

#include <stdio.h>

int main(void)
{
    int number, sum = 0;

    do {
        printf("์ •์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์‹œ์˜ค: ");
        scanf("%d", &number);
        sum += number;       // ์ž…๋ ฅ๋œ ๊ฐ’์„ sum์— ๋”ํ•ฉ๋‹ˆ๋‹ค.
    } while (number != 0);   // ์ž…๋ ฅ๋œ ๊ฐ’์ด 0์ด ์•„๋‹ˆ๋ฉด ๊ณ„์† ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

    printf("์ž…๋ ฅ๋œ ์ˆซ์ž๋“ค์˜ ํ•ฉ๊ณ„๋Š” %d์ž…๋‹ˆ๋‹ค.\n", sum);

    return 0;
}

 

 

 

 

 

 

for๋ฌธ

 

#include <stdio.h>

int main(void) {
    int i; // ๋ฐ˜๋ณต ํšŸ์ˆ˜๋ฅผ ์ œ์–ดํ•  ๋ณ€์ˆ˜
    
    // for ๋ฐ˜๋ณต๋ฌธ์„ ์ด์šฉํ•˜์—ฌ 5๋ฒˆ "Hello World" ์ถœ๋ ฅ
    for (i = 0; i < 5; i++) {
        printf("Hello World\n");
    }
    
    return 0;
}

 

#include <stdio.h>

int main(void) {
    int i, sum; 
    
    sum = 0;

    // 1๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ์ •์ˆ˜๋ฅผ ๋”ํ•˜๋Š” ๋ฐ˜๋ณต๋ฌธ
    for (int i = 1; i <= 10; i++) {
        sum += i; 
    }

    printf("1๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ์ •์ˆ˜์˜ ํ•ฉ: %d\n", sum);

    return 0;
}

 

#include <stdio.h>

int main(void) {
    
    int i,n;
    
    printf("์ •์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”: ");
    scanf("%d", &n);
    
    for (i = 1; i <= n; i++) 
        printf("%5d    5%d\n", i, i*i*i);

    return 0;
}

 

// ๋ฐ˜๋ณต์„ ์ด์šฉํ•œ ํŒฉํ† ๋ฆฌ์–ผ ๊ตฌํ•˜๊ธฐ

#include <stdio.h>

int main(void) {
    int i, n;
    long long fact = 1;

    printf("์ •์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”: ");
    scanf("%d", &n);

    // ์ž…๋ ฅ๋œ ์ •์ˆ˜์˜ ํŒฉํ† ๋ฆฌ์–ผ ๊ณ„์‚ฐ
    for (i = 1; i <= n; i++) {
        fact *= i;     // fact = fact * i; ์™€ ๋™์ผํ•˜๋‹ค
    }

    // ๊ฒฐ๊ณผ ์ถœ๋ ฅ
    printf("%d!์€ %d์ž…๋‹ˆ๋‹ค.\n", n, fact);

    return 0;
}

 

 

 

 

for๋ฌธ :  ๋‹ค์–‘ํ•œ ์ฆ๊ฐ์ˆ˜์‹์˜ ํ˜•ํƒœ

for(int i = 10 ; i > 0 ; i--)     //๋บ„์…ˆ ์‚ฌ์šฉ
	printf("Hello World!\n");
    
for(int i = 10 ; i > 0 ; i--, j++)  //์—ฌ๋Ÿฌ ๊ฐœ ์“ฐ๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅ
	printf("Hello World!\n");

for(int i = 0 ; i < 10 ; i += 2)    //2์”ฉ ์ฆ๊ฐ€
	printf("Hello World!\n");

for(int i = 1 ; i < 10 ; i *= 2)    //2๋ฅผ ๊ณฑํ•œ๋‹ค
	printf("Hello World!\n");

for(int i = 0 ; i < 100 ; i = (i*i) + 2 ) //์–ด๋–ค ์ˆ˜์‹์ด๋ผ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค
	printf("Hello World!\n");
    
for( ; ; )                         //๋ฌดํ•œ ๋ฐ˜๋ณต ๋ฃจํŠธ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค
	printf("Hello World\n");

for( ; i < 100 ; i++)              //ํ•œ ๋ถ€๋ถ„์ด ์—†์„์ˆ˜๋„ ์žˆ๋‹ค
	printf("Hello World\n");

for( i = 0, k = 0 ; i < 100 ; i++)    //2๊ฐœ ์ด์ƒ์˜ ๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™”
	printf("Hello World\n");

 

 

 

 

 

์ค‘์ฒฉ ๋ฐ˜๋ณต๋ฌธ(nested loop)

 

- ๋ฐ˜๋ณต๋ฌธ ์•ˆ์— ๋‹ค๋ฅธ ๋ฐ˜๋ณต๋ฌธ์ด ์œ„์น˜ํ•œ๋‹ค.

#include <stdio.h>

int main(void) {
    
    int x, y;
    
    // ์‚ฌ๊ฐํ˜• ์ถœ๋ ฅ์„ ์œ„ํ•œ ์ค‘์ฒฉ๋œ for๋ฌธ
    for (y = 0 ; y < 5 ; y++) {
        for (x = 0 ; x < 10 ; x++) {
            printf("*");
        }
        printf("\n");
    }

    return 0;
}

 

 

 

 

 

goto๋ฌธ์˜ ์‚ฌ์šฉ

#include <stdio.h>

int main(void) {
    
    int x, y;

    for (y = 1; y < 10000; y++) {
        for (x = 1 ; x < 50 ; x++) {
            if ( _kbhit() ) goto OUT;
            printf("*")
  
        } 
        printf("\n");
    }

OUT:
    return 0;
}

 

 

 

 

continue๋ฌธ

// ๋ฌธ์ž์—ด์˜ ๊ฐ ๋ฌธ์ž๋ฅผ ํ™•์ธํ•˜์—ฌ ์†Œ๋ฌธ์ž์ธ ๊ฒฝ์šฐ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€๊ฒฝ

#include <stdio.h>

int main(void) {
    
    char letter;
    
    while (1) {
    
    	printf("๋ฌธ์ž์—ด์„ ์ž…๋ ฅํ•˜์„ธ์š”: ");
    	scanf("%c", &letter);
        
        if ( letter == 'Q' ) 
        	break;
        if( letter < 'a' || letter > 'z')
        	continue;
            
        letter -= 32;
        printf("๋ณ€ํ™˜๋œ ๋Œ€๋ฌธ์ž๋Š” %c์ž…๋‹ˆ๋‹ค.\n", letter);
    }

    // ๋ณ€๊ฒฝ๋œ ๋ฌธ์ž์—ด ์ถœ๋ ฅ
    printf("๋ณ€๊ฒฝ๋œ ๋ฌธ์ž์—ด: %c\n", letter);

    return 0;
}

 

 

 

 


๋ณต๋ฆฌ์—์„œ ์›๋ฆฌ๊ธˆ ํ•ฉ๊ณ„

 

์›๋ฆฌํ•ฉ๊ณ„ = ์›๊ธˆ x (1+์ด์œจ)^๊ธฐ๊ฐ„

- ๋นจ๊ฐ„ ์„ ์€ ๋ณต๋ฆฌ, ํŒŒ๋ž€ ์„ ์€ ๋‹จ๋ฆฌ์ด๋‹ค.

 

// ๋ณต๋ฆฌ์ด์ž ๊ณ„์‚ฐ
#include <stdio.h>

#define RATE 0.07
#define INVESTMENT 10000000 //์ดˆ๊ธฐ ํˆฌ์ž๊ธˆ
#define YEARS 10

int main(void)
{
	int i;
    double total = INVESTMENT;  //์›๋ฆฌ๊ธˆ ํ•ฉ๊ณ„
    
    printf("==============\n");
    printf("์—ฐ๋„ ์›๋ฆฌ๊ธˆ\n");
    printf("==============\n");
    
    for(i = 1 ; i <= YEARS; i++)
    {
    	total = total * ( 1 + RATE );  //์ƒˆ๋กœ์šด ์›๋ฆฌ๊ธˆ ๊ณ„์‚ฐ
        printf("%d        %10.1f\n", i, total);
    }
    
    return 0;
}