Notice
Recent Posts
Recent Comments
Link
Hugh_휴 님의 블로그
C언어 코드 공부2(while, do_while, star) 본문
어렵다..
“While2.c” - 얍삽이(결과만 맞으면 돼…. 그래도 while 써보자.)

#include <stdio.h> //stdio.h - 헤더 이름. printf를 쓰기 위해 필요함.
int main(void)//int(integer): 결과값을 정수로 돌려준다는 이야기. main: 1개만 있어야 하고, 시작하는 곳.
//void: 빈공간을 뜻하는데, 프로그램 시작 시 외부에서 전달받는 재료가 없다는 이야기.
{
int num1; //어느 수가 들어올지 모르겠지만, 숫자 넣을 수 있는 공간
int num2 = 14;//20을 넣었을 때, 결과값을 6으로 받기 위해 만든 것.
{
printf("숫자를 입력하시오 : ");//결과창에 문자가 나올 수 있게 ""안에 내용 작성함.
scanf("%d", &num1);//사용자의 입력을 받아 num1의 위치에 뭐가 들었는지 표현하기 위해 &을 쓴다. scanf 함수와 같이 쓴다.
printf("%d", num1-num2);//사용자가 앞서 입력한 수와 지정한 수를 빼준다.
scanf("%d - %d = %d\n", num1, num2, num1 - num2);//빼기를 한 결과값을 보여준다.
}
return 0;//종료신호.
}
<용어>
scanf: ("형식 지정자", &변수명);
“While2.c” - 다시 도전(책만 보고 while문 사용 완성)

#include <stdio.h>
int main(void)
{
int value = 20; //While 초기값. while문 반복을 통해 점점 줄어든다.
int result; //최종 결과값.
printf("숫자를 입력하시오 : ");//문자 입력.
scanf("%d", &value);//사용자의 입력을 받아 value의 위치에 뭐가 들었는지 표현하기 위해 &을 쓴다.
while(value>6)//조건문. 6보다 큰 놈들만 통과 가능.
{
--value;//변화조건. -1씩 줄어드는 걸 반복한다. 위에서 7에서 걸릴 예정.
}
result = value;//마지막 반복 결과값을 받기 위한 조건.
printf("%d\n", result);//결과 출력.
return 0;//종료신호.
}
“While2.c” - 책보고 완료

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int number, count=1, result=1;//number: 반복문을 멈춰줄 숫자. count: 더해줄 숫자 result: 지금까지 더한 합계
printf("숫자를 입력하시오 : ");
scanf("%d", &number);
while (result < number)
{
++count;//다음 수로 넘어가기 = +1
result +=count;//새로운 숫자를 지금까지의 합에 보태자
}
printf("정답: %d\n", count);
return 0;
}
“While3.c”(해설 보니 이해됨)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int number = 0;//아무값도 안넣으면 쓰레기값이 들어갈 수 있어 0을 넣어줌.
while(number>=0)//while 조건문.0이랑 같거나 크면 계속 반복하겠다는 조건.
{
printf("숫자를 입력하시오 : ");
scanf("%d", &number);
if(number<0) break;//만약 사용자가 0보다 작은 값을 넣게 된다면 반복문 끝.
printf("입력한 숫자는 %d입니다.\n", number);
}
return 0;
}
<용어>
while문이 조건이 맞을 때까지 반복, if문은 조건이 맞을 때 딱 한 번 ****실행
“do_while2.c”(조금 이해됨)

이걸 아래와 같이 바꿨다.
while 문은 초기식 → 조건식 → 반복 실행 명령문 → 조건식 결과 변경 명령문
do_while문은 초기식→ 반복 실행 명령문 → 조건식 결과 변경 명령문 → 조건식
위치를 바꿔주면 된다.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int cnt =0, sum =0;//cnt:짝수가 몇개인지 센다. sum: 합계
int num, avg;//num: 입력할 수 담을 공간. avg: 나중에 계산할 평균값.
do
{
printf("정수를 입력하시오 : ");
scanf("%d", &num);
if(num == 0) break;//만약 입력한 수가 0과 같다면 반복 끝.
if(num % 2 ==1) continue;//만약 입력값에 2를 나눈 나머지가 1과 같다면 계속해서 반복.
sum += num;//sum = sum+num
cnt++;//+1 증가
} while (1);
avg = sum /cnt;//합계 나누기 짝수 갯수.
printf("입력된 짝수의 개수는 모두 %d개 입니다\n", cnt);
printf("입력된 짝수의 합계는 %d이고 평균은 %d입니다\n", sum, avg);
return 0;
}
“gugudan1.c”(조금 이해됨)

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int number;//구구단 몇단을 보고 싶은지 정함. 입력한 숫자 저장.
int i;//반복 횟수 세는 역할.
printf("숫자를 입력하시오 : ");
scanf("%d", &number);
for(i=1; i<10; i++)
//순서대로 초기식(1), 조건식(2), 증감식(3). 초기식은 딱 한번만 실행.
//조건식은 참이면 아래로 내려감. 증감식은 내용 실행 후에 증감을 적용함.
//아래 내용이 (4)번이라면 작동 순서는 1-2-4-3-2-4-3...
{
printf("%d*%d = %d\n", number, i, number*i);//입력한 숫자, 계속 변하는 숫자, 계산 결과.
}
return 0;
}
“star1.c”(이해 조금 되나 직접 만들지 못함;)

#include <stdio.h>
int main(void)
{
int i, j, k;//i는 몇번째 줄인지 보여줌, j는 공백, j는 별의 몇개 놓을지 정하는 것.
// i는 줄 번호이자 그 줄에 찍을 '별의 개수'입니다. (10부터 1까지)
for (i = 10; i >= 1; i--)
{
// 1. 공백 출력: 줄이 내려갈수록 공백이 하나씩 늘어납니다.
for (k = 1; k <= 10 - i; k++)//*만들기 전 공백 몇개 만들지 알려주는 값.
{
printf(" ");
}
// 2. 별 출력: i가 10일 땐 10개, 9일 땐 9개... i만큼 찍습니다.
for (j = 1; j <= i; j++)//
{
printf("*");//별 출력
}
printf("\n"); // 줄바꿈
}
return 0;
}
직접 만들지 못해서 제미나이 이용..

#include <stdio.h>
int main(void)
{
int i, j, k;
// 1. i는 10부터 1까지 줄어듭니다 (총 10줄)
for(i = 10; i >= 1; i--)
{
// 2. 먼저 공백을 찍습니다 (줄어드는 i에 맞춰 공백은 늘어남)
for(j = 1; j <= 10 - i; j++)
{
printf(" ");
}
// 3. 그다음에 별을 찍습니다 (i의 개수만큼)
// 별 뒤에 공백을 하나 추가(" *")하면 균형 잡힌 모양이 됩니다!
for(k = 1; k <= i; k++)
{
printf("* ");
}
// 4. 한 줄 끝났으니 줄바꿈
printf("\n");
}
return 0;
}
<실패의 흔적>

'실습 연습' 카테고리의 다른 글
| 파이썬 함수 연습(문제 포함)(난이도 0-3) (0) | 2026.04.09 |
|---|---|
| C언어 코드 공부3(if문, switch문, 가위바위보) (0) | 2026.04.03 |
| C언어 코드 공부1 (0) | 2026.04.02 |
| [실습] 우분투 인프라 구성 실습 Log 서버 구성 (0) | 2026.03.27 |
| [실습] 우분투 인프라 구성 실습 DB Backup Server 구성 (0) | 2026.03.27 |