C언어 기초 #1 자료형
c계열언어 강좌 총정리
개발환경 >> Visual Studio Code
언어 >> C17
운영체제 >> Windows10
안녕하세요~
이번에 C->C++->C#순으로 강좌 이어나가보도록하겠습니다.
우선 저는 지금까지 입문이랑은 살짝 동떨어진 강좌를 올렸었는데 이러한
입문강좌를 시작하게된 동기는 두가지입니다.
첫번째는 개인공부,
두번쨰는 입문자분들에게 조금이라도 도움이되라는 마음에서 시작하겠습니다.
그럼 시작하겠습니다!
[ 자료형의 종류 ]
C언어에서 자료형은 이렇게 분류되어있습니다.
대게 정수형 실수형 문자형입니다.
차례대로 알아보겠습니다.
[ 정수형 ]
#include <stdio.h> //printf() 함수사용
int main(){
int Integer = 3; //int형변수에 3이라는 값을 저장
printf("%d", Integer); //콘솔창에 출력, %d는 나중에 강좌에서 다루겠습니다.
}
위와 같이 3이라는 값이 나왔습니다.
정수형데이터란 우리가 흔히 수학에서사용하는 소수점이없는 수를 의미한다고 보시면됩니다.
3, 4, 6, 5등등...
[ 실수형 float ]
#include <stdio.h> //printf() 함수사용
int main(){
float PI = 3.14; //실수형데이터에 3.14라는 값저장
printf("%f", PI); //출력 %f는 실수형데이터 포맷형식
}
결과값으로 이렇게나왔습니다.
하지만 float으로 다음과같은 실수를 넣으면 중간에 값이 더이상 바뀌지않거나 이상해지는것을 볼수가있습니다.
#include <stdio.h>
int main(){
float PI = 3.14123123213999912312312313199998;
printf("%.30f", PI); //.30은 소수점아래 30자리까지 표기하도록 명령
}
이럴때는 double을 사용해보세요
[ 실수형 double ]
#include <stdio.h>
int main(){
double PI = 3.14123123213999912312312313199998; //8바이트 실수형
printf("%.30lf", PI);
}
잘보면 중간에 값이 끊기긴했지만 값이 정상적으로 출력된것을 볼수가있다.
하지만,,이렇게하면 소수점아래에 존재하는 값을 무한히 넣을수가없는거잖아요.
이와 관련된 문제는 나중에 C++자료구조 관련강좌를 진행할때 해결하는방법을 알려드리겠습니다.
[ 문자형 char ]
char은 사실 숫자로 되어있지만 문자로도 표기할수있습니다.
자료형 char에관해서 완벽히 숙지하기위해서는 ASCII라는 표기방식을 이해해야합니다.
이 표는 절대로 암기를 안해도 됩니다.
실제로 암기하는 사람은 거의 없을거예요.
다음은 ASCII코드표입니다.
이 표를 실제 코딩할때 어떻게 보고 표기할수있을까요?
#include <stdio.h>
int main(){
char ascii = 'a'; //문자형 데이터 'a'를 저장
printf("%c %d", ascii, ascii); //첫번째 %c의 포맷형식은 단일문자표기형식입니다.
}
첫번째는 %c 단일문자로 포맷한것이고 두번째는 %d 정수형태로 포맷한것입니다.
똑같은 변수를 받았는데 왜 다를까요?
ASCII표기방식을 이해하면 바로알수있습니다.
위에 표를 보시면 97옆에 a가있는것을 보실수있는데 바로 이런점때문에 ASCII표기방식을 이해해야한다고 했습니다.
또는 이렇게 정수를 넣어서도 사용이 가능합니다.
#include <stdio.h>
int main(){
char ascii = 97; //정수형 97
printf("%c %d", ascii, ascii);
}
결과값은 보시다시피 똑같습니다.
왜냐하면 97이곧 'a'이고 'a'가 곧 97이기 때문입니다.
''는 뭐냐면 단일문자를 사용하고싶을때 쓰는겁니다.
왜냐하면 그냥
char ascii = a;
이런식으로 적어버리면 a라는것은 단일문자로의 'a'가아니라 변수 a가되는겁니다.
따라서 다음과 같이 a는 단일문자로서의 역할을 할 수 없습니다.
이번강좌는 프로그래밍을 하다보면 제일 많이쓰이는 자료형위주로 강좌를 진행했는데요.
다음에는 여러가지 라이브러리함수와 함께 배열과 함수정의에 대해서 설명하겠습니다.
감사합니다!
'🧼C, C++ > 기초및 입문' 카테고리의 다른 글
우주선 연산자 '<=>' 사용법 ( C++20 ) (1) | 2021.06.19 |
---|---|
키로거 만들기 C++ (4) | 2021.01.29 |
표준 라이브러리 정리 <cstdlib> (stdlib.h) - C++ (C) (0) | 2021.01.14 |
C언어 기초 #3 if문과 연산자 (0) | 2021.01.13 |
C언어 기초 #2 배열과 함수 (0) | 2021.01.12 |
댓글