본문으로 바로가기

CHAPTER 2 ::

프로그래밍 연습


1. 다음 조건을 만족하는 프로그램을 작성하시오.

함수 printf( )에서 문자 상수를 이용하여 다음 문자를 한 줄에 출력
! @ # $ ^ & *

 

문자출력 형식제어문자 %c를 이용하기

#include <stdio.h>

int main(void)
{
	printf("%c %c %c %c %c %c %c \n", '!', '@', '#', '$', '^', '&', '*');

	return 0;
}

 

그냥 문자열에 입력하기

#include <stdio.h>

int main(void)
{
	printf("! @ # $ ^ & * \n");

	return 0;
}


2. 다음 조건을 만족하는 프로그램을 작성하시오.

함수 puts(“BCPL -> B -> C”)와 같은 출력이 되도록 함수 printf( )를 사용하여 출력
#include <stdio.h>

int main(void)
{
	printf("BCPL -> B -> C\n");

	return 0;
}


3. 다음 조건을 만족하는 프로그램을 작성하시오.

함수 printf( )만을 이용하여 팔진수 47을 십진수로 출력

 

8진수 앞에 0을 붙이면 8진수로 인식함

#include <stdio.h>

int main(void)
{
	printf("%d\n", 047);

	return 0;
}

 

\ddd 형식으로 8진수 입력하기

#include <stdio.h>

int main(void)
{
	printf("%d\n", '\047');	//	printf("%d\n", '\47'); 도 가능

	return 0;
}


4. 다음 조건을 만족하는 프로그램을 작성하시오.

함수 printf( )만을 이용하여 16진수 3df를 십진수로 출력

 

16진수 앞에 0x 또는 0X를 붙이면 16진수로 인식함

#include <stdio.h>

int main(void)
{
	printf("%d\n", 0X3df);	//	printf("%d\n", 0x3df); 도 가능하다, (대,소문자 X 다 가능)

	return 0;
}


5. 다음 조건을 만족하는 프로그램을 작성하시오.

523.45, 238.34567E3, 33489.134E-3
#include <stdio.h>

int main(void)
{
	printf("%f %f %f \n", 523.45, 238.34567E3, 33489.134E-3);

	return 0;
}


6. 다음 조건을 만족하는 프로그램을 작성하시오.

변수를 사용하지 말고 함수 printf( )만을 이용하여 반지름이 6.89인 원의 면적을 실수로 출력

 

원의 면적 = r * r * 원주율 (r은 원의 반지름)

#include <stdio.h>

int main(void)
{
	printf("%f\n", 6.89 * 6.89 * 3.14);

	return 0;
}


7. 다음 조건을 만족하는 프로그램을 작성하시오.

변수를 사용하지 말고 함수 printf( )만을 이용하여 하루가 몇 초인지 출력

 

하루 = 24시간

1시간 = 60분

1분 = 60초

#include <stdio.h>

int main(void)
{
	printf("%d\n", 60 * 60 * 24);

	return 0;
}


8. 다음 조건을 만족하는 프로그램을 작성하시오.

하루가 몇 초인지 변수 seconds에 저장하여 출력
#include <stdio.h>

int main(void)
{
	int 초 = 60 * 60 * 24;
	printf("%d\n", 초);

	return 0;
}


9. 다음 조건을 만족하는 프로그램을 작성하시오.

변수 point1을 선언하여 중간고사 성적인 95를 저장, 변수 point2를 선언하여 기말고사 성적인 84를 저장.
두 수의 합을 변수 total에 저장하여, 두 수와 합을 적절히 출력.

 

변수선언 이후 초기화

#include <stdio.h>

int main(void)
{
	int point1, point2, total;
    
   	point1 = 95; point2 = 84;
	total = point1 + point2;

	printf("total = %d\n", total);

	return 0;
}

 

변수선언 및 초기화

#include <stdio.h>

int main(void)
{
	int point1 = 95, point2 = 84;
	int total = point1 + point2;

	printf("total = %d\n", total);

	return 0;
}


10. 위 문제에서 다음 조건을 추가하여 프로그램을 작성하시오.

두 수의 평균도 추가하여 2회 출력.
첫 번째는 나누기 계산을 연산식 ( total / 2 )으로 하고, 결과는 정수로 출력 (자동으로 소수점을 버리고 출력됨) .
두 번째는 나누기 계산을 연산식 ( total / 2.0 )으로 하고, 결과는 실수로 출력됨.

 

첫번째 평균에서는 묵시적 형변환, 내림변환이 발생함

두번째 평균에서는 묵시적 형변환, 올림변환이 발생함

#include <stdio.h>

int main(void)
{
	int point1 = 95, point2 = 84;
	int total = point1 + point2;

	printf("total = %d\n", total);
	printf("첫 번째 평균 = %d\n", total / 2);
	printf("두 번째 평균 = %f\n", total / 2.0);

	return 0;
}