프로그래밍 언어 76

센서의 전류값 계산하기(직선의 방정식 코드로 나타내기)

안녕하세요 오늘은 센서의 전류값 계산하기(직선의 방정식 코드로 나타내기)를 해보겠습니다 센서의 전류값을 구한다는 의미의 예시입니다예를들어 센서로부터 센싱한 값을 전류로 입력받는다고 가정해봅시다센서의 전류가 10000mV 면 값이 100bar고센서의 전류가 0mv면 값이 0bar입니다그럼 이제 센서에서 값을 3200mV입력받으면 몇bar인지 궁금합니다 직선의 방정식 공식은 y=m(x-x1)+y1 입니다 m=(y2-y1)/(x2-x1) (기울기)(x1,y1), (x2,y2) 두 점 Colored By Color Scripter™123456789101112131415161718#include double outputY(double x,double x1,double x2,double y1,double y2){ ..

#define와 #와 ##의 관계

안녕하세요 오늘은 #define와 #,##의 관계에 대해 알아보겠습니다#와 ##은 #define에서 문자열을 이용 할 때 사용합니다 #include#define str(A) #A " 입니다"int main(){printf("%s \n", str(원원이));} -> 출력결과 : 원원이 입니다#define 매개변수 앞에 #을 붙이면 문자가 들어가게 됩니다 #include#define str(Y,M,D) Y##M##Dint main(){printf("%d \n", str(19,07,06));}-> 출력결과 : 190706##을 사용하면 그냥 문자를 연결하게 됩니다

재귀함수란 무엇인가

안녕하세요. 오늘은 C언어 재귀함수에 대해 알아보겠습니다 재귀함수란 자기자신을 다시 호출하는 함수를 의미합니다 Colored By Color Scripter™12345678910111213#include #include void re(void){ printf("re함수 실행 \n"); re();} int main(void){ re();} re함수안에서 re함수 자기자신을 호출하고있습니다"re함수 실행" 이라는 문장이 무한히 나오게 됩니다.. 그래서 함수가 끝나는 조건도 있어야 합니다. Colored By Color Scripter™1234567891011121314151617#include #include int re(int i){ printf("re함수 실행 %d \n",i); i--; if(i == ..

C언어의 메모리 구조

안녕하세요 오늘은 C언어 메모리구조에 대해 알아보겠습니다 프로그램을 실행하게되면 전역변수의 매개변수등은 정해진 장소에 저장되게 됩니다 1. 코드영역실행할 프로그램의 코드가 저장되는 메모리 영역cpu는 코드 영역에 저장된 명령문을 하나씩 가져다가 실행합니다. 2. 데이터영역프로그램이 시작과 동시에 할당되어, 종료 시까지 남아있는 특징의 변수가 저장되는 영역ex)전역변수, static변수 3. 힙 영역프로그래머가 원하는 시점에 메모리 공간에 할당 및 소멸을 하기 위한 영역 4. 스택영역함수를 빠져나가면 소멸되는 변수를 저장하는 영역지역변수,매개변수 * 장점유사한 성향의 데이터를 묶음.관리가 용이해지고, 메모리의 접근이 빨라짐. 예) Colored By Color Scripter™12345678#include..

C언어 함수란?

안녕하세요 오늘은 C언어 함수를 알아보겠습니다.일단 함수는 매우 쉽고 편리합니다. 솔직히 함수를 사용하지 않고 코드를 작성 할 수 있습니다.예를들어 X= A+B를 구하는 코드를 작성해보겠습니다 Colored By Color Scripter™123456789101112131415#include int main(){ int x; x=1+2; printf("두 수를 더한 값 : %d \n",x); x=10+20; printf("두 수를 더한 값 : %d \n",x); x=100+200; printf("두 수를 더한 값 : %d \n",x);} 6번~7번줄, 9번~10번줄, 12~13번줄을 보면 같은 코드인데 값만 다릅니다.이렇게 반복적인 행동을 함수로 만들어 놓으면 편합니다 Colored By Color Sc..

C언어 역슬래시(\)란?

