부산IT학원/스마트컨트롤러
-
20140317 (break, continue, switch, debug)부산IT학원/스마트컨트롤러 2014. 3. 17. 17:53
21일차 --------------------- break, contine --------------------- - break 반복문에서 빠져나가는 제어문 - continue 반복문을 계속 진행하는 제어문 ex) 예제 소스 #include int main() { int iNum; // 30에서 50사이 값 입력 while(1) { printf("30에서 50사이 값을 입력하세요 : "); scanf("%d", &iNum); if(30 > iNum) { continue; } if(50
-
20140314 (for, if, 삼항연산자)부산IT학원/스마트컨트롤러 2014. 3. 14. 17:10
20일차 --------------- for 문 --------------- - 반복문이다. for ( 초기식 ; 조건 ; 반복식 ) { 명령 } 이런 형태이고 재미있는 것은 초기식과 반복식에 다중으로, 생략으로 선언이 가능하다. ex) 예제 소스 #include int main() { int iNum1; int iNum2; int iNum3; // - 5 명령이 한 줄일 경우 중괄호 생략 가능 for(iNum1 = 0, iNum2 = 0 ; 5 > iNum1 ; iNum1 = iNum1 + 1, iNum2 = iNum2 + 2) printf("iNum1 = %d\tiNum2 = %d \n", iNum1, iNum2); // - 4 iNum1 = 0; iNum2 = 0; while( 5 > iNum1 )..
-
20140313 (while, do while, 중첩 while)부산IT학원/스마트컨트롤러 2014. 3. 13. 17:46
19일차 ----------------- 제 어 문 (반 복 문) ----------------- ------- while -------반복시키는 제어문이다. while(조건) //조건이 참일 경우 아래 중괄호 실행, 거짓이면 탈출. { (명령문) } ex) 예제 소스코드 #include int main() { int iNum = 0; while(5 > iNum) // 처음에 iNum이 0이므로 조건이 참이다 { printf("Hello World! \n"); ++iNum; // iNum을 증가시켜 1이 되고 다시 조건으로 올라가고 } // 조건이 거짓이 될 때까지 반복한다. return 0; } 결과 화면 - 순서도 - while 문 조건은 참, 거짓으로 판별하기 때문에 참이면 1을, 거짓이면 0을 나..
-
20140312 (리터럴 상수, 접미사, 아스키코드, 캐스팅, 서식문자, 특수문자)부산IT학원/스마트컨트롤러 2014. 3. 12. 14:37
18일차 ---------------------- 리터럴(Literal) 상수 ---------------------- - 변수가 아닌 것 상수를 리터럴 상수라 함. ex) int iNum = 3; // 여기서 3이 리터럴 상수. - int형으로 저장 가능한 것은 int형으로 약속하고 - double형으로 저장 가능한 것은 double형으로 저장하기로 약속했다. ---------------- 접 미 사 ---------------- - (리터럴) 상수 뒤에 써주는 것으로 상수의 자료형을 바꿀 수 있음. 확인 예제 소스 #include int main() { printf("3 \t: %d \n", sizeof 3); printf("3LL \t: %d \n", sizeof 3LL); printf("3.14 ..
-
20140311 (비트연산자, 상수, 변수, const, sizeof)부산IT학원/스마트컨트롤러 2014. 3. 11. 14:01
17일차 ------------- 비트연산자 ------------- 비트 연산자 종류는 | OR 조건 하나가 참일 때 참 & AND 조건 둘 다 참일 때 참 ^ XOR 두 조건이 서로 반대일 때 참 ~ TILDE 비트 반전 > RIGHT SHIFT 오른쪽으로 비트 이동 가 있다. 아래 예제 소스코드를 보자. #include int main() { int iNum1; int iNum2; int iNum3; // OR iNum1 = 0xB; iNum2 = 0x4; iNum3 = iNum1 | iNum2; printf("OR : 0x%X\n\n", iNum3); // AND iNum1 = 0xB; iNum2 = 0x4; iNum3 = iNum1 & iNum2; printf("AND : 0x%X\n\n", i..
-
20140310 (scanf, 16진수 10진수, 실수)부산IT학원/스마트컨트롤러 2014. 3. 10. 17:25
16일차 ----------- scanf 함수 ----------- scanf("서식문자", &변수); 여기서 &기호는 나중에 포인터 나올 때에 다시 배우기로 하고 우선 scanf 함수 내에 변수 앞에는 무조건 붙인다. --------------- 16진수와 10진수 --------------- 보통 프로그램 만들 때에는 10진수를 사용하지만 임베디드는 주로 16진수를 사용한다고 한다. 위에 그림과 같이 LED에 불을 킨다면 한 자리당 그 해당하는 LED 스위치를 담당한다고 한다. 0이 켜지는 것이라고 하셨다. 그래서 소스에 int iSwitch = 0x05; // 0101 (2) == 0x05 (16) 이런 식으로 표현될 것이라고 하심. ---------- 실 수 ---------- 실수 구조 ( IE..
-
20140307 (2의 보수법, 관계, 논리 연산자)부산IT학원/스마트컨트롤러 2014. 3. 7. 11:17
15일차 ------------------------------------------ Magnitude 방식과 2'Complete(2의 보수법) ------------------------------------------ unsigned 붙은것과 안 붙은것 2의 보수법을 취하는 것을 보는 소스다. #include int main() { unsigned char cNum1; char cNum2; cNum1 = 127; cNum2 = 127; printf("%d %d\n", cNum1, cNum2); cNum1 = 128; cNum2 = 128; printf("%d %d\n", cNum1, cNum2); cNum1 = 129; cNum2 = 129; printf("%d %d\n", cNum1, cNum2);..
-
20140306부산IT학원/스마트컨트롤러 2014. 3. 6. 17:20
14일차 C프로그래밍을 배움. Windows 환경과 Linux 환경을 비교해가며 배움. Linux에서도 cc 사용 가능.(cc를 쓰면 자동으로 gcc를 사용하도록 되있다고 한다.) - printf("\n"); ms-dos에서는 프로그램을 실행하고 명령입력창?( C:\>_ )을 띄울 때 라인피드와 캐리지 리턴을 실행하는 반면, linux에서는 프로그램을 실행하고 명령입력창?( [id@server path] _ )을 띄울 때 캐리지 리턴만 하는 것 같다. 그래서 마지막 printf() 함수에서 \n개행문자를 안 넣어주면 결과 값이 다르게 나온다는 것을 보았다. 오늘 배운 것 중에 유심히 본 것이 일의 순서에 대하여 언급하신 것인데 나중에 임베디드 프로그래밍을 할 때에 저렇게 완다갔다 하는 시간을 줄여서 최적..