Coding/C

C언어 변수와 입·출력(scanf, printf) 그리고 주석

|--------3cm--------| 2021. 5. 29. 15:35

값을 저장할 수 있는 메모리 공간을 변수라 합니다.

e.g.,

int main(void) {
서식지정 변수이름;
}

Case 1 - 변수 선언
int abc;	// abc라는 int서식의 변수 선언

Case2 - 변수 선언 초기화, 대입
/*초기화 : 변수에 처음 값을 저장하는 것
대입 : 초기화 이후 저장된 값을 변경하는 것 */
int zxc;
zxc = 123;	// 변수 zxc를 123로 초기화
zxc = 321;	// 변수 zxc에 321를 대입

Case3 - 변수 선언과 동시에 초기화
int aaa=111, int bbb=222;	// 두 개의 변수 선언 및 초기화

 


 

scanf

scanf 함수는 사용자의 값을 입력 받아 변수에 대입하는 함수입니다.

e.g.,

scanf("입력받을 값의 서식문자 지정", 변수의 주소)

scanf("%d", &a)
//변수a에 정수를 입력받아 대입한다는 의미를 가지고 있습니다.

 

 


 

printf

printf 함수는 문자열 이외의 데이터를 다양한 형태로 출력하는 것이 가능합니다.

서식문자를 이용하여 출력의 형태를 지정하고 개행·특수문자를 이용하여 줄을 이동하고 특수문자를 표기할 수 있습니다.

 

◈서식문자

더보기
자료형 크기 표현범위
정수형 char 1Byte  -128 ~ 127
short 2Byte  -32,768 ~ 32,767
int 4Byte  -2,147,483,648 ~ 2,147,483,648
long 4Byte  -2,147,483,648 ~ 2,147,483,648
long long 8Byte  -9,223,372,036,854,775,808 ~  9,223,372,036,854,775,807
실수형 float 4Byte  ±3.4 x 10-37 ~ ±3.4 X 1038
double 8Byte  ±1.7 x 10-307  ±1.7 X 10308
long double 8Byte 이상  double 이상의 표현범위

[표-1] C언어 기본 자료형

※ 자료형의 표현범위가 초과가 되면 의도하지 않은 값이 나오게 되거나 오류가 발생하게 됩니다.

 

서식문자 자료형 출력 형태
%d char, short, int 부호 있는 10진수 정수
%u unsigned int 부호 없는 10진수 정수
%o unsigned int 부호 없는 8진수 정수
%x unsigned int 부호 없는 16진수 정수
%f float, double 10진수 방식의 부동소수점 실수
%e, %E float, double e 또는 E 방식의 부동소수점 실수
%g, %G float, double 값에 따라 %f와 %e 사이에서 선택
%c char, short, int 값에 대응하는 문자
%s char* 문자열
%p void* 포인터의 주소 값

[표-2] 서식문자

 

◈개행 · 특수문자

더보기
표기 의미
\n (Line feed)  줄 바꿈, 개행
\r (Carriage return)  현재 커서의 시작위치로 되돌아감
\t  Tab
\'  '(작은 따옴표) 출력
\"  "(큰 따옴표) 출력
\?  ?(물음표) 출력
\\  \(역슬래쉬) 출력

[표-3] 개행 · 특수문자

 


 

주석은 프로그램 내에 메모로 작성된 메모는 컴파일에서 제외가 되기에 프로그램 실행 결과에는

영향을 미치지 않습니다.

주석을 사용하는 이유는 작성한 프로그램에 대한 설명이나 참고사항을 작성함으로써 추후 코드를 분석 및 수정 시 시간을 최소화하는 목적이 있습니다.

 

주석 처리 방식 주석 사용 예
// // 주석 1
// 주석 2
// 주석 3
/*
 :
*/
/*
주석 1
주석 2
주석 3
*/

[표-4] 주석 사용 예

 


변수, 입·출력, 주석 통합 예제

더보기
#include<stdio.h>
int main(void) {
    int a, b=20;
    // a 변수 선언, b변수에 20으로 선언 및 초기화
    
    scanf("%d", &a);		// a 변수 사용자 입력 값 대입
    
    printf("%d %d\n", a, b);	// a, b 변수 값 출력 후 다음 줄
    
    printf("\'a\'는%d\?\t\"b\"는%d\n", a, b);
    // 특수문자와 한글, 변수 출력 후 다음 줄
    
    printf("1234\r5678");
    /* 1234 출력 후 \r으로 인해 맨 앞으로 되돌아가 5678을 출력
	1234값 위에 5678값이 덮어쓰게 됨 */ 
}

 

[사진-1] 예제 출력 결과 

 

'Coding > C' 카테고리의 다른 글

분기문(if, if ~ else, switch)  (0) 2021.06.12
반복문(while, do ~ while, for)  (0) 2021.06.06
연산자  (0) 2021.06.05
C언어 기본 구조  (0) 2021.05.09
[VS Code] C / C++ 컴파일 및 실행  (0) 2021.03.13