Programming 기초/C Language

C 언어 기초 #2 printf(), scanf()

코딩상륙작전 2022. 11. 8. 23:04

*자료형(data type)이란 변수가 저장할 데이터가 정수인지 실수인지 아니면 또 다른 어떤 데이터인지를 지정하는 것.

 

표준자료형

정수형 : short, int, long

부동 소수점형 : float, double, long double

문자형 : char

 

sizeof() 연산자 : 자료형의 크기, 변수나 자료형 크기를 바이트 단위로 반환하는 연산자

 

*인수 :함수에게 전달하는 데이터 “hello world” 가 함수의 인수가 됨. C언에어서 하나의 문자를 표시랄 때는 ‘a’와 같이 작은따옴표를 사용한다. 텍스트 문자열을 표시할 때는 “abc”와 같이 큰 따옴표를 사용한다.

 

*printf(“두수의 합: %d”, sum);

-> 형식지정자 : 출력 형식을 지정. 변수 sum의 값을 10진수 정수 형태로 출력하라는 것을 의미. “%d”와 같은 것을 형식 지정자라고 한다. 형식지정자와 변수의 타입을 일치시켜야 함.

->  “” 다옴표를 출력하고 싶으면 앞에 역슬러시를 넣어줘야 출력됨. \“ hello world \”

%d : 10진 정수로 출력

%f : 실수로 출력. 실수 출력시 기본적으로 소수점 6자리까지만 출력. 넘으면 반올림 됨.

float형은 유효숫자 6자리. double형은 유효숫자 16자리.

%c : 문자로 출력 -> printf(“%c \n”, ‘a’); -> a

%s ; 문자열로 출력 -> printf(“%s \n”, “hello”); -> hello

%u : unsigned 정수형에 경우 형식지정자로 %u를 쓴다.

%10.3f : 소수점 이하 자리수 제한. 전체 10자리 중에서 소수점 이하를 3자리로 하라는 것을 의미.

%e / %E : 부동 소수점. 지수 표기법으로 출력하는 형식 지정자. e와 E는 지수 문자의 대소문자 차이.

%g : 실수를 출력할 때 만약 소수점 이하 6자리 안에서 표현이 가능하면 %f방식을 사용하고 그렇지 않으면 %e 방식을 사용.

%p : 포인터의 주소값을 16진법으로 표기.

 

*scanf(“%d, &y); // 하나의 정수를 받아서 y에 저장

첫 번째 인수인 “%d”는 형식 지정자로서 정수형의 데이터를 받을 것임을 지정.

두 번재 인수인 “&y”는 입력을 받을 변수의 주소.

-> &(앰퍼샌드) : 변수는 메모리에 생성되고 따라서 주소를 가지고 있다. 변수 이름 앞에 &를 붙이면 변수의 주소를 의미한다. scanf()는 printf()와 달리 변수의 값을 받는 것이 아니라 변수의 주소를 받는다.

scanf()의 형식지정자

%d : 정수를 10진수로 입력

%f : float형의 실수로 입력

%lf : double형의 실수로 입력

%c : 문자 형태로 입력

%s : 문자열 형태로 입력 -> char s[10]; scanf(“%s”, s); -> 배열은 그자체가 포인터이므로 &(앰퍼샌드)를 안씀

 

출처 : 쉽게 풀어쓴 C언어 Express