C Programming II (CPA141)

강의개요 (2020년 가을학기) [PDF] [Video]

  • 담당교수: 김덕수 (bluekds at koreatech.ac.kr / 2공학관 435호)

  • 조교

    • [4분반] 김영우 (aister9 at koreatech.ac.kr ) / 2공학관 331호

    • [5분반] 이재홍 (oorange31 at koreatech.ac.kr) / 2공학관 331호

  • 수업진행

    • 강의 : Video (EL) / 실습: Online Live (Discord)

  • Course Git Repository [link]

  • YouTube channel [link]

    • (주의) 본 과목의 정규 수강생은 EL을 통해 강의를 시청해야 출석으로 인정됩니다. 최초 수강은 반드시 EL에서 보세요.

선수과목

  • C Programming I (Lv.1)

    • 변수, 자료형, 배열, 수식과 연산자, 조건문, 반복문

교재

  • [주교재] 강의자료

  • [참고교재] 전공자를 위한 C언어 프로그래밍, 주우석 지음 (한빛하카데미)

  • [참고교재] 쉽게 풀어쓴 C언어 Express, 천인국 지음 (생능출판)

FAQ [link]

  • 구버전의 익스플로어로는 보이지 않습니다.

  • 최신 브라우저 (크롬, MS edge 등)으로 확인하세요

강의자료 및 영상

  • (중요) 본 강의는 Online으로 진행되며, 반드시 EL을 통해 시청을 해야 출석으로 인정됩니다.

Lecture 1. C Programming Lv.1 복습 [Slides]

  • C 프로그래밍? [Video]

  • 변수(Variable)와 자료형(Data type) [Video]

  • 배열(Array) [Video]

  • 수식(Expression)과 연산자(Operator) [Video-1] [Video-2]

  • 조건문(Conditional statement) [Video]

  • 반복문(Iteration statement) [Video]

Lecture 2. 함수 (Function) [Slides]

  • 모듈화(Modularization) 그리고 함수(Function) 란? [Video]

  • 함수 만들기(Func. definition) & 사용하기(Func. call) [Video]

  • 함수 선언 (Function declaration) & 함수 정의 위치 [Video]

  • 라이브러리 (Library) [Video]

    • 나만의 라이브러리 만들기

    • 정적 라이브러리 만들기/사용하기

Lecture 3. 변수, 메모리, 그리고 함수 [Slides]

  • 변수와 메모리 - 변수의 수명 (Lifetime of variables) [Video]

  • 변수의 범위 (Scope of variable) [Video]

  • 변수와 함수 (Variable and Function) [Video]

  • 배열과 함수 (Array and Function) [Video]

  • 재귀 함수 (Recursive function) [Video]

Lecture 4. 포인터 (Pointer) [Slides]

  • 변수와 메모리 주소 (Variable & Memory address) [Video]

  • 포인터 (Pointer) [Video 1] [Video 2]

  • 포인터와 함수 (Pointer & Function) [Video]

  • 포인터의 형변환 (Pointer type conversion) [Video]

  • 함수 포인터 (Function pointer) [Video]

Lecture 5. 포인터와 배열 (Pointer & Array) [Slides]

  • 포인터 산술연산 (Pointer arithmetic) [Video]

  • 포인터와 다차원 배열 (Pointer & Multi-dim. array) [Video]

  • 이중 포인터 (Double pointer) [Video]

  • 엔디안 (Endianness or Byte-order) [Video]

Midterm Exam (10/21) - Good Luck!

Lecture 6. 문자열 (String) [Slides]

  • 문자와 문자열 (Character & String) [Video-1][Video-2]

  • 문자 입출력 라이브러리 (Character I/O Library) [Video]

  • 문자열 다루기 (Play with strings) [Video-1][Video-2]

  • 문자열 배열 (String array) [Video]

Lecture 7. 구조체와 공용체 (Structure & Union) [Slides]

  • 구조체 (Structure) [Vidoe]

  • 구조체 배열, 그리고 메모리 (Structure array & Memory) [Vidoe-1][Vidoe-2]

  • 공용체 (Union) [Video]

  • 사용자 정의 자료형 (User-defined data type) [Video]

Lecture 8. 파일 입출력 (File I/O) [Slides]

  • 스트림 & 파일 (Stream & File) [Video]

  • 파일 열기/닫기 (File Open/Close) [Video]

  • 파일 입출력 (File I/O) - Ascii (Text) file [Video]

  • 파일 입출력 (File I/O) - Binary file [Video]

  • 임의 접근 (Random access) [Video]

Final Exam (12/04) - Good Luck!

Lecture 9. 동적 메모리 (Dynamic memory allocation) [Slides]

  • 동적 메모리 할당/해지, 사용하기 [video]

  • Stack memory vs Heap memory [video]

Team Project [link]