03-1 변수

hwakyoung·2022년 9월 5일
0
post-thumbnail

오늘도 어김없이 나는 c언어를 한다^^


변수 선언 방법

  • 데이터의 종류에 맞는 자료형과 변수명을 나란히 쓰면 된다.
int a;
  • 새 프로그램에서 의미가 없는 값을 쓰레기 값 이라고 한다.
a=10;
  • =기호는 오른쪽 값을 왼쪽에 저장한다는 의미이다.

변수의 선언과 사용 코드

#include <stdio.h>

int main(void)
{
int a;
int b, c;
double da;
char ch;

a=10;
b=a;
c=a+20;
da=3.5;
ch='A'

printf("변수 a의 값 : %d\n",a);
printf("변수 b의 값 : %d\n",b);
printf("변수 c의 값 : %d\n",c);
printf("변수 da의 값 : %.1lf\n",da);
printf("변수 ch의 값 : %c\n",ch);

return 0;
}

결과창

변수 a의 값 : 10
변수 b의 값 : 10
변수 c의 값 : 30
변수 da의 값 :3.5
변수 ch의 값 : A

정수 자료형

  • 변수는 데이터를 저장하는 메모리의 공간이며 데이터 종류에 따라 다양한 형태를 사용한다.
    이와 같은 변수의 형태를 자료형 혹은 데이터라고 한다.

char형 변수의 사용

#include <stdio.h>

int main(void)
{
char ch1= 'A';  //문자로 초기화, 저장된 값은 문자의 아스키 코드 값
char ch2= 65; //문자 'A'의 아스키 코드 값에 해당하는 정수로 초기화

printf("문자 %c의 아스키 코드 값 :%d\n",ch1,ch2);
printf("아스키 코드 값이 %d인 문자 :%c\n" ,ch2,ch2);

return 0;
}

결과창

문자 A의 아스키 코드 값 : 65
아스키 코드 값이 65인 문자 : A

특별한 이유가 아니면 int를 사용한다.

char <= short <= int <= long <=long long

unsigned 정수 자료형

  • 나이와 같이 음수가 없는 데이터를 저장할 때는 unsigned를 사용한다.
  • unsigned 가 없으면 자동으로 signed로 선언된다.

unsigned를 잘못 사용한 경우

#include <stdio.h>

int main(void)
{
	unsigned int a;
    
    a=4294967295;  //큰 양수 저장
    printf("%d\n",a); //%d로 출력
    a=-1;    //음수 저장
    printf("%u\n",a); //%u로 출력
    
    return 0;
    }

결과창

-1
4294967295

unsigned형 변수에 음수도 저장하고 출력할 수 있다.
but 연산하거나 대소를 비교할 때는 부호 비트를 고려하지 않고 항상 양수로 처리하므로 결과가 예상과 다를 수 있다.

유효 숫자 확인

#include <stdio.h>

int main(void){
flaot ft=1.234567890123456789;			//유효 숫자가 많은 값으로 초기화
double db=1.234567890123456789;

printf("float형 변수의 값 : %20f\n",ft);	 	// 소수점 이하 20자리까지 출력
printf("double형 변수의 값 : %20f\n",ft);

return 0;
}

결과창

float형 변수의 값:1.23456788063049316406
double형 변수의 값:1.23456789012345667043

float와 double을 비교해서 계산해 봤을 때 double이 우리가 원했던 숫자와 좀 더 가까웠다는 걸 알 수 있다.

문자열 저장

char 배열명[문자열길이+1]=문자열;


예를 들어 apple 같은 문자열도 변수에 담아야 할 때가 있다.
이때는 char형을 배열 형태로 만들어 저장한다.


char fruit[6] = "apple";

결과창

컴파일러가 문자열의 끝에 \0(널 문자)를 자동으로 추가한다.
profile
fire-irror

0개의 댓글