디자인을 공부하던 문예창작학과 학생의 컴퓨터공학과 전과...
전과자의 코딩 공부... 시작합니다
Hello, World!부터 시작해서 변수, 자료형, sizeof 연산자와 형변환, 입력 받기, char형과 ASCII 코드까지 공부 후 처음으로 문제를 풀어보았는데요...
1. 두 숫자를 입력받아서 그 숫자들의 합을 출력하는 프로그램을 만들어 보세요.
#include <stdio.h>
int main() {
int a; int b;
printf("두 숫자를 입력하세요.\n");
scanf_s("%d %d", &a, &b);
printf("%d", a + b);
}
2. 체중(kg, 실수)과 키(m, 실수)를 입력받아서 체질량 지수를 구하는 프로그램을 만들어 보세요.
#include <stdio.h>
int main() {
float weight;
float height;
printf("체중 입력(kg) : ");
scanf_s("%f", &weight);
printf("키 입력(m) : ");
scanf_s("%f", &height);
printf("BMI : %f", weight / (height * height));
}
3. 알파벳을 입력받아서 그 다음 알파벳을 출력하는 프로그램을 만들어 보세요. (Z 제외)
#include <stdio.h>
/*int main() {
char a;
printf("알파벳 입력(Z 제외) : ");
scanf_s("%c", &a);
int b = a + 1;
printf("다음 알파벳 : %c\n", b, b);
}*/
int main() {
char alpabet;
scanf_s("%c", &alpabet);
char nextalpabet = alpabet + 1;
printf("%c", nextalpabet);
}
3번은 풀이가 두 개...
여기서부터는 배우면서 예제 풀어 본 내용
// 산술연산자 : 수학적인 연산
// + - * / % =
// += -= *= /= %=
// ++ --
#include <stdio.h>
int main() {
int a = 5;
printf("a는 원래 %d였다...\n", a);
a = a + 3; // = : 대입 연산
printf("3을 더했더니 %d가 됐다...\n", a);
// += -= *= /= %=
#include <stdio.h>
int main() {
int a = 5;
a += 6; // a = a + 6;과 같다
a *= 7; // a = a * 7;
a -= 6; // a = a - 6;
a %= 7; // a = a % 7;
printf("%d\n", a);
}
// ++ --
#include <stdio.h>
int main() {
int a = 10;
printf("원래 a는 %d이었다...\n", a);
a++; // a = a + 1
// a += 1;
printf("1 증가해서 %d이 됐다...\n", a);
a--; // a = a - 1
// a -= 1;
printf("1 감소해서 %d이 됐다...\n", a);
}
// 전치와 후치
#include <stdio.h>
// 전치
/*int main() {
int a = 10;
int b;
printf("=== 전치 증가 연산 ===\n");
b = ++a; // a에 먼저 1을 증가시키고, b에 a를 대입해라
printf("a : %d\n", a);
printf("b : %d\n", b);
}*/
// 후치
int main() {
int a = 10;
int b;
printf("=== 후치 증가 연산===\n");
b = a++; // b에 먼저 a 값을 저장하고, a에 1을 증가시켜라
printf("a : %d\n", a);
printf("b : %d\n", b);
}
// 비교 연산자, 논리 연산자
#include <stdio.h>
int main() {
int a, b;
scanf_s("%d%d", &a, &b);
// bool : 진리값 저장용 변수 (1바이트)
bool p = a > b;
bool q = a < b;
bool r = a == b; // == : 같다
// a >= b : a는 b보다 크거나 같다
// a <= b : a는 b보다 작거나 같다
// a != b : a는 b가 아니다
printf("%d\n", p);
printf("%d\n", q);
printf("%d\n", r);
// 2 > 3 = 거짓
// 참: 1, 거짓: 0
}
// 논리 연산자 (그리고, 또는...)
// && : 그리고
// || : 또는
// ! : ~가 아니다 (참을 거짓으로, 거짓을 참으로 바꿔주는 연산자)
#include <stdio.h>
int main() {
int a;
scanf_s("%d", &a);
bool p = (a >= 1) && (a <= 10); // 1 <= a <= 10과 같은 의미
bool q = a == 3 || a == 7;
bool r = !q;
printf("%d\n", p);
printf("%d\n", q);
printf("%d\n", r);
}
#include <stdio.h>
int main() {
int n;
scanf_s("%d", &n);
if (n % 2 == 0) {
printf("n은 짝수\n");
}
else {
printf("n은 홀수\n");
}
}
#include <stdio.h>
int main() {
// 참: 1, 거짓: 0
if (0) {
printf("***\n");
}
else {
printf("$$$\n");
}
}
#include <stdio.h>
int main() {
int n;
scanf_s("%d", &n);
if (n > 0) {
printf("n은 양수\n");
}
else if (n == 0) {
printf("n은 0\n");
}
else if (n == -7) {
printf("n은 -7\n");
}
else {
printf("n은 -7이 아닌 음수\n");
}
}
// 중첩 if문
// 중괄호 코딩 스타일
#include <stdio.h>
int main() {
int a, b, c;
scanf_s("%d%d%d", &a, &b, &c);
if (a > b) {
// a > b > c
// a > c > b
// c > a > b
if (a > c)
printf("%d\n", a);
else // c > a
printf("%d\n", c);
}
else { // b > a
if (b > c)
printf("%d\n", b);
else // c > b
printf("%d\n", c);
}
}
// switch
#include <stdio.h>
int main() {
int choice;
makeChoice:
printf("새 게임 : 1\n");
printf("불러오기 : 2\n");
printf("설정 : 3\n");
printf("크레딧 : 4\n");
scanf_s("%d", &choice);
switch (choice) {
case 1:
printf("새 게임을 시작합니다.\n");
break;
case 2:
printf("저장한 파일을 불러옵니다.\n");
break;
case 3:
printf("설정을 변경합니다.\n");
break;
case 4:
printf("크레딧\n");
break;
default:
printf("잘못 입력하셨습니다.\n");
// go to
goto makeChoice;
break;
}
}
#include <stdio.h>
int main() {
int i = 1;
repeat:
printf("%d\n", i);
if (i < 10) {
i++;
goto repeat;
}
}
#include <stdio.h>
int main() {
int i = 1;
while (i <= 10) {
printf("%d\n", i);
i++;
}
}
[do-while]
#include <stdio.h>
int main() {
int i = 14;
do {
printf("%d\n", i);
i++;
} while (i <= 10);
}
[무한 반복(true)]
#include <stdio.h>
int main() {
int i = 1;
while (true) {
printf("%d ", i);
i++;
}
}
[응용 예제]
0을 입력할 때까지 반복해서 제발 0을 입력해 달라고 말하고, 입력하면 감사합니다!!!! 라는 문장이 나오는 프로그램
#include <stdio.h>
int main() {
int n;
do {
printf("제발 0을 입력해 주세요 ㅠㅠ\n");
scanf_s("%d", &n);
} while (n != 0);
printf("감사합니다!!!!\n");
}
#include <stdio.h>
int main() {
int i;
for (i = 1; i <= 10; i++) {
printf("%d\n", i);
}
}
#include <stdio.h>
int main() {
int n;
scanf_s("%d", &n);
for (int i = 1; i <= n; i *= 2) {
printf("%d\n", i);
}
}
#include <stdio.h>
int main() {
// 1~n까지 숫자의 합을 출력
int n;
scanf_s("%d", &n);
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += i;
}
printf("%d\n", sum);
}
#include <stdio.h>
int main() {
int n;
scanf_s("%d", &n);
for (int i = 1; i <= n; i++) {
printf("*");
}
}
여기까지 1일차였습니다...