[2025.03.12] Ch.06_C의 제어문: 루프

2025. 3. 12. 18:56·C/본수업
학습목표
키워드 : for, while, do while
연산자 : <, >, >=, <=, !=, ==, +=, *=,-=, /=, %=
함수 : fabs()
C의 세 가지 루프 구조 : while, for, do while
관계 연산자를 사용하여 루프 제어 표현식 만들기
그 밖의 연산자
루프와 함께 사용하는 배열
리턴값이 있는 함수 만들기

 

[while 루프]

  • 아래 코드를 보면 scanf에도 반환값이 존재한다는 것을 알 수 있음.
  • status = scanf("%ld", &num); 이 부분을 보면 알 수 있음. scanf 반환값을 status에 대입함.
  • scanf는 데이터를 받은 갯수를 반환함!! 혹시 몰라서 정수 2개 받는 scanf를 써봤는데, 2가 출력되는 걸 확인했음!!!!!
    • 설명 : 여기서 q를 누르면 종료된다고 되어있는데, 이건 숫자가 아닌 다른 걸 쓰면 무조건 종료됨! 이유를 교수님께서 설명해주셨음! 과정을 여기서 말로 설명하면 이해가 될진 모르겠지만, 적어보겠음.
    • 1. scanf로 정수 10 입력
    • 2. num에 10 저장
    • 3. status에 1 저장 (데이터가 1개니까)
    • 4. 반복됨
    • 5. scanf로 11d 입력
    • 6. num에 11 저장 (num은 정수형이니까 문자인 d는 버퍼에 남아있음!!!!)
    • 7. status에 1 저장 (데이터가 1개니까)
    • 8. scanf 입력 종료 ==> 버퍼에 문자가 담겨있어 정수입력이 종료되었다고 판단함.
    • 9. status에 0 저장
    • 10. while문 조건 '거짓' ==> 종료
// 리스트 6.1 - summing 프로그램
#include <stdio.h>

int main()
{
    long num;
    long num1;
    long sum = 0L;
    int status;

    printf("합을 구할 정수를 하나 입력하시오");
    // q 말고 다른 문자 써도 종료됨!
    printf("(끝내려면 q) : ");
    status = scanf("%ld", &num);
    // scanf는 데이터를 받은 개수를 반환함!! 그래서 이거 작동함..헐랭방구
    // 10을 입력함. => num에 10이 저장됨 => status에 1이 저장됨 => scanf로 10 넣어 => num = 10 저장 => status = 1 
    // => 또 while문 돌아 => scanf에 q(문자) 입력해 => num에 아무것도 저장이 안됨 => status = 0 => while문 다시 돌아오면 => 종료

    // 만약 11q를 넣었어 => num = 11 => status = 1 => 다음 while 회전 => q가 버퍼에 남아있으니까 종료됨!
    while(status == 1)
    {
        sum = sum + num;
        printf("다음 정수를 입력하시오(끝내려면 q) : ");
        status = scanf("%ld", &num);
    }
    printf("입력된 정수들의 합은 %ld입니다.\n", sum);
    
    return 0;
}

 

 

 

★ while문

  • while문은 반복이 언제 끝날지 모르는 상황에 주로 사용
  • 참(True) : 0이 아닌 모든 값
  • 거짓(False) : 0
while (조건)
{
    // 수행할 문장
}

 

 

 

★ for 루프

  • for문은 반복의 종료 시점을 아는 상황에 주로 사용
  • for문은 초기화, 조건검사, 갱신으로 이루어짐.
for (초기화 ; 조건검사 ; 갱신)
{
    // 수행할 문장
}

 

 


★ do while문

  • while이랑은 비슷하지만, 다른점이 있음.
  • while은 우선 조건을 검사해서 조건이 '참'이면 while문 안의 문장이 실행됨.
  • 반면에 do while문은 조건과 상관없이 무조건 한번은 실행됨. 한번 실행된 이후에 조건검사 진행하여 '참'이면 반복됨.

 

 

 

★ 배열

  • 이번은 배열 찍먹! 자세하게 하진 않음. 뒤에 다시 나온다고 함,,,, 무섭도다,,,, 저번 시간에 배운 문자열 정도 했음!
  • 배열도 똑같이 0부터 시작!! 

 

 

오늘은 여기까지 배우고 다시 별찍기함 ㅋㅋㅋ 
별찍기 은근 재밌다링

'C > 본수업' 카테고리의 다른 글

[2025.03.12] Ch.06_C의 제어문: 루프_별찍기  (0) 2025.03.12
[2025.03.12] Ch.06_C의 제어문: 루프_연습문제  (0) 2025.03.12
[2025.03.12] Ch.05_연산자, 표현식, 문장_연습문제  (0) 2025.03.12
[2025.03.11] Ch.05_연산자, 표현식, 문장  (0) 2025.03.12
[2025.03.11] Ch.04_문자열과 입출력 포맷  (0) 2025.03.11
'C/본수업' 카테고리의 다른 글
  • [2025.03.12] Ch.06_C의 제어문: 루프_별찍기
  • [2025.03.12] Ch.06_C의 제어문: 루프_연습문제
  • [2025.03.12] Ch.05_연산자, 표현식, 문장_연습문제
  • [2025.03.11] Ch.05_연산자, 표현식, 문장
polibo
polibo
Polibo의 개발 성장기 지켜봐주십슈 (콩 싫어해요.)
  • polibo
    Polibo와 개발 콩나무 키우기
    polibo
  • 전체
    오늘
    어제
    • 분류 전체보기 (64) N
      • Python (23)
      • C (32)
        • 본수업 (19)
        • 예습 (7)
        • 개인프로젝트01 - 로또 (3)
        • 개인프로젝트02 - 복켓몬 키우기 (2)
        • 개인프로젝트03 - 김복천국 POS기 (1)
        • 팀프로젝트01 - 용사 복이의 대모험 RPG (0)
        • 팀프로젝트02 - 메일 프로그램 (0)
      • TCP_IP (0)
      • DB (1)
      • C++ (7) N
      • QT (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    파이썬 숫자야구
    순서도
    파이썬게임
    else if
    c언어 scanf
    파이썬조건문
    반복문
    조건문
    Python
    코딩
    c우선순위
    파이썬
    문자열
    파이썬반복문
    if문
    C
    c언어
    for문
    while문
    파이썬예제
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
polibo
[2025.03.12] Ch.06_C의 제어문: 루프
상단으로

티스토리툴바