안녕하세요? 주인장입니다.

오늘은 잠깐 쉬어가자는 의미에서 코딩을 잘하는 방법에 관하여 간단히 알려드리겠습니다.

제가 이 부분에서의 선생님도 아니고 특별히 잘하는 사람도 아니지만 경험을 통해 배운 2가지 비법을 알려드리겠습니다.

서론이 기네요. 바로 시작하겠습니다.

 

코딩 잘하는 비법 No.1 정확히 학습하라.

 

코딩을 잘하려면 정확히 학습해야 합니다.

그런데 '정확히' 가 무슨 뜻일까요?

많은 사람들이 코딩, 또는 다른 학문을 배울 때 다를 사람이 작성해 놓은 알고리즘을 보고 학습합니다.

저는 이 방법이 아주 좋다고는 생각하지 않습니다.

코딩, 그리고 그 밖의 여러 과목을 빠르고 효과적으로 학습하려면 '내'가 직접 해 보아야 합니다.

다른 사람이 써 놓은 것을 필사하고, 그런 공부도 좋지만 그런 것보다 저는 직집 써보고, 주요 개념만을 짚은 후 바로 문제를 풀어보면서 실력을 기르는 것을 추천드립니다.

어짜피 다른 사람이 풀어놓은 걸 아무리 봐봤자 한계가 있습니다.

자신이 잘하는것이 아니라 다른 사람이 잘하는 것이라는 것입니다.

 

코딩 잘하는 비법 No.2 많이 풀어라.

 

코딩을 잘하려면 많이 풀어야 합니다.

인터넷에는 코드업, 백준 과 같은 여러가지 온라인 채점 사이트들이 널려 있습니다.

이런 온라인 채점 사이트들을 적극적으로 이용하면서 문제를 푸는 실력을 늘려야 합니다.

코드업과 같은 사이트 들에서는 (이제는 OJ라고 통칭하겠습니다.) 다양한 문제를 풀어 볼 수 있습니다.

이런 문제들을 풀면서 실제로 자신의 실력이 어디에 있는지, 그것을 생각하는 것이 중요하다고 생각합니다.

저는 주요 OJ로 코드업과 백준을 이용하고 있습니다. 

문제를 많이 풀고, 기본기를 충실하게 하고 싶으시다면, 백준에서 단계벌로 푸는 것을 추천드립니다.

이렇게 문제를 풀면서 자신을 훈련시키지 않고 이론 공부를 한다면, 코딩 실력은 늘지 않을 수 밖에 없습니다.

그리고 문제를 풀다가 안된다고 소히 '답지'라고 불리는 사이트들은 절대 이용하지 마세요.

복사+붙여넣게 실력은 엄청나게 늘 수 있을지 몰라도, 코딩 실력은 오히려 줄어듭니다.

 

지금까지 코딩을 잘하는 두가지 방법에 관하여 알아보았습니다.

이 방법들이 여러분이 항상 듣던 것이라 지겹게만 들릴 수도 있는데, 정말로 실력이 늡니다.

제가 경험자입니다. 

별것 아닌 것처럼 보이지만 실력은 많이 상승하니 꼭 한번 시도해 보시길 바랍니다.

제 글을 읽어 주셔서 감사합니다.

이만 포스팅 마치겠습니다.

'C언어 공부' 카테고리의 다른 글

논리, 형변환, 비트 연산자  (0) 2020.02.26
복합 대입 연산자, 관계 연산자  (4) 2020.02.08
산술 연산자  (0) 2020.02.01
아스키 코드표  (0) 2020.02.01
변수의 저장 범위  (0) 2020.02.01

안녕하세요?

오늘은 연산자, 그중에서도 산술 연산자에 관하여 알아보겠습니다.

 

• 산술 연산자

산술 연산자란 우리가 일생생활에서 많이 하는 덧셈, 뺄셈, 곱셈, 나눗셈과 나머지를 구하는 연산자 입니다.

딱히 어려울 것이 없기 때문에 정의와 기호만 정확하게 외워 주시면 될 것 같습니다.

그럼 본격적으로 산술 연산자에 관하여 자세히 알아 볼까요?

우리가 코딩을 하면서 아까 말했듯이 사칙연산을 해야 하는 경우가 많이 있습니다.

그중 덧셈을 하기 위해서는 덧셈 기호인 '+' 를 쓰면 됩니다.

예) a + b;

그리고 뺄셈도 마찬가지 입니다.

예) a - b;

곱셈은 흔히 말하는 '별' 기호를 씁니다.

