1.1 산술 연산자
산술 연산자는 기본적인 수학 연산을 수행합니다.
+: 더하기
-: 빼기
*: 곱하기
/: 나누기
%: 나머지
#include <stdio.h>
int main() {
int a = 10, b = 3;
printf("덧셈: %d\n", a + b);
printf("뺄셈: %d\n", a - b);
printf("곱셈: %d\n", a * b);
printf("나누기: %d\n", a / b);
printf("나머지: %d\n", a % b);
return 0;
}
1.2 관계 연산자
관계 연산자는 두 값을 비교하여 결과를 true(1) 또는 false(0)로 반환합니다.
==: 같음
!=: 다름
: 큼
<: 작음
=: 크거나 같음
<=: 작거나 같음
#include <stdio.h>
int main() {
int a = 10, b = 5;
printf("a == b: %d\n", a == b);
printf("a != b: %d\n", a != b);
printf("a > b: %d\n", a > b);
return 0;
}
1.3 논리 연산자
논리 연산자는 주로 조건문에서 사용되며, 두 조건을 결합하거나 부정합니다.
&&: AND
||: OR
!: NOT
#include <stdio.h>
int main() {
int a = 10, b = 5;
if (a > 5 && b < 10) {
printf("둘 다 참입니다.\n");
}
if (a > 5 || b > 10) {
printf("하나라도 참입니다.\n");
}
if (!(a < 5)) {
printf("a는 5보다 큽니다.\n");
}
return 0;
}
2.1 if, else, else if 문
if: 조건이 참이면 코드 블록 실행
else: 조건이 거짓이면 코드 블록 실행
else if: 다른 조건들을 차례대로 확인
#include <stdio.h>
int main() {
int score;
printf("점수를 입력하세요: ");
scanf("%d", &score);
if (score >= 90) {
printf("A학점\n");
} else if (score >= 80) {
printf("B학점\n");
} else if (score >= 70) {
printf("C학점\n");
} else {
printf("F학점\n");
}
return 0;
}
2.2 switch 문
switch 문은 여러 개의 조건을 비교할 때 유용합니다.
#include <stdio.h>
int main() {
int menu;
printf("메뉴를 선택하세요 (1: 시작, 2: 종료): ");
scanf("%d", &menu);
switch(menu) {
case 1:
printf("시작합니다.\n");
break;
case 2:
printf("종료합니다.\n");
break;
default:
printf("잘못된 입력입니다.\n");
}
return 0;
}
1.1 for 반복문
for 문은 반복 횟수가 정해져 있을 때 유용합니다.
for (초기화; 조건; 증감) {
// 반복할 코드
}
#include <stdio.h>
int main() {
for (int i = 1; i <= 5; i++) {
printf("i: %d\n", i);
}
return 0;
}
1.2 while 반복문
while 문은 조건이 참일 때 계속 반복합니다.
while (조건) {
// 반복할 코드
}
#include <stdio.h>
int main() {
int i = 1;
while (i <= 5) {
printf("i: %d\n", i);
i++;
}
return 0;
}
1.3 do-while 반복문
do-while 문은 적어도 한 번은 실행된 후 조건을 확인하고 반복 여부를 결정합니다.
do {
// 반복할 코드
} while (조건);
#include <stdio.h>
int main() {
int i = 1;
do {
printf("i: %d\n", i);
i++;
} while (i <= 5);
return 0;
}
반복문 안에 또 다른 반복문을 사용하는 방법
#include <stdio.h>
int main() {
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
printf("i: %d, j: %d\n", i, j);
}
}
return 0;
}
3.1 break
break는 반복문을 즉시 종료시킵니다.
#include <stdio.h>
int main() {
for (int i = 1; i <= 10; i++) {
if (i == 5) {
break; // i가 5일 때 반복문 종료
}
printf("i: %d\n", i);
}
return 0;
}
3.2 continue
continue는 반복문 내에서 나머지 코드를 건너뛰고 다음 반복을 시작합니다.
#include <stdio.h>
int main() {
for (int i = 1; i <= 5; i++) {
if (i == 3) {
continue; // i가 3일 때는 출력하지 않고 다음 반복으로 넘어감
}
printf("i: %d\n", i);
}
return 0;
}
- 점수 → 학점 계산기
사용자로부터 점수를 입력받고, 해당 점수에 맞는 학점을 출력하는 프로그램을 작성하세요.
점수는 0~100 사이의 값이어야 하며, 조건은 아래와 같습니다.
90점 이상: A
80점 이상 90점 미만: B
70점 이상 80점 미만: C
60점 이상 70점 미만: D
60점 미만: F
2.구구단 출력 프로그램
- 구구단을 출력하는 프로그램을 추가했습니다. 사용자가 원하는 구구단을 출력하는 방식으로 진행할 수 있습니다.
- 별찍기
3.1 별 피라미드 출력
주어진 숫자만큼의 행을 출력하는 별 피라미드를 작성하세요.
예를 들어, 입력 값이 5일 때 출력은 다음과 같습니다:
* *** ***** ******* *********
3.2 가운데가 뚫린 피라미드
역 피라미드 모양으로 별을 출력하는 코드입니다.
예를 들어, 5행을 출력하려면 다음과 같습니다:
* * * * * * * *********
3.3 모래시계 출력
주어진 숫자만큼의 행을 출력하는 모래시계 모양을 출력하세요.
예를 들어, 입력 값이 5일 때 출력은 다음과 같습니다:
********* ******* ***** *** * *** ***** ******* *********
- 1부터 N까지의 숫자 합 구하기
- 사용자로부터 정수 N을 입력받고, 1부터 N까지의 모든 짝수와 홀수의 합을 각각 구하는 프로그램을 작성하세요.
- 예를 들어, N이 10이면, 짝수의 합은 2 + 4 + 6 + 8 + 10, 홀수의 합은 1 + 3 + 5 + 7 + 9입니다.
- 숫자 맞추기 게임
- 컴퓨터가 1부터 100까지의 랜덤 숫자를 생성합니다.
- 사용자에게 숫자를 입력받고, 맞춘 숫자를 출력할 때까지 반복문을 사용하여 숫자를 맞추는 게임을 작성하세요.
- 숫자 맞추기 게임에서, 각 입력에 대해 "작다", "크다"를 출력하여, 사용자가 목표 숫자를 찾도록 유도합니다.
- 목표 숫자는 컴퓨터가 랜덤으로 생성한 값이며, 반복문과 조건문을 사용해 숫자를 맞출 때까지 계속 입력을 받습니다.
random에 관한 코드입니다.
#include <stdlib.h> #include <time.h> int main() { int randomNum, guess, attempts = 0; // 난수 생성 초기화 srand(time(NULL)); randomNum = rand() % 100 + 1; // 1~100 사이의 랜덤 숫자 생성 printf("1부터 100까지의 숫자 중 하나를 맞춰보세요.\n"); return 0; }