본문 바로가기
728x90

프로그래밍/C19

여러 가지 함수 유형 목차매개변수가 없는 함수반환값이 없는 함수매개변수와 반환값 모두 없는 함수재귀 호출 함수 1. 매개변수가 없는 함수함수의 원형은 반환형 함수명(매개변수)의 형입니다.하지만 int main()처럼 매개변수가 없는 함수도 존재하죠. 뭐, 이전에 설명할 때 int main()과 int main(void)를 바꿔서 쓸 수 있지만, 문법적으로 C에서 ()은 인자 미정이라는 상태에요.즉, 받을 수도 안 받을 수도 있다는 거죠. 그리고 구식이고요. 반대로 int main(void)는 인자를 안 받음, 즉 매개변수가 없음을 의미해요. 코딩을 엄격하게 하기 위해서는 이게 좋아요.함수를 선언할 때도 앞으로는 int sum(void)식으로 선언할 거니까 알아주세요. 이전에 함수를 만들 때에는 매개변수를 받았지만, 그냥 함수.. 2025. 4. 23.
함수의 작성과 사용 목차함수의 정의함수의 선언과 정의, 호출과 반환 1. 함수의 정의그동안은 main 함수 하나로 프로그램을 만들었습니다.하지만 그러다보니 문제가 있어요. main함수가 너무 대책없이 길어집니다.프로그램의 전체 기능을 쪼개서 실행시켜 보죠. 기본적으로, 함수를 만드는 방법은 main함수를 만드는 방법과 별로 다르지 않아요.main 함수의 기본 구조가int main(){ return 0;}인 걸 기억하시나요? int main()은 다음과 같은 뜻입니다.main을 실행하기 위해 변수 ()을 받는다.출력은 int값으로 출력한다.주구장창 나오던 return 0;의 정체가 드러납니다. 함수의 결과를 출력하는 것이죠.사실 C99 이후로는 저걸 안 넣어도 되긴 하는데, 사용해야 하는 곳이 있을 수도 있으므로 넣어주.. 2025. 4. 23.
연산자 - 예제 모음 목차실수 합산하기내신 계산기얼마나 가득 찬 거지?9와 3/4 시간 1. 실수 합산하기흠, 실수 2.48과 실수 1.50을 가지고 사칙연산을 해봅시다.값은 소수점 둘째 자리까지 출력하세요.float도 좋지만, 여기서는 double를 사용해 주세요. 입력없음 출력2.48 + 1.50 = 3.98 2.48 - 1.50 = 0.98 2.48 * 1.50 = 3.72 2.48 / 1.50 = 1.65정답은.. 다음과 같아요.#include int main(){ double a = 2.48; double b = 1.50; printf("%.2lf + %.2lf = %.2lf\n", a, b, a + b); printf("%.2lf - %.2lf = %.2lf\n", a, b, a - b); printf("%.2lf.. 2025. 4. 20.
반복문 - 예제 모음 목차기초적인 "반복문" 입니다만구구단을 외우자나와라 X자소수 구하기아니 내 문자열이 1. 기초적인 "반복문" 입니다만반복문을 이용해 화면에 @를 입력받은 숫자만큼 출력하는 프로그램을 만들어 봅시다.for문이든 while문이든 상관없어요. 입력반복 횟수를 입력하세요 : 66 출력@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@정답은.. 다음과 같아요.#define _CRT_SECURE_NO_WARNINGS#include int main(){ int stats = 0; int i; printf("반복 횟수를 입력하세요 : "); scanf("%d", &stats); for (i = 1; i i가 선언만 되었지 초기화가 안 되어 있는데, 이.. 2025. 4. 18.
선택문 - 예제 모음 목차사이즈는 얼마?계산기 업그레이드정상 혈압 수치BMI 계산기계산기 업그레이드 업그레이드 1. 사이즈는 얼마?흠, 상의는 가슴둘레 기준으로 90,95,100,105를 S, M, L, XL로 나눠요.한번 scanf로 이걸 받고 if문으로 분류해서 출력해 봅시다. 입력가슴둘레를 입력하세요 : 98 출력크기는 100(L) 입니다.정답은.. 다음과 같아요.#define _CRT_SECURE_NO_WARNINGS#include int main(){ int chest = 0; printf("가슴둘레를 입력하세요 : "); scanf("%d", &chest); if (chest 당연하게도 scanf에 다른 숫자를 입력하면 다른 결과가 나올거에요. 2. 계산기 업그레이드변수 a와 b, 그리고 출력으로 사용할 resul.. 2025. 4. 18.
변수와 데이터 입력 - 예제 모음 목차변수 합산사칙연산 업그레이드과목 평균값 구하기과일 주세요!아스키코드는 몇 번? 1. 변수 합산변수 a를 선언하고 0으로 초기화한 뒤, 처음에는 a에 1을 더하고, 두 번째로는 a에 2를 더하고, 세 번째로는 a에 3을 더한 뒤 출력하세요. 입력없음 출력a = 6정답은.. 다음과 같아요.#include int main(){ int a = 0; a = a + 1; a = a + 2; a = a + 3; printf("a = %d", a); return 0;}물론 a = a + 1 말고 a += 1을 사용해도 상관없어요. 하지만 그건 아직 안 배웠기 때문에.. 2. 사칙연산 업그레이드변수 a와 b, 그리고 출력으로 사용할 resule 변수를 선언하고 사칙연산을 처리해서 출력해 보세요.까지는 이전과 동일하지.. 2025. 4. 18.
상수와 데이터 출력 - 예제 모음 목차사칙연산실수 나누기제어 문자인적사항 출력 1. 사칙연산 음, 프로그래밍을 할 때 무엇보다 중요한 것이 있다면 바로 실습이에요.원래 접은글로 모아둘려고 했는데... 코드블럭에는 접은글이 안 먹히더라고요. 바로 한번 해 보죠. 50과 20으로 사칙연산을 처리해서 출력해 보세요. 입력없음 출력50 + 20 = 7050 - 20 = 3050 * 20 = 100050 / 20 = 2정답은.. 다음과 같아요.#include int main(){ printf("%d + %d = %d\n", 50, 20, 50 + 20); printf("%d - %d = %d\n", 50, 20, 50 - 20); printf("%d * %d = %d\n", 50, 20, 50 * 20); printf("%d / %d = %d\n.. 2025. 4. 18.
중첩 반복문과 반복문 탈출 목차중첩 반복문반복문 탈출continue 분기문 1. 중첩 반복문흠, 심심한데 별(*)로 나무나 그려 보죠.가볍게 5줄짜리로 그려봅시다.***************한번 이렇게 그려보세요. 다 그리셧나요?#include int main(){ printf("*\n"); printf("**\n"); printf("***\n"); printf("****\n"); printf("*****\n"); return 0;}음... 아니, 물론 이건 잘못된 건 아니에요. 오히려 이렇게 짧을 경우에는 저렇게 짜는게 좋아요.하지만 나무가 50줄을 넘어간다면..?500줄은? 5000줄은? 50000줄은... 아무튼, 이런 경우의 수를 위해 for문을 사용하는거에요.한번 만들어보죠.#define _CRT_SECURE_NO_WAR.. 2025. 4. 18.
while문, for문, do ~ while문 목차while문for문do ~ while문 1. while문일정 조건을 만족하는 동안 계속 돌아가는 것이 반복문이에요.구조에 따라 세 가지로 쪼갤 수 있는데, 문장 바로 옆에 조건식이 위치하는 for문과 while문문장의 맨 끝에 조건식이 위치하는 do ~ while문이죠. for문은 while문으로, while문은 for문으로 치환할 수 있어요. 일단 while문의 기본 구조에 대해 알아보죠.while (조건식){ 실행문;}처럼 생겼어요. 바로 한번 써볼까요#define _CRT_SECURE_NO_WARNINGS#include int main(){ int a = 1; int sum = 0; printf("종료하려면 0을 입력합니다.\n"); while (a != 0) //.. 2025. 4. 18.
switch ~ case문 목차중첩 if문break 명령어switch ~ case문 1. 중첩 if문흠, 가끔 필요에 따라 중첩 if문이 필요한 경우가 있어요.물론 중첩 if문은 if ~ else if ~ else문으로 바꿔 쓸 수도 있는데(본질적으로 if문 중첩과 else if문은 동일하기 때문)아무튼, 한번 만들어보죠.#define _CRT_SECURE_NO_WARNINGS#include int main(){ int stats = 0; printf("점수를 입력하세요: "); scanf("%d", &stats); if (90 자, 이렇게 만들 수 있습니다.일부러 else if문을 안 썼는데..여러 값을 입력해보죠. 만약 점수가 0 ~ 90일 경우점수를 입력하세요: 86 등록에 실패하셧네요... 만약 점수가 91 ~ 95일 경우.. 2025. 4. 18.
if문 목차if문의 기본 형식if ~ else 문if ~ else if ~else 문 1. if문의 기본 형식지금까지의 프로그래밍은 순차적이었어요.변수를 선언하고, 변수에 대입하고, 변수를 계산하고, 변수를 출력했죠. 하지만.. 조건에 따라 몇몇 과정이 생략되어야한다면 어떨까요?그럴 때 필요한 것이 제어문이에요.제어문은 세 가지로 나누어지는데..1. 선택문 ( if , switch ~ case )2. 반복문 ( for, while , do ~ while )3. 분기문 ( break, continue, goto, return )일단 if부터 알아보죠. 바깥을 보세요, 날씨가 맑은가요? 아니면 비가 오나요?만약 날씨가 맑다면 그냥 나가고, 그렇지 않는다면 우산을 챙겨서 나갈 거에요.이러한 조건문이 바로 if문이에.. 2025. 4. 18.
그 외 연산자 목차형 변환 연산자sizeof 연산자복합대입 연산자콤마 연산자조건 연산자비트 연산자연산자 우선순위 1. 형 변환 연산자여기서 배울 연산자들은 좀 특이하게 생겼습니다.근데 없으면 좀 답답하니, 알아두셔야해요.아니 그냥 알아두세요 형 변환 연산자는 피연산자의 값을 원하는대로 바꿉니다. 정수를 실수로, 실수를 정수로, 정수를 문자로.. 말이죠.예를 들어 볼까요? int a = 10; 이라고 해 봅시다. 그러면 이 a 는 10입니다. 그리고 정수죠.하지만 나는 저걸 실수로 쓰고 싶어요!그러면 (float)a 처럼 사용하시면 됩니다. 다른걸 바꾸고 싶으시다면 (변환자)변수 로 쓰시면 됩니다. 여담으로, 정수를 실수로 바꾸는 경우에는 뒤에 .0이 붙고.실수를 정수로 바꾸는 경우에는 소수점 뒤가 그냥 잘린다는 사실 .. 2025. 4. 16.
728x90