기본

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 20 [함수 포인터]

제 20강) 함수 포인터 오늘은 함수 포인터에 대해서 알아봅니다. 상당히 어렵다면 어려울 수 있는 부분이라 여러번 읽어보셔야 할겁니다. 1) 함수 포인터란 포인터는 포인터인데 함수를 가리키는 포인터를 뜻합니다. int num = 5; int* ptr = # int arr[] = { 1, 2, 3 }; int* ptrArr = arr; 변수나 배열을 포인터로 연결할때는 위와 같이 사용했습니다. 자료형 (*포인터_함수명)(함수의_인자...) = 연결할_함수; // 예1) int addFunc(int num1, int num2) { return num1 + num2; } // 위의 addFunc함수에 연결하는 포인터 int (*addFuncPointer)(int, int) = addFunc; // 예2) vo..

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 09 [주석과 상수]

제 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에서 작성하게 되면 초록색으로 주석을 처리하는 것을 볼 수 있습니다. 그래서 주석이란? 사전에서는 위와 같이 풀이를 합니다. 그런데 프로그래밍 언어에서 주석은 "코드를 짤 ..

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 15 [반복문2 - While]

제 15강) 반복문2 - while문 반복문의 두번째 시간입니다. 바로 "while문"에 대해서 배울겁니다. (이번 시간에는 while문 뿐만 아니라 do~while문도 다룹니다.) 1) while while문을 배우기 전에 당연히 미리 알고있어야 하는 개념이 몇가지 있습니다. while문을 배우기 전 미리 알고있어야 하는 개념 1. 반복문의 개념 (14강) 2. break (13강) 3. continue (14강) 이미 다 알고 계신다는 전제하에 진행을 하도록 하겠습니다. 지난 시간에 보았던 for문을 다시 한번 봅시다. for (i = 0; i < 5; i++) for (조건에_사용할_변수 ; 반복에_쓰일_조건 ; 반복문의_종료를_위한_문구) for문은 위와 같이 된다고 하였습니다. while문은 상..

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 12 [조건문1 - if문]

제 12강) 조건문1 - if문 조건문의 첫 시간입니다. 바로 "if문"에 대해서 배울건데요. "if else문"이라고 말하기도 합니다. 조건문이 왜 필요한가? 조건문이 없을 경우에는 위(왼쪽)와 같은 일이 벌어집니다. 하지만 있는 경우에는 위(오른쪽)와 같은 일이 벌어지죠. 즉, 상당히 유연하게 코딩이 가능하게 되는 것이죠. 1) if ~ else문 영어를 배우실 때 "if"에 대해서 배우셨을 것입니다. "일반적인 if 의 뜻"은 "만약에 ~하면"이라는 뜻으로 많이 알고 계시죠. C언어에서 if문도 같습니다. if(조건) { // 조건이 참일 경우 } else { // 조건이 참이 아닐 경우 } if(num > 10) { // num이 10보다 큰 경우 } else { // 그렇지 않은 경우 } if ..

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 08 [변수에 대한 추가적인 이야기]

제 8강) 변수에 대한 추가적인 이야기 사실 이 이야기는 "초보자를 위한 C언어 강좌"라는 이름에 조금은 어울리지 않을 수도 있습니다만 기초를 탄탄히 해야 좋다고 생각하기 때문에 쓰려고합니다. CPU와 OS에 최적화된 변수(Integer) C언어은 "로우 레벨" 프로그래밍(어셈블리어 사용)이 가능합니다. 자바와는 다르게 직접 어셈블리어를 사용하여 프로그래밍이 가능하죠. 이 C언어에서 쓰이는 "int"라는 정수를 뜻하는 변수는 "CPU가 선호하는 자료형" 입니다. CPU에는 ALU라는 "산술 논리 장치"라는 것이 있습니다. 산술연산과 논리연산을 CPU에서 담당하고 있는 건데요. 이 ALU가 int 단위로 데이터를 처리하게 됩니다. 그래서 "CPU가 선호 하는 자료형"이라고 합니다. 이러한 이유로 char형..

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 14 [반복문1 - For]

제 14강) 반복문1 - for문 반복문의 첫번째 시간입니다. 바로 "for문"에 대해서 배울겁니다. (for문과 for 루프는 같은 말입니다만, 저는 제가 많이 써왔던 for 루프 라고 표현하겠습니다.) 1) 반복문 반복문은 말 그대로 "반복하는 문장"입니다. 하지만 무턱대고 반복하면 안되겠죠? 즉, 컴퓨터에서 반복문은 "특정한 조건에 부합하면 해당 스코프 내의 내용을 반복한다" 라는 뜻을 가졌습니다. 스코프(Scope) 컴퓨터 언어에서 "유효범위"라는 뜻으로 사용되는 것으로, 해당하는 문장 혹은 객체, 변수등이 유효한 범위를 뜻합니다. (범위는 { }로 흔히 나타냅니다.) int main(void) { int num1; ... } void func() { int num2; ... } 위의 소스에서 n..

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 11 [진수(진법) 그리고 형변환]

제 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(..

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 07 [입력문과 출력문(printf, scanf, scanf_s)]

제 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 관련 함수들도 있긴하지만 이것들..

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 16 [함수]

제 16강) 함수 오늘은 정말 정말 중요한 시간입니다. 바로 함수에 대해서 배우는 시간이기 때문이죠. 함수란? (출처 : C Primer Plus) 함수(Function)는 어떤 특정 업무를 처리하도록 설계된 프로그램 코드를 자체 내에 포함하고 있는 하나의 프로그램 단위이다. 함수란? (출처 : 위키백과) 함수(Function)는 대부분의 프로그래밍 언어에서 지원하는 기능으로, 하나의 큰 프로그램을 여러 부분으로 나누어준다. 즉, C언어에서는 프로그램 단위라고 생각하시면 됩니다. 1) 메인 함수(int main) 이제 드디어 메인 함수를 설명하는 날이 왔습니다. int main(void) { printf("Hello World! \n"); return 0; } 우리가 즐겨쓰던 main함수 입니다. 자료형..

Study/C언어

처음하시는 분들을 위한 C언어 기초강의 시즌2 - 13 [조건문2 - switch문]

제 13강) 조건문2 - Switch문 조건문의 두번째 시간입니다. 바로 "Switch문"에 대해서 배울건데요. "switch case문"이라고 말하기도 합니다. 1) switch case 문 스위치문은 if문과 거의 비슷합니다. /* 사용법 */ switch(조건_변수) { case 조건1: // if와 같음 // 내용~~~ break; case 조건2: // else if와 같음 // 내용~~~ break; ... case 조건n: // else if와 같음 // 내용~~~ break; default: // else와 같음 // 내용~~~ break; } 사용법은 위와 같습니다. 이때 "조건_변수"는 무조건 정수형이어야 합니다. (C99 표준 6.8.4.2.1에 "The controlling expr..

Eskeptor
'기본' 태그의 글 목록 (3 Page)