티스토리 뷰

1
2
3
4
5
6
7
8
9
float a;
int b;
double c;
char d;
 
printf("%f",a);
printf("%d",b);
printf("%lf",c);
printf("%c",d);
cs


알고리즘문제 풀떄 입출력이 중요하다는것을 알았다.

c에서 사용되는 printf자료형별 서식문자열이다.

scanf에서도 동일한 매칭으로 사용된다.



*정수형 - 정수(integer)란 부호는 있지만 소수점 이하를 표현하지 못하는 수.

int - 4바이트 (부호 있음)                    

short int - 2바이트 (부호 있음)

long int - 4바이트(부호 있음)

unsigned int - 4바이트(부호없음)

unsigned short int - 2바이트(부호없음)



*실수형 - 실수(Real Number)란 소수점 이하를 가지는 수이며 정수보다는 한 단계 더 확장된 범위

한마디로 소수점이 있는 수. 당연히 부호 포함

float - 4바이트

double - 8바이트

long double  - 10~16바이트



*문자형 - 문자를 숫자로 기억하는 컴퓨터 -> 아스키는 0~ 255 사이의 숫자에 문자를 대응시켜서 사용

signed char - 1바이트(-128~127)

unsigned char  - 1바이트(0~255)


char형은 'A' 와같이 ' ' 사이에 문자를 넣는다 그러면 컴퓨터는 A를 아스키코드표의 따라 65로 인식하게됨.



*문자열(String) - 문자가 연속되어있는것이며 문자의 집합이 문자열이다. "" 사이에 문자열을 넣는다.

'S'와 "S"의 차이는 굉장히 크다.  마지막에 \0이 저장되기 때문(문자열은) 

c++에서는 string이라는 클래스를 제공하여 문자열을 표현한다.



*열거형 - 변수가 가질 수 있는 가능한 값들을 나열해 놓은 타입.

enum {멤버, 멤버, ...} 변수;


ex)

enum (EAST, WEST, SOUTH, NORTH} mark;

열거형은 내부적으로 0부터 1씩 증가하는 정수값을 갖는다. EAST는 정수값 0이고 WEST는 정수값 1이다.

그리고 mark에는 대입될 수 있는 값이 열거형의 멤버로 고정이 된다. 따라서 mark = 5; 같은건 쓸수가 없다.

참고로 enum { EAST = 5, WEST = 10, SOUTH, NORTH} mark; 라고 정의하면 SOUTH에는 11이 대입된다.



*태그 - 열거형 타입을 먼저 정의하고 이 타입으로부터 변수를 선언하는 방법, 

enum 태그명{멤버, 멤버,...};

enum origin{EAST, WEST, SOUTH, NORTH};


ex)

1
2
3
4
5
6
7
8
9
10
#include<iostream>
 
void main()
{
    enum fruit {APPLE, ORANGE, BANANA};
 
    fruit a;
    a = ORANGE;
    //오렌지값인 1이 a에 
}
cs


Comments