프로그래밍 언어의 종류와 역사 그리고 제어문(if문)
#1. 프로그래밍 언어의 종류와 역사
//늦게 들어온 학우들을 위해 그리고 교양을 위해 프로그래밍을 위한 기초에 대해 알아본다.
컴퓨터언어 종류와 역사
알골, Basic, 포트란, 코볼 등이 1970년 전에 만들어진 주요 프로그래밍 언어이다.
GW-Basic은 마이크로스프트사가 컴팩을 위해 개발한 베이직의 일종이다.
포트란은 과학 계산 용도로 코볼은 상업 계산을 주 대상으로 한 언어였다.
알골은 1950년대 미국에서 만들어진 포트란에 대항하여 유럽을 중심으로 개발된 프로그래밍 언어이다.
C형 언어의 주요 언어의 흐름을 보면 C(1972) -> C++(1980) -> Java(1995)로 볼 수 있다.
C는 구조적 프로그램이라하고 이것은 절차에 따라 프로그램을 짜는 것이다.
객체지향적 언어는 기능 위주로 프로그램을 짜는 것이다.
C프로그램에 객체지향을 도입한 것이 C++이고 이를 만든 사람이 Bjarne Stroustrup이다. C를 객체지향으로 만듦으로써 생기는 문제점을 해결하려고 만든 것이 Java이다.
RAD(Rapid Application Development) 짧은 시간에 프로그래밍을 만들 수 있게 만들어주는 도구이다. 대표적인 도구로 Visual Basic이 있다.
언어계층으로 보면 최하위층부터 기계어, Assembly어, C, C++/Java, RAD가 있다.
프로그래밍은 단순히 해당 언어의 문법을 배우는 것이 아니라 문법을 활용한 실제 프로그래밍 콘텐츠에 달렸다.
#2. C 문법의 유래
컴퓨터 언어들은 다른 언어들로부터 많은 기능을 빌려 오는데 C 또한 파스칼에서 많은 기능을 차용해 왔다.
ex) 명령어 끝에 세미콜론이 붙는 것은 파스칼에서 온 것이다.
C 문법은 다른 프로그래밍 언어의 문법을 고루 차용해 왔기 때문에, C언어를 익히는 다른 프로그래밍을 언어 문법에 쉽게 적응할 수 있다.
변수에 숫자 0이 들어가 있는 것을 null이라고 한다.
#3. 제어문: if/if~else문
메모리에 0이 들어가 있는 경우를 ASCII 코드로 ‘null'이라고 한다.
문자가 나열되다가 ‘0’이 나오는 경우는 ‘문자열’이라 하고 문자가 지속되는 경우를 ‘문자배열’이라고 한다.
문자열을 출력하고 싶은 경우에는 '%s'를 입력하여 문자열을 입력해 주면 된다. 이것은 사람의 편의를 위해 제공된다.
// 배열도 Java와 문법이 동일하다.
제어문: if/if~else문
우리가 사용하는 프로그래밍 언어인 C는 순서를 가지고 순차적으로 코딩한 명령어가 시행된다. 이 때 이러한 순서의 흐름을 바꿔주는 역할을 제어문이 수행한다.
제어문 'if'을 배우기 전에 우선 논리연산에 대하여 알아보자.
논리연산은 참(1)과 거짓(0)을 가지는 연산이다.
비교 논리 연산자는 ‘==’이고 이것은 우측과 좌측이 같은지 비교한다.
!는 not이라는 뜻이다.
//0이 아니면 다 참으로 본다.
대소 연산자를 >, <, >=, <=로 참(1) 또는 거짓(0) 여부를 %d로 출력해 볼 수 있다.
선언된 변수에 값이 들어가는 경우는 참으로 인식되고, 값이 들어가지 않은 경우는 거짓으로 인식된다.
또한 변수 앞에 !를 붙이는 경우는 해당 변수에 값이 들어갔는지(1) 0이 들어 있는지(0)를 묻는 논리 연산이 되어 버린다.
대소 비교 시 ‘=’표시는 항상 오른쪽에 와야 한다.
// 대입 연산자를 여러개를 쓸 수 있다.
// ex) iNum3 = iNum2 = iNum1 = 50
#4. 제어문: if/if~else문
//printf("%d\n", 2<1);도 논리연산으로 확인해 볼 수 있다.
IF문
문법 :
if () //()안에 논리연산의 내용을 적는다.
{
“내용”
}//{}안에 참일 때 실행할 내용을 적는다.
If ~ else문
if값이 참이 아닐 경우 else를 붙혀 거짓일 경우의 값을 실행한다.
문법 :
if ()
{
"내용“
}
else
{
"내용“
}
'Busan IT > 제어언어' 카테고리의 다른 글
제어문(if~else, for, while) (0) | 2015.02.11 |
---|---|
제어문(if~else, for) (0) | 2015.02.10 |
실수의 저장방법과 scanf (0) | 2015.02.06 |
포인터의 개념과 컴퓨터의 데이터 저장 방식 (0) | 2015.02.05 |
포인터 변수의 기초 (0) | 2015.02.04 |