예) a * b;

마지막으로 나눗셈은 '슬래시' 를 쓰죠.

예) a / b;

그리고 특별한 것 하나 더 있습니다.

바로 '나머지' 입니다.

나머지의 기호로 우리는 '퍼센트' 기호를 씁니다.

예) a % b;

이렇게 산술 연산자가 있다고 보시면 됩니다.

예제를 볼까요?

<예제>

 

#include <stdio.h>

int main()

{

       int a = 10, b = 3;

       printf("%d ",a + b);

       printf("%d ",a - b);

       printf("%d ",a * b");

       printf("%d ",a / b);

       printf("%d ",a % b);

}

 

<결과>

 

13 7 30 3 1

 

이렇게 되겠습니다.

다시 말하자면, +, -, *, /, % 라는 기호와, 그 기호가 의미하는 것에 관해서만 확실히 알고 넘어가시면 되겠습니다.

제 강의를 읽어 주셔서 감사합니다.

수정할 사항은 꼭 제보해 주세요.

'C언어 공부' 카테고리의 다른 글

복합 대입 연산자, 관계 연산자  (4) 2020.02.08
<잠깐 쉬어가기> 코딩을 잘하는 방법  (6) 2020.02.03
아스키 코드표  (0) 2020.02.01
변수의 저장 범위  (0) 2020.02.01
입력문과 출력문(2)  (0) 2020.01.30

안녕하세요??

오늘은 아스키 코드표에 관한 강의를 작성해 보겠습니다.

 

• 아스키 코드란??

아스키 코드는 숫자를 문자로 표현하기 위한 일종의 약속이라고 할 수 있습니다.

즉, 특수문자, 숫자, 문자에 번호를 붙여서 이를 컴퓨터에게 알려주는 방식이라고 생각하면 될 것입니다.

아스키 코드는 미국표준협회 에서 정한 표준 부호입니다.

 

• 아스키 코드표

 

 

 

--> 아스키 코드표는 0번부터 126번까지 있다 보시면 됩니다. 

--> 쓸 곳이 아주 많지는 않지만 그래도 알아두면 유용하니 꼭 알아두시기 바랍니다.

(A가 65번이라는 것 정도만 알아두세요)

 

다음 강의에서는 연산자에 관하여 알아보겠습니다.

'C언어 공부' 카테고리의 다른 글

<잠깐 쉬어가기> 코딩을 잘하는 방법  (6) 2020.02.03
산술 연산자  (0) 2020.02.01
변수의 저장 범위  (0) 2020.02.01
입력문과 출력문(2)  (0) 2020.01.30
입력문과 출력문(1)  (0) 2020.01.30

안녕하세요?

오늘은 변수의 저장 범위에 관하여 자세히 알아보도록 하겠습니다!

제가 지난번 강의에서 변수에 관해서 설명을 해드렸을텐테요, 변수 별로 저장 범위가 있는데 이 부분을 많은 사용자들(저 포함) 이 코딩을 처음 시작할 때 틀립니다.

그래서 오늘은 이런 실수를 예방하게 위해 변수의 저장 범위에 관하여 자세히 알아보겠습니다!

 

​​​​​​• 변수의 저장 범위

모든 변수는 data type 에 따라 저장 범위를 가지고 있습니다. 

아래 표는 많은 자료형의 저장 범위를 나타낸 것입니다.

 

자료형 범위 바이트
char -128~127 1
unsigned char 0~255 1
short int -32768~32767 2
unsigned short 0~65535 2
int -2147483648~2147483647 4
unsigned int 0~4294967295 4
long -2147483638~2147483647 4
unsigned long 0~4294967295 4
long long int -9223372036854775808~9223372036854775807 8
float

+-3.4*10-38~+-3.4*1038

(유효자릿수 = 7)

4
double

+-1.7*10-308~+-1.7*10308

(유효자릿수 = 15)

8
long double

+-3.4*10-4916~1.1*104932

(유효자릿수 = 19)

12
bool 0,1 1/8

 

휴... 숫자가 정말 크네요...

-->여기서 주의할 점은!!

1. 정수형 자료를 저장하기 위해서는 무조건 int 형으로 변수를 선언해야 합니다. (int 형도 문자가 저장 가능합니다.)

2. 문자형 자료를 저장하기 위해서는 무조건 char 형으로 변수를 선언해야 합니다.(char 형도 정수가 저장 가능합니다.)

3. 실수형 자료를 저장하게 위해서는 무조건 double 형으로 변수를 선언해야 한다.

4. 정수의 크기가 2^31 을 넘어가는 자료를 저장하기 위해서는 long long 형으로 자료를 저장해야 합니다.

5. 0 또는 1 만 저장하기 위해서는 bool 을 선언하는 것이 좋습니다.

6. 양수 형태만 저장하기 위해서는 unsigned 형을 사용하세요!!

7. 변수의 크기를 모르고 프로그래밍 할 경우 많은 오류가 날 수 있습니다.
 

*** 실수형 변수를 선언 할 때 저는 double 형을 선호합니다.

 

다음 강의에서는 아스키 코드표에 관하여 알아보도록 하겠습니다.

감사합니다!!!

'C언어 공부' 카테고리의 다른 글

산술 연산자  (0) 2020.02.01
아스키 코드표  (0) 2020.02.01
입력문과 출력문(2)  (0) 2020.01.30
입력문과 출력문(1)  (0) 2020.01.30
CodeupCoder's blog에 오신것을 환영합니다!!  (2) 2020.01.30

안녕하세요?

오늘은 탈출문자와 변환문자, 그리고 출력 서식을 이용한 자릿수 지정에 관해서 알아보도록 하겠습니다.

 

• 탈출문자

탈출문자는 출력함수들에서 사용되는 예외적인 문자들을 말합니다. 

예를 들어 따옴표를 출력할 때는 \'를 출력해야 따옴표가 출력되는 것과 같습니다.

탈출문자(Escape Sequence) 의 종류

탈출문자              기능

\b                 back space

\n                 new line(enter)

\t                 tab

\\                \ 출력

\'                 ' 출력

\"                " 출력

\0               NULL 

%%              % 출력

--> 이런 탈출문자들은 파일명을 출력할 떄 등에 요긴하게 쓰이므로 중요한 것은 외워두는 것이 좋습니다!!

 

• 변환문자

제가 첫 강의를 올릴 때 printf 문과 scanf 문을 사용하면서 %d 라는 것을 사용했는데요, 바로 이것이 대표적인 변환문자입니다.

--> 변환문자는 특정 값을 다양한 형태의 값으로 변환시켜 주는 기능입니다.

--> 여기서 다양한 형태란, 정수에서 이진수로, 정수에서 실수로 등을 말합니다.

변환문자의 종류

변환문자        출력형태

%d               10진수

%lld             64비트 정수

%c               한 문자 형태

%f               float 형태의 실수

%lf              double 형태의 실수

%s              문자열

%o             8진법

%x             16진법

%u            부호없는 10진수

%p            pointer 값을 16진수로

%i             정수

이렇게 많은 변환문자들이 있습니다.

이 변환문자들도 꼭 외워주세요!! 아주 자주 쓰이는 문법입니다.

 

• 출력 서식을 이용한 자릿수 지정

출력 서식을 이용한 자릿수 지정이란 무엇일까요??

바로 자신이 출력하고 싶은 소수점 아래 자릿수까지 출력하는 문법입니다.

이 문법 역시 '소수점 n 자리까지 출력하시오' 라는 문제에서 자주 사용됩니다.

이런 문법을 구사하는 방법은 아주 간단합니다!!

바로 변환문자 앞에 .n을 붙이는 것이죠. (여기서 n은 임의의 수 입니다.)

n은 자신이 원하는 소수점 자릿수로 해 주면 됩니다.

<예>

--> 소수점 3자리 까지 출력하고 싶을 때

#include <stdio.h>

int main()

{

       double a = 3.14;

       printf("%.3lf",a);

       return 0;

}

이 알고리즘의 실행결과는 '3.140' 이 됩니다.

 

• 요약

탈출문자는 출력함수들에서 사용되는 예외적인 문자들이다.

변환문자는 특정 값을 다양한 형태의 값으로 변환시켜 주는 기능이다.

변환문자 앞에 .n을 붙이면 소수점 아래 몇 자리까지 출력할지를 지정할 수 있다.

 

--> 다음 강의에서는 변수의 저장 범위에 관하여 알아보도록 하겠습니다.

 

강의 읽어 주셔서 감사합니다.

'C언어 공부' 카테고리의 다른 글

산술 연산자  (0) 2020.02.01
아스키 코드표  (0) 2020.02.01
변수의 저장 범위  (0) 2020.02.01
입력문과 출력문(1)  (0) 2020.01.30
CodeupCoder's blog에 오신것을 환영합니다!!  (2) 2020.01.30

+ Recent posts