2025/06/11 8

제어문 - if / switch문

문장의 종류">문장의 종류1) 공문 (null statement)아무 것도 하지 않는 문장입니다.단순히 세미콜론(;)만 있는 경우;예: while문 안에 아무 작업도 하지 않게 만들고 싶을 때 사용2) 단문 (simple statement)하나의 문장으로 끝나는 문장 x = 10;printf("Hello");3) 복문 (compound statement)여러 문장을 { } 중괄호로 묶은 문장 { x = 10; y = 20; }조건문이나 반복문에서 여러 문장을 실행하고 싶을 때 반드시 중괄호로 묶어야 합니다. 조건문">조건문조건에 따라 다른 명령을 실행할 수 있는 제어 구조입니다.단순 if문if (조건) 명령문;조건이 참일 경우에만 명령문을 실행하고, 거짓이면 건너뜁니다.복문일 경우if (조건) { 명..

C 2025.06.11

컴퓨터시스템의 구조 - 1

이화여자대학교 반효경 교수님의 운영체제 강의를 정리한 글입니다. I/O 장치와 디바이스 컨트롤러">I/O 장치와 디바이스 컨트롤러I/O 장치와 소형 CPU컴퓨터의 입출력 장치(디스크, 키보드, 마우스 등)에는 작은 CPU처럼 동작하는 부품이 붙어 있습니다.이들을 디바이스 컨트롤러(Device Controller) 라고 부릅니다.장치컨트롤러 이름디스크Disk Controller키보드Keyboard Controller메모리Memory Controller 컨트롤러의 역할컨트롤러는 실제로 간단한 계산이나 데이터 전송 처리를 할 수 있습니다.각 컨트롤러는 자신의 작업 공간(작은 메모리)을 갖고 있는데, 이를 Local Buffer라고 부릅니다.즉, 디바이스 컨트롤러는 자기 할 일을 독립적으로 처리할 수 있는 작..

OS 2025.06.11

운영체제 개요

이화여자대학교 반효경 교수님의 운영체제 강의를 정리한 글입니다. CPU, 메모리, 운영체제의 역할">CPU, 메모리, 운영체제의 역할🔹 CPU의 역할CPU(중앙처리장치)는 컴퓨터의 두뇌와 같은 존재입니다.CPU는 메모리에 저장된 기계어(명령어)를 매우 빠른 속도로 순서대로 실행합니다.하지만 CPU는 스스로 판단하거나 기억하지는 못합니다.판단: ❌기억: ❌연산(계산): ✅🔹 메모리의 역할 (RAM)사람의 두뇌는 계산만 하는 것이 아니라 기억도 합니다.컴퓨터에서 이 기억 역할을 하는 것이 메모리(RAM)입니다.CPU는 메모리에 저장된 프로그램과 데이터를 꺼내서 처리합니다.🔹 운영체제의 역할운영체제(OS)는 판단을 담당하는 통치자입니다.운영체제는 다음과 같은 자원들을 관리합니다:CPU를 누가 사용할지메모..

OS 2025.06.11

이동 연산자

비트 시프트 연산자란?비트 시프트 연산자는 비트를 왼쪽 또는 오른쪽으로 이동시키는 연산자입니다.: 비트를 왼쪽으로 이동시킵니다.>> (우측 시프트): 비트를 오른쪽으로 이동시킵니다.각 이동은 곱하기 2 또는 나누기 2의 효과를 가집니다. 좌측 시프트 ✔️ 개념비트를 왼쪽으로 n칸 이동매 이동마다 2배씩 증가합니다.오른쪽에는 0이 채워집니다.✔️ 예시int a = 3; // 00000011 (2진수)int result = a 3 3 원리a a × 2ⁿ 과 같습니다.연산결과설명3 63 × 2¹3 123 × 2²5 405 × 2³ 우측 시프트 >>✔️ 개념비트를 오른쪽으로 n칸 이동매 이동마다 2로 나눈 값이 됩니다.왼쪽에는 0 또는 부호 비트가 채워집니다 (부호 있는 정수의 경우 다를 수 있음).✔️ 예시i..

C 2025.06.11

비트 연산자

비트 연산자란?">비트 연산자란?개념비트 연산자는 비트(bit) 단위로 계산을 수행하는 연산자입니다.보통 덧셈(+), 뺄셈(-)은 바이트 단위(8비트)로 연산하지만, 비트 연산자는 한 자리씩, 즉 0과 1 단위로 처리합니다.장점빠른 연산 속도메모리 절약하드웨어 제어, 암호화, 그래픽 처리 등에 자주 사용됩니다. bit와 byte의 관계">bit와 byte의 관계1바이트 = 8비트1비트는 0 또는 1 중 하나의 값을 가집니다.비트 수가 많아질수록 표현할 수 있는 값의 범위가 커집니다.비트 수표현 가능한 수 (부호 없음)표현 가능한 수 (부호 있음)8비트0 ~ 255 (총 256개)-128 ~ 12716비트0 ~ 65535-32,768 ~ 32,767 예: 2^8 = 256 → 8비트는 총 256개의 값을 ..

C 2025.06.11

증/감 연산자

증감 연산자란?증감 연산자는 변수의 값을 1 증가하거나 1 감소시키는 연산자입니다.++a 또는 a++ → 값을 1 증가시킵니다.--a 또는 a-- → 값을 1 감소시킵니다.예를 들어 a = 3;일 때,a = a + 1;a += 1;++a;a++;모두 결과적으로 a의 값을 4로 증가시킵니다. 전치와 후치의 차이 증감 연산자는 단독으로 사용할 때는 전치든 후치든 결과가 같습니다.하지만 다른 변수와 함께 사용하여 대입하거나, 식(expression) 내에서 사용할 경우 의미가 달라집니다.전치 연산자 (++a, --a)먼저 값을 1 증가(또는 감소)시킨 후, 그 결과를 사용합니다. int a = 3;int b = ++a; // 전치 증가먼저 a를 1 증가시켜 4가 되고,그 다음 a의 값을 b에 대입합니다.→ ..

C 2025.06.11

입출력 함수

stdio.h 헤더파일printf, scanf 함수는 C에서 기본 입출력 함수입니다.사용하려면 #include 를 파일 맨 위에 써야 합니다.stdio는 standard input/output의 줄임말 main 함수와 변수 선언int main() { int n;}main()은 C 프로그램의 시작 지점int n;은 정수형 변수 n을 선언하고, 4바이트 크기의 저장 공간을 만든다는 뜻입니다. 입력 함수 scanfscanf("%d", &n); "%d": 사용자에게 정수(int) 를 입력받겠다는 뜻 (format specifier)&n: 입력받은 값을 변수 n의 주소에 저장하겠다는 의미⚠️ 꼭 기억할 것!scanf는 변수의 값이 아니라 주소(address) 에 값을 저장해야 하므로 & 연산자를 꼭 붙여야 합..

C 2025.06.11

변수와 상수

변수란?프로그램에서 자료(값)를 저장하기 위한 공간입니다.👉 변수는 값을 나중에 변경할 수 있음.상수란?한 번 값을 저장하면 변경할 수 없는 저장 공간입니다.즉, 변수는 바꿀 수 있는 값, 상수는 바꿀 수 없는 값! 변수변수 선언변수를 사용하기 전에 반드시 선언해야 함C언어는 선언되지 않은 변수 사용 시 에러 발생선언 위치는 반드시 프로그램의 선두에 있어야 함 int i; // 정수형 변수 i 선언 변수 작성 규칙 변수 이름을 지을 때 지켜야 할 규칙!영문자, 숫자, 밑줄(_) 조합 가능첫 글자는 반드시 영문자 또는 밑줄(_)예약어 (if, for 등) 사용 불가대소문자 구분 (예: score와 Score는 다른 변수)공백, 특수문자 불가 (예: @, - 등)✔ 올바른 예:sun10, m1, a_7, ..

C 2025.06.11