2013년 2월 1일 금요일

Objective-C Chapter 5.1


#import <Foundation/Foundation.h>

int main (int argc, char *argv[])
{
    @autoreleasepool {
        // 5.1 예제
        int trianglarNumberEx1;
        trianglarNumberEx1 = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8;
        NSLog(@"The eighth triangler number is %i", trianglarNumberEx1);
        
        
        // 5.2 예제
        int nEx2, trianglarNumberEx2;
        trianglarNumberEx2 = 0;
        // 모든 변수 시작전에 특정값으로 초기화 해야함
        for ( nEx2 = 1 ; nEx2 <= 200 ; nEx2 += 1) trianglarNumberEx2 += nEx2;
        // nEx2 +=1 의미 : nEx2 = nEx2 + 1
        // trianglarNumberEx2 += nEx2 의미  : trianglarNumberEx2 = trianglarNumberEx2 + nEx2
        NSLog(@"The 200th triangular number is %i", trianglarNumberEx2);
        
        // for 비교 연산자
        // == : 같음을 비교    <= : 작거나 같음      >= : 크거나 같음
        // != : 같지 않음을 비교    < : 보다 작음        > : 보다 큼
        // = : 대입연산자 임으로 == 와 헷갈리면 안됨 (중요)
        
        // for ( n = 1 ; n <= 200 ; n += 1) trianglarNumber += n;
        // for ( 초기 반복문 변수값 지정 : 반복되는 충족조건 : 반복문 표현식 ) { 명령문 }
        // 순서             1                         2                                    3
        //                                                                   4                   
        //                                              5                             
        //                                              8                   7               6
        //                                             11                  10              9
        //                                             14                  13             12 ...
        
        
        // 5.3 예제
        int nEx3, triangularNumberEx3;
        NSLog(@"TABLE OF TRIANGULAR NUMBERS");
        NSLog(@"  N     Sum from 1 to n");
        NSLog(@"-----  -----------------");
        triangularNumberEx3 = 0;
        for ( nEx3 = 1; nEx3 <= 10; nEx3 += 1) // nEx3 += 1 을 증가연산자 ++n 을 이용해도 사용가능 (++nEx3 이런식으로)
        {
            triangularNumberEx3 += nEx3;
            NSLog(@"  %i           %i", nEx3, triangularNumberEx3);
        }
        // for ( nEx3 = 1; nEx3 <= 10; ++nEx3) 사용가능.. 위와 같은의미
        // --n 연산자도 존재 함, 의미는 1식 감소
        
        NSLog(@"TABLE OF TRIANGULAR NUMBERS");
        NSLog(@"  N     Sum from 1 to n");
        NSLog(@"-----  -----------------");
        triangularNumberEx3 = 0;
        for ( nEx3 = 1; nEx3 <= 10; ++nEx3) 
        {
            triangularNumberEx3 += nEx3;
            NSLog(@"  %2i           %i", nEx3, triangularNumberEx3);
            // 맨 마지막 줄 선이 맞지 않기 때문에 %i 를 %2i로 변경함
        }
        
        
        // 5.4 예제
        int nEx4, triangularNumberEx4, numberEx4;
        NSLog(@"What triangular number do you want?");
        scanf("%i", &numberEx4);
        triangularNumberEx4 = 0;
        for ( nEx4 = 1; nEx4 <= numberEx4; ++nEx4)
        {
            triangularNumberEx4 += nEx4;
        }
        NSLog(@"Triangluar number %i is %i\n", numberEx4, triangularNumberEx4);
        
        
        // 5.5 예제
        int nEx5, numberEx5, triangularNumberEx5, counterEx5;
        // counterEx5 는 오직 for 프로그램 반복 횟수 계산용에만 사용되지만, 그래도 변수이니 선언을 해야함
        for ( counterEx5 = 1; counterEx5 <=5; ++counterEx5 )
        {
            NSLog(@"What triangular number do you want?");
            scanf("%i", &numberEx5);
            triangularNumberEx5 = 0;
            for ( nEx5 = 1; nEx5 <= numberEx5; ++nEx5 )
            {
                triangularNumberEx5 += nEx5;
            }
            NSLog(@"Triangular number %i is %i", numberEx5, triangularNumberEx5);
        }
        // 5.5 예제같은 반복문 형태
        
        // 5번 반복한다
        // {
        //     사용자에게 숫자 입력을 받는다
        //     요청받은 삼각수를 표현한다
        //     결과를 표시한다
        // }
    }
    return 0;
}

댓글 없음:

댓글 쓰기