안녕하세요. 오늘은 C언어 역슬래시에 대해 알아보겠습니다 (\) 역슬래시는 \n, \b 같은걸로도 쓰이고 그냥 역슬래시 \ 로도 쓰입니다. 그냥 역슬래시만 쓴다면 줄을 이어주는 역할을 합니다. 아래코드의 결과는? Colored By Color Scripter™123456789#include int main(){ printf("역슬래시 \ 태스트 \ \n"); } 이런식으로 사용합니다. 그래서 코드를 작성하는데 한줄을 길게 작성해야될 때 사용하면 됩니다예를들어 if문 조건이 긴 경우, define으로 매크로함수를 사용 할 때 사용합니다. 예) define 매크로함수 사용 Colored By Color Scripter™1234567891011#include #define add(ia,ib) \{\ print..

C언어 NULL포인터란?

안녕하세요. 오늘은 NULL포인터에 대해 알아보겠습니다. NULL포인터란 포인터가 NULL을 가리키는 것 입니다. 포인터가 NULL을 가리키면 포인터는 아무것도 가리키지 않는것을 의미합니다. ※ NULL 포인터를 쓰는이유 1. 포인터를 NULL로 선언한 다음에 if문을 통해서 포인터가 선언됬나 안됬나 검사하면 오류를 줄일 수 있다. Colored By Color Scripter™1234567891011#include int main(){ int *p = NULL; if(p==NULL) { printf("p 포인터가 선언되지 않았다. \n"); //선언 }} 2. NULL 포인터로 초기화된 포인터와 초기화되지 않은 포인터는 다르다. NULL 포인터로 초기화하면 , 해당 포인터는 메모리상에 어떠한 값도 가리..

포인터 사용 예시

안녕하세요 오늘은 포인터사용 예시를 들어보겠습니다 Colored By Color Scripter™12345678910111213141516171819#include int main(){ int a=100; int b = 69; int *p; p= &a; printf("a의주소 : %d \n", &a); printf("p의주소 : %d \n", p); *p = b; printf("%d \n",a); printf("p의주소 : %d \n", p);} a의주소 : 6487612p의주소 : 648761269p의주소 : 6487612 먼저 int형 포인터를 만듭니다. int형 포인터변수에는 어떤 변수의 주소값을 넣을수 있습니다.9번째 줄에서 만들었던 포인터 변수에 a의 주소를 넣습니다.a의 주소 : 6487612..

자바 인터페이스(interface)

안녕하세요. 오늘은 자바 인터페이스에 대해 알아보겠습니다.인터페이스를 사용하는 이유는 공동작업을 하기 위해서입니다.예를들어 LED모듈을 아트메가나 아두이노에서 동작하게 하려면 코드가 다릅니다. 그래서 LED모듈 인터페이스를 만들어 놓고 각각 코드를 구현하면 됩니다. 인터페이스 사용 인터페이스의 기본적인 형식은 클래스와 같은데, 함수에는 몸체가 없습니다. 또한 인터페이스를 상속할때는 implements를 사용합니다. 1234interface Led { public void led_ON(); public void led_OFF();}cs Led 인터페이스를 만들었습니다. 이때 함수들을 추상메소드라고 합니다. 123456789101112131415161718192021222324252627class atmeg..

자바 String클래스 알아보기

안녕하세요. 오늘은 String클래스를 사용해 보겠습니다. String클래스는 문자열을 다룰 때 주로 사용합니다. 문자열을 String클래스로 사용 할 때 두가지 방법이 있는데요, 첫번째는 문자열의 주소를 저장하는방법과 두번째는 String객체를 만들어서 객체에 문자열을 넣고 객체의 주소를 저장하는 방법이 있습니다. 첫번째 방법 : String st_address = "AAA";두번째 방법 : String st_object = new String("AAA"); st1과 st2와 st3는 같은 주소의 "AAA"를 가리키게 됩니다. 그러나 아래에 객체를 만든 "AAA"는 서로 다른 주소를 가리키게 됩니다. 이 두가지 방법은 문자열을 비교할 때 차이가 납니다.문자열을 비교할 때 ==연산자 와 equals함수를..