2013년 1월 31일 목요일

Objective-C Chapter 4.1


#import <Foundation/Foundation.h> 
//import 부분 : 파일에 있는 정보를 그대로 가져오라는 명령어
//Foundation.h 파일을 불러온 이유는 프로그램에서 사용할 다른 클래스와 함수에 대한 정보가 들어있기 때문


int main(int argc, char *argv[])
{
    @autoreleasepool {
        int integerVar = 100;
        float floatingVar = 331.79;
        double doubleVar = 8.44e+11;
        char charVar = 'w';
        
        NSLog(@"integerVar = %i", integerVar);
        NSLog(@"floatingVar = %f", floatingVar);
        NSLog(@"doubleVar = %e", doubleVar);
        NSLog(@"doubleVar = %g", doubleVar);
        NSLog(@"charVar = %c", charVar);
        
        int a1 = 100;
        int b1 = 2;
        int c1 = 25;
        int d1 = 4;
        // 위에것을 한번에 표현가능
        // int a1 = 100, b1 = 2, c1 = 25, d1 = 4;
        int result;
        
        result = a1 - b1;
        NSLog(@"a1 - b1 = %i", result);
        result = b1 * c1;
        NSLog(@"b1 * c1 = %i", result);
        result = a1 / c1;
        NSLog(@"a1 / c1 = %i", result);
        result = a1 + b1* c1;
        NSLog(@"a1 + b1 * c1 = %i", result);
        result = (a1 + b1) * c1;
        NSLog(@"(a1 + b1) * c1 = %i", result);
        // 대수의 기본규칙과 동일한 순서로 계산됨
        NSLog(@"a1 + b1 + c1 * d1 = %i", a1 * b1 + c1 * d1);
        // 변수의 할당 없이 NSLog에 인수로 넘겨도 유효
        
        int a2 = 25;
        int b2 = 2;
        float c2 = 25.0;
        float d2 = 2.0;
        
        NSLog(@"6 + a2 / 5 * b2 = %i", 6 + a2 / 5 * b2);
        NSLog(@"a2 / b2 * b2 = %i", a2 / b2 * b2);
        // 결과값이 24가 나오는 이유는 정수계산떄문이다 25 / 2 = 12(12.5로 저장되지 않음, 정수이기때문) 그리고 곱하기 2 그래서 24
        NSLog(@"c2 / d2 * d2 = %f", c2 / d2 * d2);
        NSLog(@"-a2 = %i", -a2);
        // 음수 인식
        NSLog(@"b2 * -a2 + b2 = %i", b2 * -a2 + b2);
        
        // 나머지 값 구할때 % 연산자 이용
        int a3 = 25, b3 = 5, c3 = 10, d3 = 7;
        NSLog(@"a3 %% b3 = %i", a3 % b3); // 나머지가 0
        NSLog(@"a3 %% c3 = %i", a3 % c3); // 나머지가 5
        NSLog(@"a3 %% d3 = %i", a3 % d3); // 나머지가 4
        NSLog(@"a3 / d3 * d3 + a3 %% d3 = %i", a3 / d3 * d3 + a3 % d3);
        
        // % 연산자도 곱하기와 나누기처럼 더하기뺴기 연산자보다 먼저 사용
        NSLog(@"a3 + c3 %% d3 = %i", a3 + c3 % d3);
        // 계산결과가 2로 나오지 않고 28로 나옴
        
        float f1 = 123.125, f2;
        int i1, i2 = -150;
        
        i1 = f1;
        NSLog(@"%f assigned to an int produces %i", f1, i1);
        f1 = i2;
        NSLog(@"%i assigned to an int produces %f", i2, f1);
        f1 = i2 / 100
        NSLog(@"%i divided by 100 produces %f", i2, f1);  // 예상값은 -1.50000 아니라 -1.0000
        f2 = i2 / 100.0;
        NSLog(@"%i divided by 100.0 produces %f", i2, f2); // 100.0 으로 나누었기때문에 -1.50000
        f2 = (float) i2 / 100;
        NSLog(@"(float) %i divided by 100 produces %f", i2, f2);
        // 연산중 둘중 하나의 수가 부동소수점 상수의 수라면 연산은 부동소수점 연산을 따름
        
        // 대입연산자
        a3 += 10// a3 = a3 + 10 동일의미
        NSLog(@"%i", a3);
        b3 -= 10// b3 = b3
        NSLog(@"%i", b3);
        c3 /= (a3 + b3)/15;
        NSLog(@"%i", c3);
    }
    return 0;
}

댓글 없음:

댓글 쓰기