본문 바로가기
개발자

나도코딩님 C 프로그래밍 무료강의 1.printf scanf

by ⁖⁝‥ 2022. 4. 19.

1. 실수와 정수의 개념

정수는  -1,1,0 같은 수이고 실수는 -2.0, 1.3같이 소수점이 붙은 수를 실수라고 한다.

12는 정수가 되고 46.5는 소수점이 있으니까 실수이다.

 

int 앞에 const 붙이면 상수로 선언하는것임

정수는 int , 실수는 float

나이는 정수이고 키랑 몸무게는 실수이다.

나이를 할땐 int, 키랑 몸무게를 할땐 float 

 

맨처음에 시작할때

#include <stdio.h>
int main(void)
{
	
	return 0;
}

이렇게 입력해야 한다.

뭔지는 모르겠지만 입력안하면 실행이 안된다.

 

2. 자료의 형태 

4가지가 있다

  • int ->%d
  • float ->%f
  • double ->%lf
  • char -> %s

3. printf

int add = 3 + 7;
	printf("% d + % d = % d\n", 3, 7, 3+7);

더할 숫자가 정수니까 int니까 %d 라고 써야된다.

float add = 4.5 + 5.6;
	printf("%.2f + %.2f = %f\n", 4.5, 5.6, 4.5 + 5.6);

더할 숫자가 실수니까 float 이고 %f를 써야되는데 소수점 둘째자리까지 표시하려면 %.2f 라고 쓰면된다.

숫자에 소수점이 있을때 %d를 써봤는데 오류가 났다.

 

4. scanf

#include <stdio.h>
int main(void)
{
	 int input;
	printf("값을 입력하세요 : ");
	scanf_s("%d", &input);
	printf("입력값 : %d\n", input);


	return 0;
}

입력할 값이 정수이니 int라고 써야한다.

만약에 입력할 값이 단어라면

#include <stdio.h>
int main(void)
{
	 char input[256];
	printf("값을 입력하세요 : ");
	scanf_s("%s", input, sizeof(input));
	printf("입력값 : %s\n", input);



	return 0;
}

이렇게 하면 된다.

결과
결과

새롭게 알아낸 사실은

int라고 해놓고 입력값에 단어를 넣으면 오류가 났는데

char 라고 해놓고 입력값에 숫자를 넣으면 오류가 안나고 제대로 나온다.

char이 더 넓은 의미인가보다.

 

*세개의 정수 입력하기

#include <stdio.h>
int main(void)
{
	int one, two, three;
	printf("3개의 정수를 입력하세요 : ");
	scanf_s("%d %d %d", &one, &two, &three);
	printf("첫번째 값 : %d\n", one);
	printf("두번째 값 : %d\n", two);
	printf("세번째 값 : %d\n", three);


	return 0;
}

결과
결과

*문자열 입력하기

#include <stdio.h>
int main(void)
{

	char str[256];
	scanf_s("%s", str, sizeof(str));
	printf("%s\n", str);



	return 0;
}

결과
결과

여기서 드는 궁금증 문자열 세개를 입력하려면 어떻게 해야되는가...

 

5. 조서작성 프로젝트

 

	//프로젝트
	//경찰관이 범죄자의 정보를 입수(조서작성)
	//이름나이 몸무게키 범죄명

	char name[256];
	printf("이름이뭥요?");
	scanf_s("%s", name, sizeof(name));
	
	int age;
	printf("몇살이에요?");
	scanf_s("%d", &age);

	float weight;
	printf("몸무게는 몇kg입니까?");
	scanf_s("%f", &weight);

	double height;
	printf("키는 몇cm입니까?");
	scanf_s("%lf", &height);

	char what[256];
	printf("무슨일을 저질렀어요?");
	scanf_s("%s", what, sizeof(what));

	// 조서내용을 출력

	printf("\n\n--- 범죄자 정보 ---\n\n");
	printf("이름          : %s\n", name);
	printf("나이          : %d\n", age);
	printf("몸무게        : %.2f\n", weight);
	printf("키            : %.2lf\n", height);
	printf("범죄          : %s\n", what);

 

반응형

댓글