C/기초

기본 입출력

컴공 윤서혜 학습일기 2019. 7. 25. 13:47

#include <stdio.h> 이곳 스탠다드인풋아웃풋 해드업 파일안에는 전부 이미 입출력함수가 들어가 있는 상황이기 때문에 따로 import를 하지 않아도 된다.

 

C언어에서는 기본 입출력 함수를 이용하여 사용자와 상호작용 할 수 있다. 대표적으로 scanf("%d", &x)라는 x라는 정수에 사용자에게 입력받은 값을 삽입한다는 의미의 코드이다. 다만 사용자로부터 입력 받을 자료혀엥 따라서 %d, %c, %f, %lf 등의 다양한 문법을 사용해야 한다는것에 유의해야 한다. 그리고 반면에 프로그램에서 사용자에게 메세지를 출력할 때는 가장 대표적으로 printf();를 이용한다. 물론 이들은 텍스트 기반의 입출력이며 나중에 GUI를 배우게 되면 사용자에게 글자 뿐만 아니라 이미지도 보여줄 수 있다.

#ifdef _MSC_VER
#define _CRT_SECURE_NO_WARNINGS
#endif
//dev c++과 다르게 비주얼스튜디오는 값을 입력받으려면 이걸 꼭 해야한다.

#include <stdio.h>

int main()
{
	char o;
	int x, y;
	while (1)
	{
		printf("수식을 입력하세요 : ");
		scanf("%d %c %d", &x, &o, &y);
		if (o == '+')
		{
			printf("%d %c %d = %d\n", x, o, y, x + y);
		}
		else if (o == '-')
		{
			printf("%d %c %d = %d\n", x, o, y, x - y);
		}
		else if (o == '*')
		{
			printf("%d %c %d = %d\n", x, o, y, x * y);
		}
		
		else if (o == '/')
		{
			printf("%d %c %d = %d\n", x, o, y, x / y);
		}
		getchar(); //만약이것이 들어가지않는다면 프로그램의 버퍼를 이용하지 않았기 때문에 바로
        프로그램을 종료하겠습니까와 잘못입력했다는 문구가 나올것이다. 왜냐하면 C언어에서는
        enter도 입력문자로 인식하기 떄문이다.
        
		printf("프로그램을 종료하시겠습니까? (y/n)\n");
		scanf("%c", &o);
		if (o == 'n' || o == 'N')
		{
			continue;
		}
		else if(o == 'y' || o == 'Y')
		{
			break;
		}
		else
		{
			printf("잘못입력하였습니다. 다시 입력해주세요\n");
			continue;
		}
	}
	return 0;
}

getchar()를 사용하면 enter를 입력받는것을 효율적으로 걸러낼수있다.

 

 

 

정해진 개수로 값을 더하는것도 해보자

#ifdef _MSC_VER
#define _CRT_SECURE_NO_WARNINGS
#endif

#include <stdio.h>

int main()
{
	int number, x, i, sum = 0;
	printf("정수의 개수를 입력하세요 : ");
	scanf("%d", &number);
	for (i = 0; i < number; i++)
	{
		printf("정수의 값을 입력하세요 : ");
		scanf("%d", &x);
		sum += x;

	}
	printf("전체 정수의 값은 %d 입니다.\n", sum);
	return 0;
}

 

'C > 기초' 카테고리의 다른 글

사용자 정의 함수  (0) 2019.07.25
기본 입출력 추가 설명  (0) 2019.07.25
반복문  (0) 2019.07.25
JAVA와 C언어의 차이점  (0) 2019.07.25
자료형 (char, int && 8진수, 10진수, 16진수)  (0) 2019.07.23