C언어 데이터 타입 자료형
데이터 출력 방법
- %s : 문자열 출력
- %d : 정수 출력
- %f : 실수 출력
- %c : 문자 출력
예시:
printf("%s\\n", str); // 문자열 출력
printf("%d\\n", num); // 정수 출력
printf("%f\\n", pi); // 실수 출력
printf("%c\\n", ch); // 문자 출력
int
int:
정수형 변수를 선언할 때 사용합니다. 4바이트 크기를 가지며, -2147483648부터 2147483647까지의 값을 표현할 수 있습니다.
예제:
#include <stdio.h>
// int changing
int main(void) {
int x = 100;
printf("10진수로 출력: %d\n", x);
printf("8진수로 출력: %o\n", x);
printf("16진수로 출력: %x\n", x);
// 0 1 2 3 4 5 6 7 8 10 11 12 -> 8진수
return 0;
여러 진수로 출력하기!
10진수: %d
16진수: %x
8진수: %o
char
char: 문자형 변수를 선언할 때 사용합니다. 1바이트 크기를 가지며, 문자 하나를 저장할 수 있습니다.
예제:
#include <stdio.h>
int main(void){
char x = 'A';
// A(=65)는 내부적으로 숫자로 해석됨 = 아스키 코드
printf("%c", x);
return 0;
}
여기서 A는 아스키 코드와 같이 해석되기 때문에 %c를 %d로 출력하면 65로 나온다.
#include <stdio.h>
int main(void) {
int x = 65;
printf("%c\n", x); //A
char y = 65;
printf("%c\n", y); //A
char z = 'B';
printf("%c\n", z); //B
return 0;
}
이렇게 65를 넣어도 출력을 %c(문자 출력)으로 했기 때문에 A가 출력되었다.
float
float: 실수형 변수를 선언할 때 사용합니다. 4바이트 크기를 가지며, 소수점 이하 6자리 까지 표현이 가능합니다.
예제:
#include <stdio.h>
int main(void) {
float num1 = 3.1415;
float num2 = 2.0;
printf("num1 = %.4f\\n", num1); // num1 = 3.1415
printf("num2 = %.2f\\n", num2); // num2 = 2.00
return 0;
}
위 코드에서 %2f는 소수점 두번째 자리까지 반환, %4f는 소수점 네번째 자리까지 반환하는 코드이다.
출력하면
num1 = 3.1415
num2 = 2.00
의 값이 나온다.
double
double:
실수형 변수를 선언할 때 사용합니다. 8바이트 크기를 가지며, 소수점 이하 15자리 까지 표현이 가능합니다.
예시:
#include <stdio.h>
#define MONTHS 12
// 연봉 구하는 프로그램
int main(void) {
double monthSalary = 1000.5;
printf("$ %.2f", monthSalary * MONTHS); // months가 12 가져옴
return 0;
}
위의 코드에서는 MONTHS를 12로 정의하기 때문에
monthSalary * MONTS는 monthSalary * 12가 된다.
문자와 문자열 차이
- 문자(char): 하나의 문자를 나타내기 위한 자료형입니다. 작은따옴표(' ')로 묶어서 표기합니다.
- 문자열(char[]): 여러 개의 문자를 나타내기 위한 자료형입니다. 큰따옴표(" ")로 묶어서 표기합니다. 문자열의 끝을 나타내기 위해 NULL 문자('\0')를 추가해줍니다.
'개발공부 > C언어' 카테고리의 다른 글
C언어_printf 함수 이해, 특수문자(이스케이프 문자) (0) | 2023.03.22 |
---|---|
C언어_주석(/* */, //) (0) | 2023.03.22 |
C언어_리눅스 환경에서 C언어를 컴파일하는 방법 (0) | 2023.03.22 |
C언어_ 컴파일러의 역할, c언어의 장점 (0) | 2023.03.22 |
C언어_"Hello world!" 출력 (0) | 2023.03.20 |