교재: C언어 프로그래밍
출판사: 홍를과학출판사
평가기준: 시험 35%, 실습 10%, 출석 5% (중간까지 - 5장까지, max 6장)
강의자료: http://viscom.yonsei.ac.kr/zeroboard/zboard.php?id=lect_6_comp
조교: 최종훈(창조관 252호 / 760-2293/ 공1육-9팔팔7-73오6/ cjhun78@empal.com)

C언어의 장점: 하드웨어를 컨트롤 할 수 있다.

1장. C언어 소개
[C언어 역사]
B언어를 계승하는 언어, 그래서 C언어다.
AT&T의 장비 분사회사: 루슨트 테크놀리지

K&R C언어: 호환성의 문제 발생 > ANSI C언어

[C언어 특징]
이식성: OS가 바뀌어도 소스코드 수정이 필요없음
간결함: 동일한 명령을 소스코드로 작성해도 타 언어보다 간결하고 강력하다
모듈성: 함수를 통한 모듈화가 가능하다 - 많은 사람들이 함께 소스코드르 짜는 것이 가능해졌다.
효율적: low level 프로세싱 가능
작은언어: 적은 수의 키워드를 정의(키워드: C언어에서 고유하게 쓰이는 명형어)
포인터: 메모리를 직접 제어가능(메모리의 중요성 - 데이터를 저장할 수 있는 기본적인 공간이 메모리)
컴파일형 언어: 바이너리 코드 생성 가능(인간이 이해하는 언어(C언어) -> 컴퓨터가 이해하는 언어(바이너리))
cf. 인터프리터 언어: 해석기 -> 해석해서 출력해 줌 : 속도가 느림   ex) 베이직

[간단한 C 프로그램]
#include <stdio.h>    ..... 표준 입출력용 header 파일  (많이 쓰는 함수가 정의)

main()  ...... 반드시 포함
{     .... 프로그램 본체는 {}내에 작성
    printf("Programming in C is easy. \n";  ......출력문
}

- 대소문자 구분
- \n : 개행문자(new line)
- 문장 끝은 semicolon(;)으로 종료
- printf("....")는  출력을 위해서 미리 작성된 프로그램으로서 library 함수라고 함

[C프로그램 개발 과정]
프로그램 개발 과정
텍스트 편집기 -> 원시파일(.c) -> 컴파일러 -> 목적파일(.obj) --- +라이브러리 -->링커 -> 실행파일(.exe)

프로그램 실행
입력 -> 실행파일 -> 출력

[프로그램 작성 및 실행]
프로그램 개발 도구
- 명령어 방식: 개별 명령어를 사용하여 각 단계 수행
                                   DOS                       UNIX
      편집                   edit start.c               % vi start.c
      컴파일&링크        bcc start.c               % cc start.c
      실행                   start                        % a.out

- 통합 개발 환경
      한 프로그램에서 편집, 컴파일, 링크, 실행 기능을 모두 제공

[통합개발환경을 사용한 프로그램 개발]
Visual C++ 프로그램 실행

새 프로젝트 파일 생성
  - [File] - {New] 메뉴 선택
  - Project 탭에서 Win32 Console application 을 선택하고
    Project name: 어쩌구 저쩌구, Location: 프로젝트 생성될 디렉토리 ....그리고 OK 누르면 시작

C 소스코드 만드는 과정
   Files 탭에서 C++ source file을 선택하고
   어쩌구저쩌구 선택해서 file탭에 실행 파일명을 써주고 OK

프로그램 작성시 Ctrl + S를 눌러서 저장
bulid 버튼을 누르면 컴파일과 링킹이 같이 됨
run파일을 누르면 실행

컴파일 & 링크: 탄축키 F7
 0 error(s), 0 warning(s) 라고 나와야 실행이 가능

종료 [file] - [save all] 메뉴 선택


2장 C언어의 기초
[프로그램과 표준 입출력]
- 프로그램: 입력 -> 프로그램(처리) -> 출력
- 표준입출력(standard input and output: stdio)
   표준입력: 키보드 입력
   표준출력: 모니터 또는 터미널로 출력

[출력 프로그램]
int -> 함수의 자료형이 정수형이다.
int를 써주고 마지막에 return 0;을 써주지 않으면 warning이 뜬다.
main() = main(void)
\n -> new line, 즉 enter의 의미다.

[계산을 하는 프로그램]
#include <stdio.h>

int main(void)

{
 int x, y, z;
 x = 500; y=125;
 z = x+y;

 printf("Sum is %d",z);
 return 0;
}

[입력을 포함한 프로그램]
- 변수 값 입력
   scanf("%d", &a);  ....a = (정수입력)   ......베이직의 input = 값 입력의 기능이네~
   scanf("%f", &x); ......x = (실수 입력)  ......float(실수)는 4byte

------------------- &a 에 대해 ----------------
컴파일러 등이 a를 위해 잡아놓은 첫 번째 공간을 &a라고 한다
그 장소에 키보드로 입력받은 값을 &a가 있는 메모리 안에 저장하겠다
주소의 위치를 컴파일러에게 알려주기 위해 &가 붙는다.
----------------------------------------------
#include <stdio.h>

int main(void)

{
 float r,s;
 
 printf("원의 반지름을 입력하세요:");
 scanf("%f",&r);
 s = 3.14159*r*r;
 printf("원의 면적은 %f 입니다. \n",s);
 printf("원의 지름은 %f 입니다. \n",2*r);
 return 0;
}

======== 결과 값 ===========
원의 반지름을 입력하세요: 4
원의 면적은 50.265440 입니다.
원의 지름은 8.000000 입니다.
Press any key to continue
===========================

by Joe & Soohy 2006. 12. 26. 10:19