c-50

[C언어 50강] 10강. 조건문 if/else: 중첩, 조건 설계 패턴

조건문은 “코드를 갈라서 실행한다”는 문법 설명으로 끝내기엔 너무 중요한 주제입니다. 실제 프로그램에서는 입력 검증, 권한 체크, 상태 전이, 예외 처리 대부분이 조건문 품질에 의해 결정됩니다. 오늘은 if/else를 단순 문법이 아니라 조건을 설계하는 도구로 다루겠습니다. 특히 중첩이 왜 복잡해지는지, 어떻게 읽기 쉬…

[C언어 50강] 09강. 표준 입출력: scanf 포맷, 입력 버퍼 개념, 안전한 입력 습관

표준 입출력은 C 입문에서 가장 빨리 배우지만, 실무에서 가장 오래 발목을 잡는 주제이기도 합니다. 특히 scanf는 문법이 단순해 보여도 버퍼 상태, 포맷 문자열, 반환값 검증까지 함께 다루지 않으면 버그가 누적되기 쉽습니다. 오늘은 입력 함수를 “외운다”가 아니라 “왜 안전하지 않은 코드가 생기는지”를 개념으로 이해…

[C언어 50강] 08강. 형 변환: 묵시적/명시적 캐스팅, 오버플로/정밀도 이슈

C언어에서 버그가 가장 조용하게 발생하는 구간 중 하나가 바로 형 변환입니다. 컴파일은 잘 되는데 결과가 어긋나고, 원인 추적은 어려운 경우가 많죠. 오늘은 묵시적/명시적 캐스팅, 오버플로, 정밀도 손실을 하나의 흐름으로 묶어 "컴파일러가 타입을 어떻게 바꿔서 계산하는가"를 개념 중심으로 정리해보겠습니다.

[C언어 50강] 07강. 연산자 2: 비교/논리 연산자, 단락 평가(short-circuit)

조건문을 잘 쓰는 사람과 못 쓰는 사람의 차이는 문법 지식이 아니라 평가 흐름을 머릿속에서 추적하는 능력에서 갈립니다. 오늘은 비교/논리 연산자와 단락 평가(short-circuit)를 묶어서, C가 조건식을 어떻게 읽고 멈추는지까지 개념 중심으로 정리해보겠습니다.

[C언어 50강] 06강. 연산자 1: 산술/대입/증감 연산자

C언어에서 연산자는 “값을 어떻게 읽고, 바꾸고, 저장할지”를 결정하는 핵심 문법입니다. 특히 산술/대입/증감 연산자는 거의 모든 코드의 바닥을 구성합니다. 오늘은 문법을 외우는 대신, 연산이 메모리의 값을 어떻게 바꾸는지까지 연결해서 이해해보겠습니다.

[C언어 50강] 05강. 기본 자료형: char/int/float/double, sizeof, 자료형 범위

C언어에서 자료형은 단순히 "변수 종류"가 아니라, 메모리를 몇 바이트 할당하고 그 비트를 어떤 규칙으로 해석할지를 정하는 약속입니다. 오늘은 char/int/float/double의 차이와 sizeof, 그리고 자료형 범위를 연결해서 이해해보겠습니다. 핵심은 "값"보다 먼저 "표현 방식"을 이해하는 것입니다.

[C언어 50강] 04강. 변수와 상수: 선언/초기화, 네이밍 규칙, 스코프 맛보기

변수와 상수는 C언어에서 ‘값을 다루는 질서’를 만드는 가장 기본 단위입니다. 초보 단계에서는 변수 선언 문법만 외우고 넘어가기 쉽지만, 실무에서는 변수 이름 하나, 초기화 시점 하나, 스코프 설계 하나가 버그를 만들기도 막기도 합니다. 오늘은 "어떻게 쓰는가"보다 "왜 그렇게 써야 하는가"에 초점을 맞춰, 선언/초기화…

[C언어 50강] 04강. 변수와 상수 선언 초기화, 네이밍 규칙, 스코프 맛보기

변수와 상수를 배우는 시점에서 가장 중요한 건 문법 자체보다 “값이 어디에 저장되고, 언제까지 유효하며, 누가 바꿀 수 있는가”를 구분하는 사고방식입니다. C언어는 개발자가 메모리와 수명을 직접 다루는 언어이기 때문에, 여기서 기초를 단단히 잡아두면 이후 포인터·배열·구조체·동적 메모리까지 훨씬 안정적으로 이해할 수 있…

[C언어 50강] 03강. 첫 프로그램: main 함수, printf, 주석, 컴파일·실행 흐름

처음 C 프로그램을 배울 때 가장 흔한 오해는 “printf만 찍히면 끝”이라는 생각입니다. 하지만 진짜 핵심은 출력 문자열이 아니라, main에서 시작해 컴파일과 링크를 거쳐 실행파일이 동작하는 전체 흐름을 이해하는 데 있습니다. 오늘은 눈에 보이는 코드 한 줄 뒤에서 컴퓨터가 실제로 어떤 단계를 밟는지, 왜 main…

[C언어 50강] 02강. 개발환경 세팅: 컴파일러(gcc/clang), IDE, 프로젝트 구조

C언어를 제대로 배우려면 문법보다 먼저 개발환경을 안정적으로 세팅해야 합니다. 초반에 환경이 흔들리면, 코드가 틀린 건지 컴파일 설정이 틀린 건지 구분이 안 돼서 학습 속도가 급격히 떨어집니다. 오늘은 gcc/clang 컴파일러의 역할, IDE와 터미널의 관계, 그리고 프로젝트 구조를 왜 처음부터 잡아야 하는지를 개념…