1) C언어의 정의, 역사, 특징
2) C 프로그램의 작성 및 준비
3) C 프로그램의 구성
4) 에러와 경고
C언어의 정의: 프로그래밍 언어
-프로그래밍 언어 : 사람과 컴파일러가 소통할 수 있도록 약속된 형태의 언어
-기계어, 어셈블리어,C,C++,C#,JAVA,PHP 등
사람 : 인간의 언어, c언어(로 컴파일러에 전달) 사용가능
컴파일러 : c언어, 기계어(로 컴퓨터에 전달) 사용가능
컴퓨터 : 기계어 사용가능
어셈블러 : 기호로 표현된 어셈블리 코드를 기계어로 번역하는 번역기
인터프리터 : 한 단계씩 기계어로 해석하여 실행하는 언어처리 프로그램
C언어의 역사
데니스리치 1972년 개발
- UNIX 운영체제 구현에 사용할 목적으로 개발
컴퓨터 기종간 호환성을 가진 고급이면서 하드웨어를 제어할 수 있는
새로운 언어가 필요한 배경에서 개발된 언어가 C언어
- 어셈블리 언어로 된 유닉스 운영체제가 거의 C언어로 대체됨
C언어의 특징
-프로그램 이식성이 높다 (왠만한 프로그램들에 이식할 수 있어서)
-간단한 문법표현으로 함축적인 프로그램 작성이 용이하다.
-저급언어 특성을 가진 고급언어이다.
(컴퓨터가 쉽게 알아들을 수 있는 언어 : 저급언어 <-> 고급언어)
프로그램 개발 단계
프로그램 목적 정의 : 요구분석, 시스템 분석, 프로그램이 가져야 할 기능 정의
프로그램 설계
소스코드 작성
컴파일 / 링크
프로그램 실행
테스트와 디버깅
유지보수
C프로그램 개발을 위해서는
1. 에디터와 컴파일러가 필요하다.
에디터 : 소스코드 작성을 도와주는 도구
컴파일러 : 기계어로 바꾸어 주는 번역기, C컴파일러, Dev-C++, Visual C++, GCC, ...
C프로그램의 완성 과정
1. 코딩
주어진 문제에 대한 설계를 바탕으로 소스코드를 작성하여 소스파일을 생성하는 과정
소스파일 생성시 .c라는 확장자로 저장
C프로그램의 작성과 실행 예
visual studio 컴파일러(솔루션 빌드)
단위 프로젝트들이 여러개 모여있는것이 하나의 솔루션
C프로그램의 구조, 틀
하나 이상의 함수를 포함해야한다, 그 함수는 main()함수여야 한다.
선행처리기(preprocessor)를 제외하고 문장의 끝에는 세미콜론을 붙인다.
**도입부 : 프로그램 전체에 적용되는 사항을 기술**
#include<stdio>
int add(int x, int y)
/*
**main()함수는 가장먼저 호출되는 함수로서 모든 프로그램에 반드시 존재
선언문, 치환문, 제어문, 함수호출, ....**
*/
void main()
{
int i, j, sum;
printf("함수의 호출\n");
i = 10, j= 20;
sum = add(i,j);
printf("%d + %d = %d",i , j, sum)
}
/*
**호출된 함수() main()함수에서 호출되는 함수에 대한 정의
사용자 정의 함수 부분, 이 부분은 도입부와 메인함수 사이로 들어갈 수 있다. (5강)**
*/
int add(int x, int y)
{
int tot;
tot= x+y;
return tot;
}
C프로그램의 구성요소