오일석, C와 ALPS, 2008. 1 장. C로 풍덩 © 오일석, 전북대학교 컴퓨터공학
1장 C로 풍덩! 차례 2018-12-06 © 오일석, 전북대학교 컴퓨터공학
1장 C로 풍덩! C 언어의 특징 쉽다 연습이다. 2018-12-06 © 오일석, 전북대학교 컴퓨터공학
1.1 나도 C 프로그래머이다. 아주 간단한 C 프로그램 구문과syntax 의미를semantic 이해하자. 2018-12-06 © 오일석, 전북대학교 컴퓨터공학
1.1 나도 C 프로그래머이다. C 프로그래밍 절차 2018-12-06 © 오일석, 전북대학교 컴퓨터공학
1.1.1 명령문 생각보다 적은 수의 C 명령어 복합문compound statement 주석문comment { ….} /* …. */ // …. 2018-12-06 © 오일석, 전북대학교 컴퓨터공학
1.2 입출력을 해보자. 출력만 했던 프로그램 [1.1]을 확장하자. 입력, 출력, 그리고 연산문을 가진 한발 진보한 프로그램 [1.2] 2018-12-06 © 오일석, 전북대학교 컴퓨터공학
1.2 입출력을 해보자. 컴퓨터 프로그램의 전형적인 실행 과정 2018-12-06 © 오일석, 전북대학교 컴퓨터공학
1.2.1 printf와 scanf 가장 자주 쓰이는 입출력 문 printf: 표준 입력 (키보드)에서 자료 읽어 들임 변수 앞의 &에 주의 (값이 바뀌므로 반드시 변수 자체가 아니라 변수의 주소를 매개변수로 주어야 함, &는 주소 연산자) 2018-12-06 © 오일석, 전북대학교 컴퓨터공학
실습 2018-12-06 © 오일석, 전북대학교 컴퓨터공학
1.3 메뉴를 제공하자. 한 종류의 단위 변환만 서비스하는 프로그램 [1.2]를 확장하자. 섭씨화씨와 인치센티미터의 두 가지 기능을 제공하는 프로그램 [1.3] 기능이 많으면 값어치 높아짐 메뉴 선택을 처리하기 위해 선택문 if 필요 구조를 보는 안목이 있으면 그리 복잡하지 않다. 2018-12-06 © 오일석, 전북대학교 컴퓨터공학
1.3.1 변수variable 변수 예 어떤 값을 저장하는 곳 형을type 가짐 C의 세 가지 기본 형 float int char 기본 형의 다양한 변종 예 2018-12-06 © 오일석, 전북대학교 컴퓨터공학
1.3.1 변수variable 이름 짓는 규칙 좋은 스타일 할당문 의미를 지니는 이름을 사용하라. 필요하면 두세 단어로 이름 지어라. 예, initial_condition 또는 InitialCondition 할당문 오른쪽 수식을 계산하고 그 결과를 왼쪽 변수에 할당함 2018-12-06 © 오일석, 전북대학교 컴퓨터공학
1.3.2 if 문 선택문 if 조건에 따라 서로 다른 명령어를 선택 2018-12-06 © 오일석, 전북대학교 컴퓨터공학
실습 2018-12-06 © 오일석, 전북대학교 컴퓨터공학
1.4 반복하자. 한 번만 서비스하고 끝내는 프로그램 [1.3]을 확장하자. 구조를 보는 안목이 있으면 그리 복잡하지 않다. 단위 변환을 반복 서비스하는 프로그램 [1.4] 반복문 while 필요 구조를 보는 안목이 있으면 그리 복잡하지 않다. 2018-12-06 © 오일석, 전북대학교 컴퓨터공학
1.4.1 while 문 while은 자주 쓰이는 반복 제어문 2018-12-06 © 오일석, 전북대학교 컴퓨터공학
실습 2018-12-06 © 오일석, 전북대학교 컴퓨터공학
프로그램 [1.4]의 메뉴 디스플레이 방식이 변하면 1.5 모듈을 만들자. 함수 특정한 작업을 전문적으로 수행해 주는 프로그램 모듈 예) sqrt() 함수 프로그램 [1.4]의 메뉴 디스플레이 방식이 변하면 두 군데를 수정해야 함 (라인 14-19와 라인 39-44) 매우 번잡스러운 일 (특히 프로그램 규모가 큰 경우) 2018-12-06 © 오일석, 전북대학교 컴퓨터공학
1.5 모듈을 만들자. 2018-12-06 © 오일석, 전북대학교 컴퓨터공학
1.5.1 함수 함수의 정의 프로그램 [1.1]~[1.4]는 main이라는 함수만 가짐 프로그램 [1.5]는 main과 display_menu라는 두 개의 함수를 가짐 프로그래머는 필요한 만큼 함수를 만들어 쓸 수 있음 C가 기본 제공하는 함수 풍부함 예) printf, scanf, sqrt, strcpy, sin, log, rand, malloc, qsort, time,… 2018-12-06 © 오일석, 전북대학교 컴퓨터공학
실습 2018-12-06 © 오일석, 전북대학교 컴퓨터공학
1.6 프로그래밍 스타일 프로그래머의 개성 좋은 프로그래밍 스타일 하나 스타일의 효용 효율성 측면의 차이 스타일 면에서의 차이 가독성을readability 높여라. 스타일의 효용 좋은 그릇의 음식이 맛도 좋다. 공학적 측면: 유지 보수, 재활용성 2018-12-06 © 오일석, 전북대학교 컴퓨터공학
1.7 C 언어의 특징 마음 자세에 관한 특징 언어적 특징 중요하다. 재미있다. Dennis Ritchie와 Ken Thomson이 1972년에 개발 Unix와 밀접한 관련이 있다. 간결하다. 기계에 가깝다. C++는 C의 객체지향 버전이다. 2018-12-06 © 오일석, 전북대학교 컴퓨터공학