2014-07-16 3 views
1

총 초급 프로그래머입니다. 다른 조건을 입력하고 'for'루프가 수동으로 작동하는 방식을 추론하려하지만 꽤 이해하지 못합니다. 나는 'n < = 20'이 루프가 실행될 횟수를 결정할 것이라고 생각했지만, 그 밖의 다른 것들은 잘 모르겠습니다. 더 자세한 설명은 크게 감사하겠습니다 :'for'루프가 수행하는 작업은 무엇입니까?

int main (int argc, const char * argv[]) { 
@autoreleasepool { 

    int n; 
    int x; 
    NSLog(@"Enter your number"); 
    scanf("%i", &n); 

    for (x = x, n = x + 1; n <= 20 ; ++n) { 
     x += n; 
     NSLog(@"The value of n is %i", n); 
     NSLog(@"The value of x is %i", x); 
    }  

     } 

    return 0; 

} 
+1

'n <= 20'은 모든 반복에서 루프가 검사 할 조건입니다.이 조건이 참이면 제어가 루프에 들어가고, 조건이 거짓이면 루프가 끝난 후 다음 줄로 이동합니다. – Varun

+1

'x'는 초기화되지 않았습니다. 루프 시작 부분에 '0'을 유지하면 42000000을 유지할 수 있습니다. 그런 다음 (아무것도 변경하지 않음) 자체를 설정 한 다음'n'을'x + 1'로 설정합니다 ('scanf '를 통해 읽은 값을 버립니다). . 그래서이 경우 우리가 시작하기 전에 'n'이 20보다 클 수 있습니다. 예측 가능한 결과에 대해'x'를 * something * (0은 분명한 선택)으로 초기화하십시오. –

+0

사용하는 언어를 알려주십시오 ...? 하나 이상이 있습니다. –

답변

1

for 절의 괄호 안에 3 개의 문이 있습니다.

경우에 따라 for 루프를 입력하면 x의 값을 x (거의 의미가 없음) 및 n에 할당합니다. 루프를 한 번 실행하고 (x를 n 씩 증가시키고 로깅을 수행합니다.), n을 1 씩 늘린 다음 n이 20보다 작거나 같은지 확인합니다. 예이면 for 루프의 본문이 다시 실행되고 n n이 20보다 커질 때까지 1 ... 증가합니다. 커지면 루프가 더 이상 실행되지 않고 종료됩니다.

1

for 루프는 일반적으로 초기화, 조건식, 증분식 및 루프 본문의 네 부분으로 구성됩니다. (; 조건부; 초기화 증분)에 대한 의사,

의 { 본체 }

초기화 단계는 일반적 조건에서 사용되는 변수를 설정하고 발현을 증가시키는 데 사용된다. 조건부 표현식은 부울 값 (true/false)으로 평가됩니다. true 값을 지정하면 루프 본문이 실행됩니다. 루프 본문의 마지막 코드 행이 실행 된 후 증분 표현식이 평가 된 다음 조건부 표현식이 다시 평가됩니다.

관련 문제