변수

강효림·2022년 7월 16일
0

혼공C

목록 보기
3/8

변수 선언할 때는 데이터 종류에 따라 다른 형태를 사용해야합니다.

정수 int

실수 double

문자 char

문자열 char배열

이렇게 자료형종류가 있고 자료형 안에 변수를 넣을 때는

int(자료형) a(변수명) ;

변수명만 설정하면 저장공간이 비어있기 때문에 초기화를 해줘야합니다.

a(변수명) = 3(값);

여기서 = 은 대입연산자입니다.

변수선언과 대입규칙

  1. 중괄호안에 선언한다.
  2. 변수의 자료형이 같으면 둘 이상의 변수선언이 가능하다.
  3. 대입연산자는 자료형안에 값을 저장하는 역할을 한다.

unsigned 정수 자료형

음수가 없는 데이터를 저장할 때 unsigned사용
unsigned변수에 큰 양수를 넣고 %d로 출력시 음수 나옴
unsigned 변수에 음수를 저장하고 %u로 출력시 양수 나옴

문자열 저장

문자열은 char 배열형태로 저장한다

char language(배열명) [7](문자열길이 +1) = "Korean"(문자열);

문자열길이에 +1을 해주는 이유는 \0널문자도 포함한것이다.
만약 한국어를 출력할 때는 문자 하나당 2로 잡고 +1을 해준다.

배열 선언 이후에는 대입연산자로 문자열을 입력할 수 없으니 주의하자.
만약 새로운 배열을 넣고 싶다면

strcpy변수를 사용하자.

strcpy 변수를 사용하려면 소스코드에 string.h 헤더파일을 추가한다.

#include <string.h>

strcpy(넣을 변수명, "문자열");

const 변수

const변수를 변수선언 앞에 붙이면 초기화된 값을 바꿀 수 없다.

확인문제

01

Q: float, long, char, double, int, unsigned, short 중 실수형인 것은?

A : float와 double이다.

int, long short, unsigned는 정수자료형이고
char은 문자자료형이다

02

Q : 다음 프로그램의 실행결과를 예상해보자.

#include <stdio.h>
int main(void)
{
int a= 0;
a=a+1;
a=a+2;
a=a+3;
printf("a : %d", a);
return 0;
}

A : 6

0+1+2+3과 똑같은 말이기 때문이다.
a에 선언된 값들이 계속해서 더해지는 것이다.

03

Q : 국어, 영어, 수학을 변수(kor, eng, mat)선언하고 각 70, 80, 90으로 초기화하고 총점을 변수(tot)선언하여 세과목의 합을 구하고 점수과 총점을 출력하는 프로그램을 작성하라.

A :

점수들이 정수니까 int로 선언해주고 총점도 int들의 덧셈이기 때문에 int로 선언해준다.
그리고 정수형이기 때문에 %d로 출력해주면 완벽하다!!

scanf 함수

scanf 함수는 변수 값을 키보드로 입력받는다는 뜻이다.
사용할 때 입력할 변수 앞에 &만 써주면 된다.

scanf("%d", &a);

정수와 문자를 입력받을 때는 반드시 &를 써줘야하지만 문자열 배열을 입력받을 때는 안쓴다.

확인문제

01

Q : scanf 함수의 바른 사용법을 고르시오.

char ch;
short sh;
int in;
float ft;
double db;

A : 3

1번은 %d가 아니라 %c
2번은 %d가 아니라 %hd
4번은 %f가 아니라 %lf

02

Q : 빈칸을 채워 넣으시오

A : fruit, &cnt

1번칸은 문자배열 입력이기 때문에 &를 붙이지 않고 fruit만 쓴다.
2번칸은 정수 입력칸이기 때문에 &을 붙이고 cnt를 써준다.

03

Q : 문자를 입력받아 아스키코드를 출력하는 프로그램을 만드시오.

char니까 %c로 출력하고 scanf사용하니까 &ch라고 쓴다.
아스키코드는 문자를 정수로 표현한것이기 때문에 %d에 ch값을 넣으면 알아서 정수표현이 된다.

0개의 댓글