d라이브러리









최근 C언어는 PC의 활성화에 힘입어 프로그램의 개발에 있어서 가장 중요하고 인기있는 언어의 위치를 확보하고 있다. C언어는 전산학의 이론과 실제에서 바람직하다고 생각되는 제어기능을 포함하고 있는 언어이다. 그리고 C언어를 사용함으로써 프로그램작성자는 톱 다운설계(Top Down Design), 구조화 프로그래밍, 모듈화된 설계를 쉽게 할 수 있다. C는 효율적인 언어이며 컴퓨터의 기능을 아주 쉽게 이용할 수 있는 반면 이식성이 좋아서 프로그램의 재사용이 가능해진다.

이처럼 강조하는 것이 지나치지 않을 정도로 많은 소프트웨어 제작자들이 C언어를 애용하고 있는 것이다. 이번 강좌로 C언어강좌를 끝맺는다. 한정된 지면에 많은 예제를 통해 C언어의 작성법을 설명하고자 하였으나 독자여러분에게 어떻게 전달되었는지 모르겠다. 아뭏든 프로그램을 개발하는 입장에서는 수많은 경험을 무시할 수 없기 때문에 C언어를 가지고 여러 개발과제를 스스로 해결하려고 할때 C언어에 대한 장벽은 무너지고 프로그램개발의 훌륭한 도구로서 C언어가 가치를 발휘할 것이다.
지금까지는 C언어의 각기능에 대해 예제를 가지고 설명해왔다. 이제 C언어의 전반적인 사항을 요약해 보자.


C언어의 키워드


■ C언어의 키워드
C언어의 키워드는 언어의 기능을 표현하기 위하여 사용되는 단어를 말한다. C언어의 키워드는 미리 예약되어 있기 때문에 사용자들은 변수명을 지정하는 경우 충돌을 피해야 한다.


(표1) C언어의 연산자 우선순위표^←는 오른쪽에서 왼쪽으로 →좌측에서 우측으로 처리된다는 뜻


■ C언어의 연산자
C언어는 풍부한 연산자를 갖고 있다. 각 연산자는 우선순위와 우선순위 실행 방향을 갖는다. 이러한 연산자에 대해 의미해석을 잘못한 경우가 많기 때문에 처음 C언어를 배우는 사람에게는 다소 이해하기 힘든 부분이 될 수 있겠으나 괄호를 사용하여 그 혼동을 피할 수도 있다.

■ 변수선언과 기본 데이타형
C의 기본 데이타형은 다음 7개의 키워드를 사용하여 구성한다.

int long short unsigned char float double


(그림1) 연산자의 전체 설명


(그림1)은 C의 데이타형에 따라 할당되는 기억장소의 크기를 보여준 것이다. 데이타의 종류를 구분할 때 크게 부호가 있다, 없다로 나누는데 표현하려는 수의 범위가 달라지는 것에 주의하여야 한다.

모든 프로그램을 작성할 때 필요한 변수가 있어야 한다. 이 변수에 대한 데이타형은 어떤 것으로 해야하는지는 미리 주의를 기울여 결정해야 한다. int나 float는 숫자에 대해 사용되며 char는 문자에 사용한다. 함수의 제일 윗부분에 사용하는 변수를 정의해야 한다. 변수는 해당 데이타형에 따라 변수명칭과 함께 선언하여야 하며 변수를 초기화할 때는 상수의 형과 데이타형을 일치시켜야 한다.

단수변수의 선언 방법
1. 필요한 데이타형을 결정한다.
2. 변수지정을 위한 명칭을 정한다.
3. 선언문의 형식에 따라 선언문을 작성한다.
4. 같은 데이타형의 변수명은 ,를 사용하여 연속적으로 선언할 수 있다.
5. 선언문과 함께 변수를 초기화시킬 수 있다.


(그림2) C의 데이타형에 따른 기억공간의 크기


■ 기억장소의 지정
변수의 값은 기억장소에 따라 그 사용범위가 결정된다. 기억장소의 종류는 변수가 정의된 블럭과 관련된 키워드에 의해서 결정된다. 기억장소를 위한 키워드는 다음과 같다.

