컴퓨터과학과

컴퓨터과학과 학생 게시판

조회 수 1094 추천 수 0 댓글 0

단축키

Prev이전 문서

Next다음 문서


1. C언어의 역사
 
C는 1972년 벨연구소 에서 데니스리치에 의해 UNIX운영체제의 제작이라는
특수한 목적으로 제작되었다. C는 뛰어난 기능과 융통성을 제공해 주었으므로, 오래지 않아 여러곳으로 빠르게 보급되었다.
서로 다른곳에서 C언어를 사용하며 프로그래머들은 자기에게 맞게 C언어를 조금씩 고쳐서 사용하게 되었다. 그결과 C언어로 작성되 프로그램은 조금씩 차이가 있게되어 새로운 시스템에서 프로그램을 실행하려면 수정을 해서 사용해야 하는 결과를 가져왔다.
이런문제를 해결하기 위해 '미국의 국가 표준 협회(ANSI : American National Standard Institute)에서 C의 표준을 만들기위해 1983년 위원회를 결성하고 'ANSI표준 C'라는 표준안을 발표했다.
 

2.C의 명칭
 
C는 예전에 사용되던 B언어를 계승한다는 점에서 'C'라는 이름을 가지게 되었다.
B언어도 벨연구소(Bell Labs)의 켄 톰슨에 의해서 개발된 것이다.
B언어가 만들어진곳을 생각하면 'B'라는 이름이 생긴이유를 짐작할수 있을것이다.
 

3. C언어를 사용하는 이유
 
지금 우리가 사용하는 언어는 1학기때 우리가 배운 Visual Basic을 비릇해 자바, 파스칼, 베이직등 무수히 많은 고급언어 있다. 하지만 많은 컴퓨터 전문가들은 다음과 같은 이유에서 'C'언어가 가장 뛰어나다고 주장한다.
1) C언어는 강력한 기능을 제공하며 융통성을 발휘하는 언어이다.
C언어를 사용하여 수행할수 있는 작업의 종류에는 아무런 제한이 없
다. 프로그래밍 언어 자체는 전혀 제한사항이 없다.운영체제
(Operating system), 문서작성기(Word processor), 스프레드시트
(Spreadsheet)와같은 응용프로그램을 제작하는데 사용될 수 있으며,
심지어 다른언어의 컴파일러를 개발하기 위해서도 사용될 수 있다.
2) 전문가들이 가장많이 사용하고 선호하는 프로그래밍 언어이다.
3) C언어는 이식성이 뛰어나다. 이식성이 뛰어나다는 것은 프로그램을
제작한 시스템과 다른 시스템에서 거의 수정없이 컴파일되고 실행될
수 있다는 것이다. 이식성은 ANSI표준에 의해 더욱 높아지게 된다.
4) C언어는 키워드(예약어)라는 몇 개의 단어만으로 프로그램을 구성하
는 간편함을 제공한다.
기본적은 예약어만으로 대부분의 작업을 수행하는 프로그램을 작성할
수 있다는 것을 알게 될것이다.
5) 모듈을 기본으로 한다. C언어로 작성된 프로그램은 함수 라는 각각
의 루틴별로 작성될 수 있으며, 효율성 면에서도 함수 단위로 작성되
는 것이 좋다. 각각의 함수는 다른 응용 프로그램을 작성할 때에도
사용될 수 있다. 프로그래머는 필요에 따라 함수에 자료를 전달하여
유용하고 재사용 가능한 프로그램을 작성할수 있다.
 

4. C++ 언어와 C
 
객체지향언어인 C++를 배우려면 C언어를 다시 배워야 하는 것이 아닌가 하는 의문을 한적이 있을 것이다.
하지만 C의 대부분이 C++에 적용되므로 큰 걱정이 없다. 뿐만 아니라 앞으로 JAVA라는 언어역시 C++과 마찬가지로 C언어를 기반으로 하는 언어이므로 역시 C의 많은 부분을 적용할수 있을것이다.
 
따라서 C를 배운다는 것은현재 가장 강력하고 유용한 언어를 배우는 것일 뿐 아니라, 미래의 객체지향프로그래밍의 기초를 배우는 것이기도 하다.
 

