본문 바로가기
프로그램

[C언어]반복문 for문 구조와 기초예시 8강

by y은광 2024. 9. 7.
728x90

C언어에서 사용하는 반복문 중 하나로 정해진 횟수만큼 반복사용하는 for문이 있습니다. for문은 특정 조건이 참인 동안 코드 블록을 반복 실행하는 데 사용됩니다. 반복에 사용되는 변수를 초기화하고 조건을 검사하여 그에 맞는 실행을 합니다. for문의 구조와 기초예시를 알아보겠습니다.

1. for문의 구조

  • 초기식 : 반복문이 시작될 때 한 번만 실행되는 부분으로 주로 초기값을 설정합니다.
  • 조건식 : 반복문이 실행될 조건을 설정합니다. 참(true)인 동안 반복문이 계속 실행되며 거짓(false)이면 종료됩니다.
  • 증감식 : 반복이 끝난 후 실행되는 부분으로 변수를 증가시키거나 감소할 때 사용합니다.

2. for 기초예시

  • 단순 반복문
#include <stdio.h>
int main(void)
{
 int i;
// 초기값;조건식(최종값);증감식 → i 값이 5보다 작거나 같을 때까지 i값을 1씩 증가
for(i=1; i<=5; i++) {  
printf("\n");
printf(" Hello Goddess of Fortune! .\n");
}
printf("\n");
// 조건식 종료 후 실행
printf(" END!!\n");
return 0;
}

반복문1

 

  • 입력한 수 만 큰 " ★ " 출력하기
#include <stdio.h>
int main(void)
{
int ap, i;
printf("출력하고 싶은 별은 몇 개인가요? \n");
scanf("%d", &ap);
// 원하는 수만큼 입력 i값이 1씩 증가하며 ★을 인쇄
for(i=1; i<=ap; i++) {
printf("★");
}
printf("\n");
return 0;
}

반복문2

 

  • 입력한 수까지 합계 구하기
#include<stdio.h>
int main(void)
{
int ap, sum=0, i=0;
printf(" 합을 구하고 싶은 정수를 입력하세요! \n");
scanf("%d", &ap); // 원하는 숫자를 입력
for(i=1; i<=ap; i++) {
sum+=i;  // sum=sum+i 원하는 수만큼 누적하여 합을 구함
}
printf("1부터 %d까지의 합은 %d입니다 \n", ap, sum);
return 0;
}

반복문3

 

  • 다중루프 이용한 기초예시
#include<stdio.h>
int main(void)
{
int i, j, ap=0;
for(i=0; i<5; i++) { // i값이 1번 실행한 후 다음 for문 실행
 for(j=0; j<5;j++) { // j값이 5번 실행한 후 앞 for문 i 실행
  if(ap == 0) { // ap가 0 일 때 ★ 인쇄
   printf("★"); 
   ap=1; // "★" 인쇄 후 ap를 1로 초기화
}
else
  printf("↔"); // ap가 1일 때 "↔" 인쇄 후 ap를 0으로 초기화 
  ap=0;
}
}
  printf("\n");
}
return 0;
}

 

반복문4

 

  • 반복문 이용한 구구단 
#include<stdio.h>
int main(void)
{
 int i,j;
 for(i=1; i<=9; i++) { // i 줄 실행
  for(j=1; j<=9;j++) { // j 열 실행
// 예시) 1줄 9칸을 채운 후 2줄 9칸 실행 
  printf("%d\t", i * j); // i 줄 * j열 실행 예시) 1*1, 1*2, 1*3.... 1*9 / i 줄 증가 후 2*1, 2*2, 2*3... 2*9 
}
printf("\n");
}
return 0;
}

 

반복문6

 

  • 정 피라미드 기초예시
#include <stdio.h>
int main(void)
{
int ap, i, j;
printf("원하는 피라미드의 층수를 입력하세요!: ");
scanf("%d", &ap); // 원하는 피라미드 층 수 입력하기
for(i = 1; i <= ap; i++) { // i 줄 실행 예시) 1부터 i가 10이 될 때까지 1씩 증가
for(j = 1; j <= ap - i; j++) { // j열 i 수만큼 빼고 공백 인쇄
printf(" ");
}
for(j = 1; j <= (2 * i - 1); j++) { // 별 출력
printf("*"); //  예시) i 가 1일 때 2*1-1 = 1개의 별이 첫 줄에 인쇄
}
printf("\n");
}
return 0;
}

반복문6

 

  • 역 피라미드 기초예시
#include<stdio.h>
int main(void)
{
int ap, i, j;
printf("원하는 역피라미드의 층수를 입력하세요!: ");
scanf("%d", &ap);
for(i = ap; i >= 1; i--) // i 줄 실행 예시) 10부터 i가 1 이상될 때까지 1씩 감소
for(j = 1; j <= ap - i; j++) { // 공백 출력
printf(" "); // 예시) 10부터 시작 첫 줄 공백 없음
}
for(j = 1; j <= (2 * i - 1); j++) { // 별 출력
printf("*"); // 예시) i가 10일 때 2*10-1 = 19개의 별이 첫 줄에 인쇄
}
printf("\n");
}
return 0;
}

반복문7

 

감사합니다