auto extern static register

main 함수 밖에서 정의된 변수는 외부 변수이며 프로그램 전체에서 사용가능하다. (표2)는 기억장소의 종류에 따른 변수의 통용 범위를 정리한 것이다.

(표2) 기억장소에 따른 변수의 통용범위


■ C언어의 프로그램 흐름의 제어
C언어에서는 프로그램의 흐름을 관리하기 위한 구조를 갖추고 있다. 여기에는 순환문, 조건문, 분기문이 포함되어 있다.


C언어의 프로그램 흐름의 제어


while 문
while 문은 조건식이 거짓이나 0이 될때까지 반복 순환하는 문이다. while 문은 조건을 먼저 조사하는 선조건 검사순환문이다. 따라서 순환문 내의 문장을 전혀 실행하지 않을 수도 있다.
예제 : while(nt+<;10)
                 printf("Dong A\n") ;

for 문
for 문은 순환을 제어하기 위해 ; 으로 분리된 세개의 제어연산식을 사용한다. 초기 연산식은 실행에 한번만 사용되고 그다음 연산식은 조건식으로 이용되고 마지막 연산식에 의해 다음 순환조건을 계산해낸다.
예제 : for(n=0 ; n<;10 ; n++)
              printf("%d\n", n) ; 

do while 문
do while 문은 조건 연산식이 거짓이나 0이 될때까지 반복 순환하는 문이다. do while 문과는 달리 후조건 검사 순환문으로 순환 후에 순환 여부를 다시 판정하여 순환한다.
예제 : do print("%d\n",n++)
          while(n !=10)

if 문
if 문은 다음 3가지 형식으로 변형될 수 있다.
형식1 : if(조건식)
             문 ;
형식2 : if(조건문)
             문1 ;
           else
             문2 ;
형식3 : if(조건식1)
             문1 ;
           else if(조건식2)
             문2 ;
           else 문3 ;
예제 : if(n==4)
                printf("Seoul\n") ;
         else if(n==5)
                printf("Busan\n") ;
         else printf("XXX"\n") ;

switch 문
프로그램의 제어가 연산식의 값과 동일한 레이블의 문으로 분기하도록 하는 문이다. 연산식의 값은 정수값이나 char형값을 갖게되고 연산식의 값에 해당되는 레이블을 찾지 못하면 default 문을 실행하게 된다.
예제 : switch(n)
         case 4 : printf("4\n") ;
                     break ;
         case 5 : printf("5\n") ;
                     break ;
         default : printf("X\n") ;

countinue 문
countinue 문은 순환문 내에서 사용하며 switch 문에서는 사용될 수 없다. 이것은 프로그램의 순환과정을 제어하기 위한 목적으로 사용되는데 countinue 이하 실행문을 무시하고 다음 순환과정을 실행하게 한다.
for(i=0 ; i<;10 ; i++)
{    if(i==5) countinue ;
     printf("%d\n",i) ;
}

go to 문
goto 문은 프로그램의 제어를 해당 레이블이 있는 문으로 옮기는 것으로 해당 레이블을 : 으로 표시된다. 레이블은 goto문을 기준으로 전후 어느 위치에 있어도 좋다.
예제 : top : ch=getchar( ) ;
         if (ch !="y")
                 goto top ;


C언어의 표준함수


■ C언어의 표준함수
C의 표준함수중에서 자주 사용되는 것을 정리하여 보았다.


(표3) 문자열 연산함수

 

(표4) 문자열(string) 조작함수

(표5) 문자열 입출력 함수

(표6) 파일 조작함수

(표7) 포맷 파일 입출력 함수

(표8) 바이트 입출력함수

(표9) 그 밖의 함수
 

1988년 03월 과학동아 정보

  • 조동섭 교수

🎓️ 진로 추천

  • 컴퓨터공학
  • 소프트웨어공학
  • 정보·통신공학
이 기사를 읽은 분이 본
다른 인기기사는?