아두이노 프로그래밍 기초(2) – 변수, 연산자, 함수, 자료형

변수(Variable)




값을 저장할 수 있는 메모리 공간에 붙여진 이름을 변수라고 한다. 다양한 자료형(type)으로 변수 선언이 가능하다.

상수(Constant)

값을 저장하되, 한 번 저장한 값을 변경할 수 없다. const를 앞에 붙여주어 심볼릭 상수가 생성 가능하다.

식별자(Identifier)

데이터의 항목을 식별하고 사용하는 문자열, 함수의 이름, 혹은 변수 또는 심볼릭 상수의 이름 등이 포함된다. 반드시 알파벳 또는 언더바( _ )로 시작되어야 한다. 알파벳과 숫자, 그리고 언더바로 이루어질 수 있다. 띄어쓰기가 적용되지 않는다. 기존에 존재하는 것과 같은 식별자로 선언할 수 없다.

연산자(Operator)

연산을 할 때 사용되는 기호, 연산자의 종류에 따라서 피 연산자의 개수가 다르다. 여러 개의 연산자가 사용되었을 때, 우선순위에 따라서 계산된다.

대입 연산자와 산술 연산자

연산자 기능 동일 연산
= 대입 a=20
+ 덧셈 a=a+4 a+=4
뺄셈 a=a-4 a-=4
* 곱셈 a=a*4 a*=4
/ 나눗셈 a=a/4 a/=4
% 나머지 a=a%4 a%=4

증가, 감소 연산자

연산자 기능
++a 값을 1 증가 후, 해당 문장 계산
a++ 해당 문장 계산 후, 값을 1 증가
–a 값을 1 감소 후, 해당 문장 계산
a– 해당 문장 계산 후, 값을 1 증가

관계 연산자

연산자 기능
< a<b a가 b보다 작은가
> a>b a가 b보다 큰가
== a==b a와 b가 같은가
!= a!=b a와 b가 같지 않은가
<= a<=b a가 b이하인가
>= a>=b a가 b 이상인가

논리 연산자

연산자 기능
&& a&&b and
|| a||b or
! !a not

비트 연산자

연산자 기능
& a&b 비트단위 and
| a|b 비트단위 or
^ a^b 비트단위 xor
~ ~a 비트단위 not

함수(Function)

printf 함수

printf함수는 문자열을 모니터에 출력하는 함수인데 ‘\n’ 과 같은 특수문자를 출력 가능하고 원하는 양식으로 출력할 수 있는 함수이다. (글꼴 설정에 따라 다르게 나올 수 있지만 \와 역슬래시는 같다)

내가 아래와 같이 코드를 작성한다면, Hello! I am seongju 라는 문장을 쓰고 Enter를 치는 것과 같다. 그 아랫줄은 num이라는 변수에 저장한 숫자를 출력하는 것이다.

printf("Hello! I am seongju\n");
printf("%d, num");

자료형(Data type)

선언할 변수의 특징을 나타내는 키워드이다. 기본적으로 같은 자료형끼리만 연산이 가능하다.

자료형 메모리 크기 표현 가능한 데이터 범위
char 1 byte -128 ~ +127
short 2 byte -32768 ~ +32767
int 4 byte -2147483648 ~ +2147483647
long 4 byte -2147483648 ~ +2147483647
float 4 byte 3.4∗〖10〗^(-37)  ~ 3.4∗〖10〗^38
double 8 byte 1.7∗〖10〗^(-307)  ~ 1.7∗〖10〗^308
long double 8 byte 이상 차이가 많이 남

과제

printf함수를 이용하여 자기 소개를 아두이노 시리얼 모니터에 출력해보자

***시리얼 모니터란?

아두이노 IDE에서 오른쪽 위에 돋보기 모양을 누르면 시리얼 모니터 창을 열 수 있는데, 시리얼 모니터는 시리얼 통신(Serial Communication)을 통해 컴퓨터와 아두이노가 주고 받는 데이터들을 확인할 수 있는 창이라고 보면 된다. 시리얼 통신은 말 그대로 연속적인 통신으로서 컴퓨터와 아두이노가 USB선으로 직접 연결되어 있을 때 통신이 가능하다.

6 Replies to “아두이노 프로그래밍 기초(2) – 변수, 연산자, 함수, 자료형”

  1. If some one wants expert view concerning blogging and site-building afterward i
    suggest him/her to go to see this weblog, Keep up the fastidious job.

  2. Wonderful blog! I found it while searching on Yahoo News.
    Do you have any suggestions on how to get listed in Yahoo
    News? I’ve been trying for a while but I never seem to get there!
    Thank you

  3. Hi i am kavin, its my first time to commenting anyplace, when i read this piece of writing i thought i could also create comment due to
    this sensible piece of writing.

Leave a Reply

Your email address will not be published. Required fields are marked *