프로그래밍에서 함수는 특정 작업을 수행하는 코드 블록입니다. 함수는 코드를재사용가능하게 하고,가독성을 높이며, 프로그램의 구조를 더 체계적으로 만듭니다.
C 언어에서 함수는 **입력(매개변수)**을 받아 **출력(반환값)**을 생성하며, 필요한 경우 아무 입력도 받지 않거나 아무 것도 반환하지 않을 수도 있습니다.
함수의 기본 구조
반환형 함수이름(매개변수) {
// 실행될 코드
return 반환값;
}
2. 기본 함수 사용해보기
C 언어에는printf,scanf같은 표준 라이브러리 함수가 있지만, 사용자 정의 함수를 직접 만들어 사용할 수도 있습니다.
예제: 간단한 덧셈 함수
#include <stdio.h>
// 함수 정의
int add(int a, int b) {
return a + b; // 두 숫자의 합 반환
}
int main() {
int x = 5, y = 10;
int result = add(x, y); // 함수 호출
printf("결과: %d\n", result);
return 0;
}
실행 결과 결과: 15
3. 함수의 구성 요소
반환형(Return Type) 함수가 반환하는 값의 데이터 타입입니다. 예를 들어,int,void,float등이 있습니다.
int: 정수 반환
void: 반환값이 없음
함수 이름(Function Name) 함수의 이름은 코드에서 호출될 때 사용됩니다. 변수 이름처럼 의미 있는 이름을 붙이는 것이 좋습니다.
매개변수(Parameter) 함수가 입력으로 받을 데이터입니다. 여러 개의 매개변수를 쉼표(,)로 구분할 수 있습니다.
함수 본문(Body) 함수가 실행하는 코드 블록입니다.
반환값(Return Value) 함수가 작업을 끝내고 호출한 곳으로 돌려주는 값입니다. 반환값이 없을 경우void를 사용합니다.
#include <stdio.h>
// 구구단 출력 함수
void printMultiplicationTable(int n) {
for (int i = 1; i <= 9; i++) {
printf("%d x %d = %d\n", n, i, n * i);
}
}
int main() {
int number;
printf("구구단을 출력할 숫자를 입력하세요: ");
scanf("%d", &number);
printMultiplicationTable(number); // 함수 호출
return 0;
}
실행 결과
구구단을 출력할 숫자를 입력하세요: 7
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
...
7 x 9 = 63
이번 강의에서는 C 언어에서 함수를 정의하고 사용하는 방법을 배웠습니다.
다음 강의에서는 **배열(Array)**과 함수의 연계를 통해 더욱 복잡한 프로그램을 작성해 보겠습니다.
지금까지 배운 내용을 활용하여 간단한 프로그램을 작성해 보세요! 독학의 핵심은직접 실행해 보는 것입니다. 😊
자료형에는 여러 종류가 있는데, 대표적으로 int (정수), float (실수), char (문자) 등이 있습니다.
프로그래밍에서 변수를 생각해볼 때, 우리는 그것을 데이터를 보관할 수 있는 상자로 비유할 수 있습니다. 마치 집에서 다양한 물건들을 보관하기 위해 서로 다른 크기와 형태의 상자들을 사용하는 것처럼, 프로그래밍에서도 데이터를 저장하기 위해 변수라는 '상자'를 사용합니다. C언어에서는 이 상자(변수)에 무엇을 담을지 결정하기 전에, 그 상자의 유형(자료형)을 명확히 해야 합니다. 이는 마치 우리가 물건을 담기 전에, 옷을 담을지, 책을 담을지, 신발을 담을지 상자의 용도를 정하는 것과 비슷합니다. 자료형이라는 것은, 단순히 상자의 크기나 모양을 정하는 것이 아니라, 그 안에 담길 '데이터의 종류'를 정하는 것입니다. 예를 들어, 'int'는 정수를 저장하는 상자로, 1, 2, 100과 같은 정수들을 보관할 때 사용합니다. 'float'는 소수점이 있는 숫자, 예를 들어 3.14나 0.5 같은 실수를 저장할 때 쓰이는 상자입니다. 'char'는 문자를 저장할 때 사용하는 상자로, 'A', 'b', '3' 같은 단일 문자를 보관하는 데 적합합니다. 이처럼 프로그래밍에서 변수와 자료형을 사용하는 것은, 우리가 일상에서 다양한 물건들을 보관하고 관리하기 위해 적절한 상자를 선택하는 과정과 매우 유사합니다.
변수란? 변수는 데이터를 저장하기 위한 공간의 이름입니다. 프로그램에서는 이 변수를 통해 데이터를 저장하고, 저장된 데이터를 추후에 참조하거나 변경할 수 있습니다. 간단히 말해서, 변수는 데이터를 담는 컨테이너라고 할 수 있습니다.
자료형이란? 자료형(Data Type)은 변수에 저장될 데이터의 종류를 정의합니다. 자료형에는 크게 기본 자료형과 파생 자료형이 있으며, 기본 자료형에는 정수형, 실수형, 문자형 등이 포함됩니다. 자료형은 프로그램이 효율적으로 데이터를 처리할 수 있도록 도와주며, 메모리 사용을 최적화하는 역할도 합니다.
변수 선언 변수 선언이란 프로그램에게 변수를 사용하기 위한 준비를 지시하는 것입니다. 변수 선언 시에는 변수의 이름과 자료형을 명시해야 합니다. 이 과정에서 변수에 저장될 데이터의 유형을 결정하게 되며, 이를 통해 컴파일러는 해당 변수에 메모리를 할당합니다.
변수 선언 방법
정수형 (int): 정수 값을 저장하는 데 사용됩니다. 예: int age = 30;
실수형 (float, double): 소수점을 포함하는 값을 저장하는 데 사용됩니다. 예: float salary = 4567.89;
문자형 (char): 단일 문자를 저장하는 데 사용됩니다. 예: char grade = 'A';
변수 선언 예제
int count; // 정수형 변수 count 선언
float temperature; // 실수형 변수 temperature 선언
char initial; // 문자형 변수 initial 선언
변수를 선언하는 동시에 초기값을 할당할 수도 있습니다. 초기값을 할당하는 것을 초기화라고 합니다.
int count = 10; // 정수형 변수 count를 선언하고 10으로 초기화
float temperature = 36.5; // 실수형 변수 temperature를 선언하고 36.5로 초기화
char initial = 'J'; // 문자형 변수 initial을 선언하고 'J'로 초기화
변수 이름 규칙
변수 이름을 지을 때는 다음과 같은 규칙을 따라야 합니다:
문자, 숫자, 밑줄 문자(_)를 포함할 수 있지만, 숫자로 시작할 수는 없습니다.
대소문자를 구분합니다. 예를 들어, age와 Age는 서로 다른 변수입니다.
예약어(키워드)를 사용할 수 없습니다. 예: int, return 등
연산자
연산자는 데이터를 가공하기 위한 기호입니다. C언어에서는 다양한 연산자를 제공하는데,
이를 적절히 활용하여 데이터를 처리할 수 있습니다.
대표적인 연산자로는 산술 연산자(+, -, *, /, %), 관계 연산자(==, !=, >, <, >=, <=),
논리 연산자(&&, ||, !) 등이 있습니다.
아래 예제들은 각각의 연산자가 어떻게 작동하는지 기본적인 이해를 돕기 위한 것입니다.
프로그래밍을 하면서 이러한 연산자들을 조합하고 응용하여 다양한 문제를 해결할 수 있습니다.
산술 연산자
산술 연산자는 수학적 계산을 위해 사용됩니다.
가장 기본적인 산술 연산자에는 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/), 나머지(%)가 있습니다.
#include <stdio.h>
int main() {
int a = 10, b = 3;
int result;
result = a + b;
printf("a + b = %d\n", result);
result = a - b;
printf("a - b = %d\n", result);
result = a * b;
printf("a * b = %d\n", result);
result = a / b;
printf("a / b = %d\n", result);
관계 연산자
관계 연산자는 두 값을 비교하는 데 사용됩니다.
여기에는 같음(==), 다름(!=), 크다(>), 작다(<), 크거나 같다(>=), 작거나 같다(<=) 등이 있습니다.
#include <stdio.h>
int main() {
int a = 5, b = 10;
printf("a == b: %d\n", a == b);
printf("a != b: %d\n", a != b);
printf("a > b: %d\n", a > b);
printf("a < b: %d\n", a < b);
printf("a >= b: %d\n", a >= b);
printf("a <= b: %d\n", a <= b);
return 0;
}
논리 연산자
논리 연산자는 논리적인 조합을 평가하는 데 사용됩니다.
주요 논리 연산자로는 논리적 AND(&&), 논리적 OR(||), 논리적 NOT(!)이 있습니다.
#include <stdio.h>
int main() {
int a = 1, b = 0;
printf("a && b: %d\n", a && b);
printf("a || b: %d\n", a || b);
printf("!a: %d\n", !a);
printf("!b: %d\n", !b);
return 0;
}
기본 입출력
C언어에서는 printf와 scanf 함수를 통해 기본적인 입출력을 수행할 수 있습니다.
printf 함수는 데이터를 화면에 출력하고, scanf 함수는 사용자로부터 입력을 받습니다.
#include <stdio.h>
int main() {
int number;
printf("숫자를 입력하세요: ");
scanf("%d", &number); // 사용자로부터 정수 입력 받기
printf("입력한 숫자는 %d입니다.\n", number);
return 0;
}
실습 예제: 기본적인 계산기 만들기 이제 배운 내용을 토대로 간단한 계산기를 만들어 보겠습니다. 이 계산기는 두 개의 정수를 입력받아 더하기, 빼기, 곱하기, 나누기의 결과를 보여줍니다.