본문 바로가기
728x90

XR개발/C언어24

09_Q&A 알고리즘에 대한 물음.zip Q1. 알고리즘이란 무엇이고, 문제를 어떻게 접근하고 해결해야하는가?프로그래밍 문제를 풀 때 알고리즘을 먼저 설계하는 것은 정석적이고 효과적인 접근 방식이다. 아래에 볼 코드들을 보면, 조합 구하기, 소수 판별 같은 문제들이 있는데, 이런 문제를 풀 때 알고리즘을 먼저 설계하고 코드로 옮기는 과정이 중요하다.1. 알고리즘이란?알고리즘은 문제를 단계별로 해결하는 명확한 절차를 의미한다. 간단히 말해, "문제를 푸는 방법"이며, 문제를 코드로 옮기기 전에, 알고리즘을 설계하는 것이 전체 과정을 더 명확하고 효율적으로 만들어준다.예시 1: 조합 (Combination) 문제알고리즘 설계  n!을 계산하기 위한 함수를 만든다. (factorial)  조합 수식을 코드로 표현할 때 factorial(n)을 이용해.. 2025. 2. 15.
08_Q&A 함수 매개변수 선언에 대한 물음.zip Q1. main 함수 안에 선언한 것과 매개변수에서 선언하는 것에서 왜 서로 다른가?✓ int math(int x, int y) 의 의미 매개변수 int x와 int y는 이 함수가 호출될 때 값을 전달받기 위한 지역 변수이다.이 x와 y는 main 함수의 x와 y와는 다른 변수이다. 이름이 같더라도 각각의 함수 안에서 독립적으로 동작함.main 함수의 x, y: 사용자가 입력한 값을 저장하는 main 함수의 변수math 함수의 x, y: main에서 넘겨준 값을 함수 내부에서 처리하기 위한 지역 변수✓ math(int x, int y)에 새로운 매개변수가 필요한 이유 함수를 설계할 때, 값을 함수에 넘겨주기 위해 매개변수(parameter)가 필요하다.이때 함수 내에서 사용할 이름(int x, int .. 2025. 2. 12.
07_Q&A if else & switch문 비교에 대한 물음.zip Q1. if-else와 switch문이 서로 무엇이 다른가?  if-else여러 조건을 비교할 때 사용.각 조건이 복잡하거나 서로 다른 변수를 검사할 때 유리.논리 연산자 (&&, ||, !)도 사용 가능. ✔️ if-else는 범위 비교 (>=, switch-case한 변수의 정확한 값을 여러 경우로 비교할 때 적합하다.가독성이 좋고 속도가 더 빠를 수 있다, 특히 경우의 수가 많을 때.정수형, 문자형, 열거형(enum) 값 비교에 주로 사용한다. ✔️ switch는 동일한 변수에 대해 값이 정해져 있을 때 더 깔끔하고 빠름.Q2. 언제 if-else와 switch문을 사용해야 하는가? if-else가 더 적합한 경우범위 조건이 필요할 때 (ex: x > 0, score >= 80)여러 변수를 조합해 .. 2025. 2. 10.
C언어 변수 범위와 순환 호출 1. 변수의 속성변수는 기본적으로 값, 타입, 크기 등의 속성을 가지며, 이에 더해 범위(scope), 생존 시간(lifetime), 연결(linkage) 같은 추가적인 특성을 갖는다. A. 변수의 범위변수의 범위(Scope)란 해당 변수를 사용할 수 있는 영역을 의미한다. 변수의 범위는 크게 다음과 같이 나뉜다. 지역 변수(Local Variable): 함수 또는 블록 내부에서 선언되어 해당 블록 내에서만 사용 가능전역 변수(Global Variable): 함수 외부에서 선언되어 프로그램 전체에서 사용 가능파일 범위(File Scope): 특정 소스 파일 내에서만 접근 가능한 변수 B. 변수의 생존 시간변수의 생존 시간(Lifetime)은 메모리에 존재하는 기간을 의미한다. 변수가 선언된 위치에 따라 .. 2025. 1. 27.
C언어 함수 1. 함수란 무엇인가?함수(Function)는 특정 작업을 수행하는 코드 블록에 이름을 부여한 것이다. 함수를 사용하면 반복되는 코드의 중복을 줄이고, 프로그램의 구조를 더 명확하게 만들 수 있다. 특히, 코드의 유지보수성을 높이고, 필요한 작업을 모듈화할 수 있어 효율적인 프로그래밍이 가능하다.2. 함수 정의와 사용법함수의 기본 구조함수는 크게 세 가지 요소로 구성된다.1. 함수의 선언 - 함수의 원형을 정의한다.2. 함수의 구현 - 실제 기능을 수행하는 코드 블록을 작성한다.3. 함수의 호출 - 정의된 함수를 실행하는 과정이다. 예를 들어, 아래 코드에서 stars() 함수는 별을 출력하는 역할을 하며, main()에서 호출하여 실행된다. *반환형이란, 함수가 처리를 종료한 후에 호출한 곳으로 반환하.. 2025. 1. 26.
06_Q&A for문 증감식에선 ;가 없는 이유에 대한 물음.zip Q1. for문에서 초기값, 조건, 증감식을 사용할 때 구분자로 ;를 사용하지만, 증감식 뒤에는 왜 ;를 붙이지 않는 건가? for 문 구조이 구조에서 각각의 부분을 나누기 위해 초기값과 조건, 조건과 증감식 사이에는 ;가 필요하다.하지만 증감식 뒤에는 ;가 붙지 않는다.증감식 뒤에는 왜 ;가 없을까?for 문은 하나의 제어 구조(Control Structure) 로 동작하며, 초기값 → 조건 → 반복 실행 → 증감식의 순서로 실행된다.즉, for 문 자체가 반복 실행을 위한 블록을 포함하기 때문에 증감식 이후에는 별도의 ;가 필요하지 않다. 잘못된 예제 (증감식 뒤에 ;를 붙인 경우)이렇게 작성하면 컴파일 오류가 발생하거나 의도하지 않은 동작이 될 수 있다. 올바른 예제여기서 증감식 i++는 반복이 끝.. 2025. 1. 25.
728x90