5. 프로그램을 작성하기 위한 준비
일반적으로 어떤 문제를 해결하기 위해선 문제를 파악하고, 문제를 해결하기 위한 계획을 세우고, 또한 실제로 필요한 작업을 수행한다. 마지막으로 작업이 이상없이 수행되었는지를 확인한다.C언어(또는 기타언어)를 사용하여 어떤 프로그램을 개발하기 위해서는 다음과 같은 일련의 과정을 거쳐야 한다.
1) 프로그램 목적을 결정한다.
2) 프로그램을 작성할 때 사용하기 원하는 방법을 결정한다.
3) 문제를 해결하기 위해서 프로그램을 작성한다.
프로그램을 작성하는데는 다음과 같은 단계가 있다.
(1)소스코드의 입력
문서편집기 및 텍스트 에디터를 이용하여 ASCII파일형식으로 작성할
수 있다. 대부분의 경우 확장자는".C"를 사용한다.
(2)컴파일
컴파일은 오브젝트파일을 생성하게 된다. .OBJ라는 확장자를 가지
며 소스코드와 동일한 이름을 가지게 된다. 오브젝트 하일을 링커
에 의해 사용되게 된다.
(3)실행파일을 생성하기 위한 링크작업
전단계까지 아무 에러도 없다면 링커는 오브젝트 파일과 이름이 같
은 실행파일을 생성하여 디스크에 저장하게 된다.
 
4) 결과를 확인하기 위해서 프로그램을 실행한다.
 

-참고문헌
C언어 21일 완성 (인포북 / 1993년 5월 30일)
Teach yourself C (정보문화사 / 1998년 8월 25일)

컴퓨터과학과

컴퓨터과학과 학생 게시판

List of Articles
번호 분류 제목 글쓴이 조회 수 날짜
공지 (필독) 공지 모음 / 방송대 커뮤니티 포인트 얻는 방법 및 입문서 416 게시판관리 9612 2022.12.24
공지 방송통신대학교 커뮤니티 홍보하고 포인트 적립하자! 73 게시판관리 4381 2023.09.20
공지 🎖 활동 메달 안내 및 기준 37 게시판관리 1446 2025.07.30
공지 📢 자료 업로드 규정 안내 (AI 사용 여부·출처 표기 의무화) 과거자료 재동록자 적발 시 IP차단 12 게시판관리 811 2025.11.14
1076 일반 방통대 메일과 오피스등 지원문제 1 new 예린지 8 2026.01.28
1075 과공지 2025 데이터분석 경진대회 예비심사 결과 발표 안내 new noir 12 2026.01.28
1074 일반 대학생이 되면 발생하는 특전이 있습니다. 3 newfile 예린지 47 2026.01.28
1073 일반 방송대_컴퓨터과학과_2026_개설과목 엑셀파일입니다. newfile 예린지 25 2026.01.28
1072 질문 직장인 3학년 편입생 입니다.(졸업 학점 이수 관련) 2 new 홍이장군 25 2026.01.28
1071 질문 대체로 변경 3 update 쌉뚱보 58 2026.01.27
1070 과공지 2026 컴퓨터과학과 개설교과목 안내(개편사항 반영_260126) file noir 59 2026.01.27
1069 질문 회사 재직중 3학년 편입 도전!! 19학점 수강신청 어떨까요? 3 updatefile Luckyzzz 83 2026.01.26
1068 일반 3학년 편입 수강 과목 추천 file 김홍도 53 2026.01.26
1067 일반 슨배님들 3학년 컴과 편입생 수강계획 평가 부탁드려요..!! 1 updatefile 야루루루롤 64 2026.01.25
1066 질문 직장다니는 이번 편입 3학년인데 과목이렇게 괜찮을까요? file 코드워프 57 2026.01.25
1065 질문 3학년 1학기 편입생입니다. 수강신청 조언을 부탁드리고 싶습니다. 1 updatefile jayy 84 2026.01.24
1064 일반 선배님들 수강신청 조언부탁드립니다~ 1 updatefile 배삐삐 63 2026.01.24
1063 일반 3학년 컴퓨터과학과 노베이스 편입생 수강신청에 조언 부탁드립니다. 3 updatefile angelglow 145 2026.01.23
1062 질문 1학년 입학 예정입니다. 수강신청 도움 부탁 드립니다. 2 나리킨 79 2026.01.23
1061 일반 3학년 편입생 과목평가 부탁드립니다. Cohpe 68 2026.01.22
1060 일반 편입생 과목 추천 부탁드립니다. 5 update 세잎네잎 138 2026.01.22
1059 일반 3학년 편입생 수강신청 질문입니다 2 복숭아타르트 123 2026.01.22
1058 일반 [1월 24일] 장애인/노약자/차상위계층 외 일상생활 처우개선 프로젝트 모임 file Gotithelab 47 2026.01.21
1057 질문 입학식 관련 질문입니다. 2 kalsuend 94 2026.01.20
목록
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 54 Next
/ 54