if, else 조건문
if 조건문은 주어진 조건이 참(true)인지 거짓(false)인지를 평가하여, 참일 경우에만 지정된 코드 블록을 실행합니다. else 부분은 선택적으로 사용되며, if 조건이 거짓일 경우 실행됩니다. else if를 사용하여 여러 조건을 연속적으로 검사할 수 있습니다.
예시:
if (조건) {
// 조건이 참일 때 실행될 코드
} else if (다른 조건) {
// 다른 조건이 참일 때 실행될 코드
} else {
// 모든 조건이 거짓일 때 실행될 코드
}
switch 조건문
switch 조건문은 변수나 표현식의 값에 따라 여러 분기로 나누어 실행할 수 있습니다. 각 분기는 case 키워드로 표시되며, switch 표현식의 결과와 일치하는 case 블록이 실행됩니다. 모든 경우에 해당하지 않을 때 실행될 기본 블록으로 default를 사용할 수 있습니다. 각 case의 끝에는 break를 사용하여 switch 문을 종료합니다.
예시:
switch (변수) {
case 값1:
// 변수가 값1과 일치할 때 실행될 코드
break;
case 값2:
// 변수가 값2와 일치할 때 실행될 코드
break;
default:
// 어떤 case에도 해당하지 않을 때 실행될 코드
}
for, while, do-while 반복문
for 반복문
for 반복문은 초기화, 조건 검사, 증감(또는 감소)의 세 부분으로 구성되며, 조건이 참인 동안 코드 블록을 반복적으로 실행합니다.
예시:
for (초기화; 조건; 증감) {
// 조건이 참인 동안 반복 실행될 코드
}
while 반복문
while 반복문은 조건이 참인 동안 코드 블록을 반복하여 실행합니다. 조건은 반복문의 시작 부분에서 평가됩니다.
예시:
while (조건) {
// 조건이 참인 동안 반복 실행될 코드
}
do-while 반복문
do-while 반복문은 조건을 검사하기 전에 코드 블록을 최소 한 번 실행합니다. 이후 조건이 참인 동안 코드 블록을 반복 실행합니다.
예시:
do {
// 조건 검사 전에 최소 한 번 실행될 코드
} while (조건);
함수와 범위
함수는 특정 작업을 수행하는 코드의 묶음으로, 입력(매개변수)을 받아 처리하고 결과(반환값)를 반환할 수 있습니다. 함수를 사용하면 코드의 재사용성과 모듈성이 향상됩니다.
예시:
반환형 함수이름(매개변수 타입 매개변수명, ...) {
// 함수가 수행할 코드
return 반환값;
}
변수의 범위: 변수에는 주로 두 가지 범위가 있습니다.
지역 변수: 함수 내부에서 선언되며, 함수 내에서만 접근할 수 있습니다. 함수 호출 시 생성되고 함수가 종료되면 소멸합니다.
전역 변수: 함수 외부에서 선언되며, 프로그램의 어느 부분에서나 접근할 수 있습니다. 프로그램 실행 시 생성되고 프로그램이 종료될 때 소멸합니다.
함수와 변수의 범위를 이해하는 것은 프로그램의 구조를 설계하고 오류를 방지하는 데 중요합니다.
함수의 정의와 호출
함수는 일련의 코드를 묶어서 특정 작업을 수행하는 코드의 집합으로, 함수를 정의할 때는 반환할 데이터의 타입, 함수의 이름, 매개변수 목록을 지정해야 합니다. 함수는 필요할 때 호출되어 실행되며, 호출 시에는 함수 이름과 괄호 내에 인자를 전달합니다.
정의 :
int add(int a, int b) {
return a + b;
}
호출 :
int result = add(5, 3); // result 변수에는 8이 저장됩니다.
매개변수와 반환값
매개변수(Parameter): 함수가 호출될 때 외부에서 받아오는 값들입니다. 함수 내부에서는 이 매개변수를 통해 전달받은 값을 사용할 수 있습니다.
반환값(Return Value): 함수의 실행 결과를 호출한 위치로 돌려주는 값입니다. 반환값의 타입은 함수 정의 시 지정되며, return 문을 사용하여 반환값을 지정합니다. 반환값이 없는 경우, 함수 타입은 void가 됩니다.
지역변수와 전역변수
지역변수(Local Variable): 함수 내부에서 선언되고, 오직 그 함수 내부에서만 접근 가능한 변수입니다. 함수가 호출될 때 생성되고 함수가 종료되면 사라집니다.
전역변수(Global Variable): 함수 외부에서 선언되며, 프로그램의 모든 부분에서 접근할 수 있는 변수입니다. 프로그램이 시작될 때 생성되고 프로그램이 종료될 때까지 유지됩니다.
예시:
int globalVar = 20; // 전역 변수
void exampleFunction() {
int localVar = 10; // 지역 변수
// 이 함수 내에서는 localVar와 globalVar 모두 접근 가능
}
// 다른 함수에서는 localVar에 접근할 수 없지만, globalVar에는 접근할 수 있음
포인터와 배열
포인터(Pointer): 메모리 주소를 저장하는 변수입니다. 포인터를 통해 메모리의 특정 위치를 가리키고, 그 위치에 저장된 값을 읽거나 수정할 수 있습니다. 포인터는 동적 메모리 할당, 배열과 함수의 인자 전달 등 다양한 상황에서 사용됩니다.
포인터 예시:
int var = 10;
int *ptr = &var; // ptr은 var의 메모리 주소를 가리킵니다.
배열(Array): 동일한 타입의 여러 변수를 연속된 메모리 공간에 저장하기 위한 자료구조입니다. 배열의 각 요소는 인덱스를 통해 접근할 수 있습니다. C언어에서 배열의 이름은 배열의 첫 번째 요소를 가리키는 포인터로 사용될 수 있습니다.
배열 예시:
int arr[5] = {1, 2, 3, 4, 5}; // 5개의 정수를 저장할 수 있는 배열 선언 및 초기화
int *ptr = arr; // ptr은 배열 arr의 첫 번째 요소를 가리킵니다.
포인터와 배열은 C언어에서 중요한 개념으로, 특히 메모리 접근 및 관리, 데이터 구조 작업을 할 때 필수적으로 이해해야 하는 주제입니다. 포인터를 사용하면 메모리의 특정 위치를 직접 조작할 수 있기 때문에, 프로그램의 효율성과 유연성을 크게 향상시킬 수 있습니다.
'컴퓨터공학' 카테고리의 다른 글
개발자가 되기 위해서는 (0) | 2024.03.17 |
---|---|
네트워크 엔지니어가 되기 위해서 (0) | 2024.03.17 |
[운] C언어란? (0) | 2024.03.13 |
[운] 비트코인이란 (0) | 2024.03.10 |
[운] 블록체인에 대하여_2 (0) | 2024.03.09 |