제 11강) 진수(진법) 그리고 형변환 오늘은 진수(진법)과 형변환에 대해서 알아보도록 하겠습니다. 먼저 진수란 무엇일까요? 예전에 제가 썼던 글에 있던 그림인데요. 크게 진수는 대표적으로 "2진, 8진, 10진, 16진"이 있습니다. 말 그대로 2진법은 숫자 2개(0, 1)로 표현, 8진법은 숫자 8개(0 ~ 7)로 표현, 10진법은 숫자 10개(0 ~ 9)로 표현, 16진법은 숫자 10개(0 ~ 9)와 알파벳6개(A ~ F)로 표현합니다. 1) 진법 표현 숫자들은 각 진법에 따라 다르게 표현이 됩니다. 2) 진법 변환 각 진법끼리 변환하는 방법이 존재합니다. 이 부분은 수학이지만 다시한번 되뇌어 봅시다. ↑먼저 10진수를 2진수로 바꾸는 계산방법입니다. 그런데 저렇게만 쓰면 되는게 아니라 10001(..
제 9강) 주석과 상수 사실 주석은 이전 시간 강의들에서 계속해서 사용해왔습니다. #include int main(void) { int num = 3; // num이라는 int형 변수를 생성하여 3이라는 값으로 초기화 printf("Hello World!!! \n"); // printf 함수를 사용 printf("num = %d \n", num); // printf 함수를 사용하여 num 출력 return 0 ; // 프로그램 종료 } 위의 예제는 3강의 예제입니다. 여기서 주석은 "//"로 시작하는 것을 주석이라고 합니다. 이걸 VS에서 작성하게 되면 초록색으로 주석을 처리하는 것을 볼 수 있습니다. 그래서 주석이란? 사전에서는 위와 같이 풀이를 합니다. 그런데 프로그래밍 언어에서 주석은 "코드를 짤 ..
제 10강) 연산자 이야기 오늘은 연산자에 대해서 알아보겠습니다. 연산자(Operator) 자료를 계산하고 처리(연산)할 때 쓰인다. 피연산자(Operator) 연산자에 의해 계산을 당하는 수치 위의 두 용어는 알아두셔야 합니다. result = num + num2; 연산자 : =, + 피연산자 : result, num, num2 1) 산술연산자 기본적인 사칙연산을 포함하고 있는 산술연산자는 "산술"에 사용됩니다. 연산자 연산자의 기능 a = b 대입연산자라고도 불리며 b의 값을 a에 대입한다. a + b 두 피연산자의 값을 더한다. a - b 두 피연산자의 값을 뺀다. +a 단항 덧셈이라 불리며 정수 승급을 한다.(그냥 a와 같다) -a 단항 뺄셈이라 불리며 반수(음수 값화)가 된다. a * b 두 피..
제 8강) 변수에 대한 추가적인 이야기 사실 이 이야기는 "초보자를 위한 C언어 강좌"라는 이름에 조금은 어울리지 않을 수도 있습니다만 기초를 탄탄히 해야 좋다고 생각하기 때문에 쓰려고합니다. CPU와 OS에 최적화된 변수(Integer) C언어은 "로우 레벨" 프로그래밍(어셈블리어 사용)이 가능합니다. 자바와는 다르게 직접 어셈블리어를 사용하여 프로그래밍이 가능하죠. 이 C언어에서 쓰이는 "int"라는 정수를 뜻하는 변수는 "CPU가 선호하는 자료형" 입니다. CPU에는 ALU라는 "산술 논리 장치"라는 것이 있습니다. 산술연산과 논리연산을 CPU에서 담당하고 있는 건데요. 이 ALU가 int 단위로 데이터를 처리하게 됩니다. 그래서 "CPU가 선호 하는 자료형"이라고 합니다. 이러한 이유로 char형..
제 7강) 입력문과 출력문 우리는 6차례에 걸쳐서 printf문을 써왔습니다. #include int main(void) { printf("Hello World! \n"); return 0; } 위와 같이 써왔죠. 여기서 printf문은 "출력문"이라고 합니다. 그럼 출력문은 어떤것이 있을까요? #include int main(void) { int num; printf("Please Enter the Number : "); scanf("%d", &num); printf("Number is %d \n", num); return 0; } C언어에서 아주 일반적인 입력문으로는 "scanf"라는 것이 있습니다. 오늘 이 2가지를 집중적으로 배워보도록 하겠습니다. ※put, get 관련 함수들도 있긴하지만 이것들..
업데이트 내역1.5.7 1) 앱 잠금 추가 1.5.6 1) 밀어서 메모 삭제 추가 (메인 화면) 2) 버그 수정 1.5.5 1) 버그 수정(멀티 터치 제스쳐 버그) 2) 글씨 크기 변경시 미리보기 추가 3) 최적화 1.5.4 1) 일부 환경에서 파일브라우저 접근시 튕김현상 수정 2) 코딩 스타일 변경(SDK 26) 3) 최적화 1.5.3 1) 메모 추가 버튼 변경 2) 라이센스 창 변경 3) 안드로이드 6.0에서 첫 설치시 꺼짐현상 수정 1.5.2 1) 화면 회전시 몇몇 상황에서 강제종료되는 버그 수정 2) 텍스트 수정 및 저장 버튼 버그 수정 3) 종종 크기가 큰 파일 수정이 불가했던 버그 수정 4) 이미지 초기화시 브러쉬크기가 초기화됬던 버그 수정 5) 텍스트 불러오기 기능 향상 6) 불필요 소스 제..
제 6강) 자료형2 지난 시간에 이어서 자료형에 대한 것들을 이어서 보도록 합시다. Unsigned "unsigned"는 일반적으로 "서명되지 않은"이라는 뜻을 갖고 있다는 것은 아실겁니다. 하지만 C언어에서 "unsigned"가 들어간 정수 자료형은 "0과 기존의 표현 가능한 양의 정수 x 2"라는 뜻이 됩니다. (즉, 음의 정수를 표현하지 않은 만큼 양의 정수를 더 많이 표현할 수 있습니다.) 정수자료형 크기 값의 범위 char 1바이트 -128 ~ 127 unsigned char 1바이트 0 ~ 127 + 128 short 2바이트 -32,768 ~ 32,767 unsigned short 2바이트 0 ~ 32,767 + 32,768 int 4바이트 -2,147,483,648 ~ 2,147,483,6..
제 5강) 자료형1 혹시 지난시간에 보았던 예제가 기억나시나요? #include int main(void) { int num = 3; // num이라는 int형 변수를 생성하여 3이라는 값으로 초기화 printf("Hello World!!! \n"); // printf 함수를 사용 printf("num = %d \n", num); // printf 함수를 사용하여 num 출력 return 0 ; // 프로그램 종료 } 바로 이 예제입니다. 여기서 우린 아직 모르는 것이 있습니다. int num = 3; 바로 이것이죠. "이건 int형 변수 num인데 3이 저장되어 있는거 아닌가요?" 라고 하실 수 있습니다만, 아직 "int"라는 것에 대해서 우리는 자세히 알지 못합니다. 즉, 지난시간에 "변수 선언"하는..
제 4강) 변수 혹시 지난시간에 보았던 예제가 기억나시나요? #include int main(void) { int num = 3; // num이라는 int형 변수를 생성하여 3이라는 값으로 초기화 printf("Hello World!!! \n"); // printf 함수를 사용 printf("num = %d \n", num); // printf 함수를 사용하여 num 출력 return 0 ; // 프로그램 종료 } 바로 이 예제였습니다. 그리고 이 예제를 토대로 해석을 했었죠. 그 중에서 이걸 기억하시나요? int num = 3; 메인함수에서 설명하지 않았던 것중 하나가 바로 "int"입니다. 여기서 설명하기 위해서 하지 않았는데요. "int"는 나중에 배우겠지만 "자료형"이라고 불리는 것입니다. 그 중..
제 3강) C언어와의 첫만남 C언어를 배우기 전에 먼저 아주 기본적인 C언어 프로그램을 하나 보고 시작합시다. #include int main(void) { int num = 3; // num이라는 int형 변수를 생성하여 3이라는 값으로 초기화 printf("Hello World!!! \n"); // printf 함수를 사용 printf("num = %d \n", num); // printf 함수를 사용하여 num 출력 return 0 ; // 프로그램 종료 } 위의 코드를 에디터에 넣어서 실행하여봅시다. 이제 이 코드를 가지고 하나하나 파헤쳐 봅시다. 한번 훑어보고 예측해보기 한줄 한줄 훑어보고 정확하지는 않더라도 직접 예측하여봅시다. #include include는 포함하다라는 뜻입니다. 그런즉슨 ..