본문 바로가기

프로그래밍 언어/C 언어

C언어 독학 3일차ㅏ~

즐거운 배움의 시간 ㅎㅅㅎ 재밋는데 힘들고 어렵구 처음 보는 단어들이라 그렇겟지!!!! 파이팅이다 가즈아


⊙자료형

자료형이란 나에게 맞는 데이터 타입들을 말하는 말이다.

Data Type 






Primitive(원시자료형) → char(문자), int(숫자, 정수), float, double(숫자, 실수)


Derivied(파생자료형) → array, pointer, function


User Defined(사용자 정의 자료형) → enum, structure, union


보통 원시 자료형을 많이 쓰고 void는 자료형이 없다는 뜻이다. 또한,  C언어에서는 string 자료형이 없기 때문에 char 자료형을 연속적으로 쓴다.



Variables Data Types

 Interger

 Character

 Float

 Double


 Double 자료형


1. #inclube <stdio.h>

2. #define MONTHS 12

3. 

4. int main(void)

5. {

6.     double monthSalary = 1000.5;

7.     printf("$ %.2f", monthSalary * MONTHS); (= printf("$ %.2f", monthSalary * 12))

8.     return 0;

9. }


define 이라는 것은 상수에 대한 정의를 내릴때 쓰는 단어이다. 예를 들면 정해져 있는 원주율같은 값을 말할 때 쓰이는 단어이다. months 12 즉, 1년에는 12개월이다를 말하는 말이다.


따라서 1년지 월급. 즉, 연봉을 계산한 값이다.


⊙ char 자료형


1. #include <stdio.h>

2.

3. int main(void)

4. {

5.      char x = 'A'; (= char x = 65;)

6.      printf("%c", x);

7.      return 0;

8. }


char는 문자를 나타내 주는 자료형이며 %c는 char를 출력해 줄 수 있는 단어이다. 여기서 char는 내부적으로는 숫자로 운영되고 있는데 이 숫자들을 아스키코드(ascii code)라고 한다. 아스키코드는 밑에 사진과 같이 표로 정의되어 정해진 약속이라고 할 수있다. 그래서 char x = 65가 될 수 있는 이유는 A=65이기 때문이다. 



여기서 잠깐, char 자리에 int를 넣고 출력값을 %c가 아닌 %d(정수형)으로 출력하면 어떻게 될까.

다음과 같이 int 형과 char형은 구분없이 사용이 가능하며 int로 바꾼다 한들 %c이면 char 형으로 출력이 된다. 


따라서 int x = A는 char 형으로 나와 A가 되는 것이고 이것 또한 65로 하면 A가 나온다. 그리고 char z = B를 정수형으로 출력하니 아스키코드에 나와있는 것과 같이 B=66, 66이 나왔다. 


⊙ int 형을 다른 진수로 바꾸기


1. #include <stdio.h>

2. 

3. int main(void)

4. {

5.        int x = 100;

6.        printf("10진수로 출력 : %d/n", x);

7.        printf("8진수로 출력 : %o/n", x);

8.        printf("16진수로 출력 : %x/n", x);

9.        return 0;

10. }


%d는 정수형 즉, 10진법을 나타내고

%o는 8진수를 나타낸다. 8진수란 0~7까지하고 8을 표현하기 위해 다시 10이라고 쓰는 것을 말한다.

%x는 16진수를 나타낸다. 16진수란 0~9까지는 10진법으로 표현하고 10~16까지를 A~F로 표현해 반복적으로 표현하는 것을 말한다.


'프로그래밍 언어 > C 언어' 카테고리의 다른 글

C언어 독학 6일차!  (0) 2018.06.01
C언어 5일차지롱 ㅎㅅㅎ  (0) 2018.05.31
C언어 독학 4일차 ㅎㅅㅎ  (0) 2018.05.30
C언어 독학 2일차~!! 20180524  (0) 2018.05.24
c 언어 독학 1일차!!! 20180523  (0) 2018.05.24