FreeBASIC 기본 문법

FreeBASIC을 시작하면서 알아야 할

기본 문법을 정리해봤습니다.

freebasic 공식 온라인 문서를 참고합니다.

 

시작하기 전에 한가지 알아두면 좋은 것은

FreeBASIC은 QBasic 코드와 호환이 되지만

컴파일에서 -lang qb 옵션을 추가해야 합니다.

기본은 FreeBASIC 컴파일이니까 두 언어의

문법을 잘 구분할 필요가 있습니다.

(비슷하면서도 미세하게 달라서 헷갈릴 수 있다)

여러개의 BASIC을 학습하다가 생기는 일이니

FreeBASIC으로 베이식을 시작한 사람은

신경쓰지 않아도 좋습니다.

 

0. FreeBASIC 파일에 대해서

1. bas 파일

 

소스코드가 들어간 파일의 확장자는 bas 입니다.

확장자가 QBasic 의 소스파일과

같으니까 혼동에 주의합니다. 

 

2. bi 파일

 

bi 는 헤더파일의 확장자입니다.

bas 파일에서 #include 해서 사용합니다.

헤더파일은 C언의의 h 헤더파일처럼 전처리되며

함수 프로토타입, 상수 등이 선언되어 있습니다.

 

헤더파일을 include 하다 보면 중복해서

전처리하는 경우가 발생하는데 그럴 때

#include once 구문으로 한번만

include 하도록 체크할 수 있습니다.

 

혹은 ifndef(심볼이 정의되지 않았다면)를

사용할 수도 있습니다.

(#ifndef 는 C언어의 전처리 지시자와 같다)

 

#include once "file.bi"

#ifndef __HEADER_BI__
#define __HEADER_BI__ 10
#endif

3. C Runtime

 

C의 Runtime 헤더를 include 해서

C 라이브러리 함수를 사용할 수 있습니다.

crt는 C Runtime 의 약자입니다.

crt의 특정 헤더파일을 포함하려면

"crt/stdio.bi" 처럼 사용합니다.

FreeBASIC 컴파일러의 inc 폴더안에

crt 폴더가 있고 또 그안에 여러개의

헤더파일이 있습니다. C라이브러리와

이름이 같으니 C를 사용해봤다면

찾는데 어렵지 않을겁니다.

 

#include once "crt.bi"

printf(!"Hello World! FreeBASIC\n")
printf(!"value : %d\n", 35)
puts(!"Hello Again\n")

 

FreeBASIC에서 외부 라이브러리의

인덱스를 제공합니다. GUI, 그래픽스,

오디오, 네트워크 등 다양하니까 참고합니다.

각 라이브러리를 사용하기 위해서는

라이브러리 설치(빌드)와 런타임과 DLL 등

프로그램 환경 세팅이 되어 있어야 합니다.

 

 

https://www.freebasic.net/wiki/ExtLibTOC

 

ExtLibTOC: FBWiki

 

www.freebasic.net

 

 

1. Dim 변수 선언

Dim 키워드는 변수를 선언하고 데이터 타입을

명시하는데 사용합니다. Dim 의 원뜻은

Dimension (차원)이었다는데 그 의미는

히스토리가 있어서 그렇게 된 거고

Dim 은 변수 선언이다 - 라고 알면 됩니다.

 

[예제 - Dim]

 

Dim을 사용하여 문자열 (String)과

정수형(Integer)를 변수를 선언합니다.

 

Dim hello As String

hello = "Hello World!"

Print hello

Sleep
GetKey

Dim a As Integer

a = 20

Print a

 

2. Print 와 Input

Print 는 콘솔 표준출력이고

Input 은 콘솔 표준입력입니다.

 

Print 는 스크린에 문자를 출력하고

Input 은 키보드로부터 문자를 받습니다.

 

[예제 - Print, Input]

Dim yourName As String

Input "Enter your name: ", yourName
Print "Hello! "; yourName

 

Input 함수는 메시지를 출력한 후

String 변수에 입력을 받고 Print 함수는

; 다음에 오는 문자열을 연속으로 출력합니다.

 

3. For Next 루프

For Next 루프입니다. 예제는 인덱스를

1부터 10까지 10개의 숫자를 더해봅니다.

 

[예제 - For Next]

Dim As Integer index, sum

sum = 0

For index=1 To 10
    sum = sum + index
Next

Print "Sum : "; sum

 

4. If Then 분기

베이식의 if 분기 문법입니다.

If Then 사이에 표현식으로 조건을 검사합니다.

참이면 실행 거짓이면 실행하지 않습니다.

 

[예제]

 

Dim var1 As Integer

Input "Enter a Integer Number: ", var1

If var1 > 0 Then
    Print "positive number"
ElseIf var1 < 0 Then
    Print "negative number"
Else
    Print "zero"
End If

 

5. Do Loop 반복문

Do Loop 반복문은 C언어의

do while 문하고 닮았습니다.

 

루프 탈출조건은 내부에 If문으로 구현합니다.

If Then Exit Do 구문을 사용합니다.

 

If 안의 표현식이 = 인 점에 주의합니다.

C언어 등 다른 고급언어(high level language)에서

== (같다) = (할당)으로 사용하지만

여기서는 If Then 안의 = 는 같다입니다.

 

[예제]

 

숫자를 받아서 더하다 0을 입력하면 종료합니다.

Dim var1 As Integer
Dim sum As Integer

Do
 Input "Add a Number:[0 to exit] ", var1
 If var1 = 0 Then Exit Do
 sum = sum + var1
 Print "Sum : "; sum
Loop

Print "Program Closed..."

 

공유하기

facebook twitter kakaoTalk kakaostory naver band