본문 바로가기
반응형

서울사이버대학교109

재귀함수(Recursive Function) 재귀함수(Recursive Function)는 자기 자신을 호출하는 함수입니다. 이를 통해 하나의 큰 문제를 작은 문제로 분할하고, 이를 해결한 후 이를 합쳐서 큰 문제를 해결하는 방식으로 프로그램을 작성할 수 있습니다. C언어에서 재귀함수는 함수 내에서 자신을 호출하는 방식으로 구현할 수 있습니다. 재귀함수는 보통 하나 이상의 종료 조건(Base Case)과 하나 이상의 재귀 호출(Recursive Call)로 구성됩니다. 종료 조건은 재귀 호출이 멈추는 지점을 나타내며, 재귀 호출은 큰 문제를 작은 문제로 분할하여 해결하는 역할을 합니다. 재귀함수를 사용할 때는 몇 가지 주의할 점이 있습니다. 먼저, 재귀함수의 호출은 스택(Stack) 구조로 이루어지기 때문에, 호출 횟수가 많아질수록 메모리 사용량이.. 2023. 5. 3.
지역변수 (Local Variables), 전역변수 (Global Variables) C 언어에서 변수는 크게 지역변수, 전역변수, 그리고 static 변수로 나뉩니다. 각각의 변수 타입은 변수의 범위와 수명 등에서 차이가 있으며, 이에 따라 어떤 변수를 사용해야 하는지 선택해야 합니다. ## 지역변수 (Local Variables) 지역변수는 특정 블록에서 선언된 변수로, 블록 내에서만 사용할 수 있습니다. 보통 함수 내에서 많이 사용됩니다. 지역변수는 함수가 호출되면 생성되며, 함수가 종료되면 소멸됩니다. 이는 스택 메모리에 저장되기 때문입니다. #include void test() { int num = 10; // 지역변수 num 선언 printf("%d\n", num); } int main() { test(); // printf("%d\n", num); // error: ‘num’.. 2023. 5. 2.
전투기의 역사와 발전 (The history of fighter jets) 전투기는 과거부터 인간이 비행을 꿈꾸며 그 역사가 시작되었습니다. 이 글에서는 전투기의 역사를 대략적으로 살펴보고, 현재까지 발전한 모습을 살펴보겠습니다. **시대별 전투기들의 개요** 1. 초기 비행기 현재의 전투기가 되기까지의 여정은 먼 길을 거쳤습니다. 1903년 라이트형제가 성공적인 비행을 한 후, 비행기의 발전은 급격히 진행되었습니다. 이 당시 비행기는 속도와 높이에 제한이 있어, 전투기로 사용하기에는 적절하지 않았습니다. 2. 1차 세계대전 그러나 1차 세계대전의 발생으로 인해 전투기의 개념이 처음 등장하게 됩니다. 그 당시 전투기는 기본적으로 수송기에 무장을 부가한 형태였습니다. 이후 엔진의 발전과 함께 공중전의 개념이 정립되면서, 전투기의 역할이 보다 중요해졌습니다. 3. 제1차 세계대전 .. 2023. 4. 29.
기초기상학과 응용기상학 (Basic and Applied Meteorology) 항공기상은 항공 운항에 영향을 미치는 기상 조건을 이해하고 예측하는 학문입니다. 기초기상학과 응용기상학은 이를 실현하기 위한 필수적인 개념과 원리를 제공합니다. 기초기상학은 대기와 대기현상에 대한 이해를 다룹니다. 대기는 지구의 중력에 의해 끌어 당겨지는 공기 질량으로 구성되어 있으며, 이 공기 질량은 지구의 자전과 태양복사에 의해 가열되고 냉각됩니다. 이로 인해 대기에서는 기압, 온도, 습도, 바람 등의 상태가 변화합니다. 기초기상학에서는 이러한 기본적인 대기현상과 그것들의 상호작용에 대해 다루며, 대기 중의 물과 공기의 운동, 대기의 구조, 온도 변화에 따른 대기상태 등에 대해서도 배웁니다. 응용기상학은 기초기상학의 이론을 바탕으로 항공기, 해상 운송수단, 농업, 해양 등에서의 기상 예측 및 대처에 .. 2023. 4. 28.
C언어의 반복문 (while문, do~while문, for문) C언어는 프로그래밍 언어 중에서 가장 널리 사용되는 언어 중 하나입니다. C언어에는 다양한 제어문이 있으며, 그 중에서도 반복문은 특히 중요한 역할을 합니다. 반복문은 특정한 조건이나 횟수를 만족할 때까지 특정한 코드 블록을 반복적으로 실행할 수 있도록 해주는 구문입니다. C언어에서는 while, do~while, for 등의 반복문을 지원합니다. 1. while 반복문 while 반복문은 특정한 조건이 참(True)인 경우에만 반복을 수행합니다. while 반복문의 구문은 다음과 같습니다. 위의 코드에서, 조건식은 참(True) 또는 거짓(False)을 판별할 수 있는 표현식입니다. 만약 조건식이 참(True)이면, while 반복문의 코드 블록이 실행됩니다. 이후에 조건식이 다시 평가되고, 조건식이 .. 2023. 4. 27.
아스키 코드 (ASCII Code) C 언어에서 아스키코드는 문자와 숫자를 컴퓨터가 이해할 수 있는 2진수 형태로 변환하는 방법을 말합니다. 아스키코드는 7비트로 구성되며 0부터 127까지의 숫자로 표현됩니다. 이렇게 표현된 아스키코드는 컴퓨터에서 문자열 처리, 문자열 비교, 문자열 정렬 등 다양한 용도로 사용됩니다. 아스키코드는 미국정보교환표준부호(American Standard Code for Information Interchange)의 약자로, 미국에서 개발된 문자 인코딩 방식입니다. 아스키코드는 컴퓨터에서 문자를 표현하는 표준 방식으로 사용되고 있으며, 영문 알파벳, 숫자, 특수문자 등을 7비트의 이진수로 변환하여 나타냅니다. 아스키코드는 0부터 127까지의 숫자로 표현됩니다. 이 중 0부터 31까지의 숫자는 제어문자(contro.. 2023. 4. 27.
정수자료형, 실수자료형 (Integer Data Types, Real Data Types) C 언어는 변수에 값을 저장하기 위해 여러 가지 자료형을 제공합니다. 그 중에서도 가장 기본적인 자료형은 정수와 실수입니다. 이들 자료형은 각각 int와 float, double로 정의됩니다. 이번 포스팅에서는 C 언어의 기본 자료형 중에서 정수와 실수를 출력하는 자료형에 대해 자세히 살펴보겠습니다. 정수 자료형 정수형 자료형은 음수, 양수, 0을 포함한 모든 정수 값을 표현할 수 있는 자료형입니다. C 언어에서는 다음과 같이 4가지 종류의 정수형 자료형을 제공합니다. ### char char는 문자를 저장하기 위해 사용되는 정수형 자료형입니다. 하나의 char 변수는 1바이트 크기를 가지며, -128부터 127까지의 값을 저장할 수 있습니다. ASCII 코드를 사용하면 영어 알파벳, 숫자, 특수 문자 .. 2023. 4. 27.
C언어의 연산자 (C Language Operators) C 언어는 비트 연산자(bitwise operator)라고 불리는 다양한 비트 조작 연산자들을 제공합니다. 비트 연산자는 비트(bit) 단위로 데이터를 조작하기 때문에, 이진(binary) 데이터를 다룰 때 매우 유용합니다. 이 글에서는 C 언어에서 제공하는 비트 연산자들의 종류와 쓰임에 대해서 설명하겠습니다. ### 1. 비트 AND(&) 비트 AND 연산자(&)는 두 개의 비트를 비교하여, 두 비트가 모두 1인 경우에만 결과가 1이 되는 연산자입니다. 예를 들어, 0b1101과 0b1011의 비트 AND 연산은 다음과 같습니다. ``` 0b1101 & 0b1011 = 0b1001 ``` ### 2. 비트 OR(|) 비트 OR 연산자(|)는 두 개의 비트를 비교하여, 두 비트 중 하나라도 1인 경우에 .. 2023. 4. 27.
C언어 정수와 실수 표현 (Representing integers and real numbers in C) C언어는 컴퓨터 과학에서 가장 중요한 프로그래밍 언어 중 하나입니다. 이 언어는 컴퓨터의 하드웨어와 밀접한 관련이 있기 때문에 컴퓨터의 표현 방식에 대한 이해가 필수적입니다. 따라서, 이 포스트에서는 C언어에서 컴퓨터의 정수 표현 방식과 실수 표현 방식에 대해 설명하겠습니다. 1. 정수 표현 방식 컴퓨터는 이진수를 사용하여 모든 데이터를 표현합니다. 따라서, C언어에서 정수는 2진수로 표현됩니다. 하지만, 이진수로 표현할 때 부호 비트를 포함해 몇 개의 비트를 사용하는지는 운영 체제와 하드웨어에 따라 다릅니다. 대표적인 정수 표현 방식으로는 부호 있는 2진수를 사용하는 2의 보수법이 있습니다. 2의 보수법은 양수와 음수를 모두 표현할 수 있는 방법입니다. 이 방법은 다음과 같은 단계를 따릅니다. 1. 양.. 2023. 4. 27.
2진수, 8진수, 16진수 (Binary, octal, hexadecimal) 컴퓨터는 데이터를 이진수(binary)로 표현합니다. 이진수는 0과 1로 이루어진 숫자 체계로, 컴퓨터에서는 전기적 신호로 표현됩니다. 하지만 이진수는 보기에는 복잡하고 처리하기 어렵기 때문에, 보다 편리하게 다룰 수 있는 8진수(octal)와 16진수(hexadecimal)를 사용합니다. ## 2진수(Binary) 2진수는 0과 1로 이루어진 이진수 체계입니다. 컴퓨터는 2진수로 데이터를 표현하며, 전기적 신호로 0과 1을 구분합니다. 예를 들어, 8비트 이진수 체계에서는 00000000부터 11111111까지 총 256개의 숫자를 표현할 수 있습니다. 이진수는 디지털 회로에서 사용되며, 컴퓨터가 처리하는 모든 정보가 2진수로 변환되어 저장됩니다. 이진수는 컴퓨터에서 기본적인 단위이므로, 프로그래밍 언.. 2023. 4. 26.
바람이 항공기에 미치는 영향 (How wind affects aircraft) 항공기 운항 시, 바람은 큰 영향을 미칩니다. 항공기의 비행 속도, 고도, 안전성 등에 영향을 미치는데요. 이번 포스팅에서는 항공기에 미치는 바람의 영향을 정풍, 배풍, 측풍, 상승풍, 하강풍, 돌풍 6가지 카테고리로 알아보겠습니다. 1. 정풍 (Headwind) 정풍은 항공기가 비행하고 있는 방향과 반대 방향으로 불어오는 바람입니다. 이 때, 정풍이 불어오면 항공기의 비행 속도가 느려지지만, 대신 항공기가 상승하기 쉬워집니다. 그리고 이는 항공기의 연료 소모량을 줄이는 효과도 있습니다. 2. 배풍 (Tailwind) 배풍은 항공기가 비행하고 있는 방향과 같은 방향으로 불어오는 바람입니다. 이 경우, 항공기의 비행 속도는 빨라지지만, 항공기가 상승하기 어려워집니다. 이는 항공기의 연료 소모량을 늘릴 수 .. 2023. 4. 26.
산곡풍과 항공기 (How crosswinds affect aircraft) 산곡풍(Mountainous Winds)은 산과 골짜기 사이를 통과할 때 생기는 바람으로, 기온차나 지형적 요인에 따라 발생합니다. 높새바람과 푄현상은 산곡풍의 일종으로, 각각 기상학적인 현상과 대기 환경 변화에 따라 발생하는 바람 현상입니다. 이러한 바람 현상은 항공 운항에 큰 영향을 미치며, 안전한 비행을 위해서는 항공 운항 전략과 방식을 고려해야 합니다. 높새바람(High Breeze)은 산곡풍 중에서도, 고산지대의 높은 산 위쪽을 지나가는 바람입니다. 높새바람은 대기 상승기운에 의해 일어나며, 고도가 높아질수록 바람이 강해지는 경향이 있습니다. 높새바람은 기상학적인 현상이므로, 대기중 오염물질 등을 분산시키는 효과가 있습니다. 하지만, 항공기가 이러한 바람을 만나면 안정적인 비행을 방해할 수 있습.. 2023. 4. 26.
반응형