자료/C언어 스케치
[C 언어 스케치] 프로그래밍 연습 2장 문제 풀이, 솔루션
PSY_CHOPATH
2020. 6. 28. 15:40
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;
}