728x90
<Lab 01 문제 유형 요약>
- Program 1 : 8진수, 16진수, 10진수 아스키코드로 문자 출력
- Program 2 : 매크로 상수 (#define) 전처리
- Program 3 : 문자의 8진수, 16진수, 10진수 아스키코드 출력
- Program 4 : 문자형 연산 (문자와 정수 연산)
- Program 5 : getchar(), putchar() / 문자의 8진수, 16진수, 10진수 아스키코드 출력
- Program 6 : 헤더파일 (.h), 매크로 상수
- Program 7 : 좌측 정렬 출력, 우측 정렬 출력
- Program 8 : 정수 실수 형변환 (캐스팅casting)
Program 1
다음 조건을 만족하는 프로그램을 작성하시오.
- 아스키코드 값이 8진수로 041에서 045까지인 문자 출력
- 아스키코드 값이 16진수로 0x41에서 0x45까지인 문자 출력
- 아스키코드 값이 10진수로 97에서 101까지인 문자 출력
#include <stdio.h>
int main()
{
printf("%c %c %c %c %c\n", 041, 042, 043, 044, 045);
printf("%c %c %c %c %c\n", 0x41, 0x42, 0x43, 0x44, 0x45);
printf("%c %c %c %c %c\n", 97, 98, 99, 100, 101);
return 0;
}
Program 2
아파트 면적인 18평, 25평, 32평, 44평, 52평을 제곱미터(m2)의 면적으로 출력하는 프로그램을 작성하시오. 평을 제곱미터 면적으로 환산하는 매크로를 정의하여 사용하시오.
- 1평은 3.305785제곱미터(m2)
#include <stdio.h>
#define PYEONG 3.305785
int main()
{
printf("%fm^2 %fm^2 %fm^2 %fm^2 %fm^2", 18*PYEONG, 25*PYEONG, 32*PYEONG, 44*PYEONG, 52*PYEONG);
return 0;
}
* 평은 영어로 표현이 없음
Program 3
다음 문자 5개에 대해 다음 조건을 만족하는 프로그램을 작성하시오.
- # $ ^ & *
- 문자, 8진수 코드 값, 10진수 코드 값, 16진수 코드 값 출력
#include <stdio.h>
int main()
{
printf("# : 문자(%c), 8진수(%o), 10진수(%d), 16진수(%x) \n", '#', '#', '#', '#');
printf("$ : 문자(%c), 8진수(%o), 10진수(%d), 16진수(%x) \n", '$', '$', '$', '$');
printf("^ : 문자(%c), 8진수(%o), 10진수(%d), 16진수(%x) \n", '^', '^', '^', '^');
printf("& : 문자(%c), 8진수(%o), 10진수(%d), 16진수(%x) \n", '&', '&', '&', '&');
printf("* : 문자(%c), 8진수(%o), 10진수(%d), 16진수(%x) \n", '*', '*', '*', '*');
return 0;
}
Program 4
다음 조건을 만족하는 프로그램을 작성하시오.
- 문자형 연산 ‘A’ + 2 결과를 문자로 출력
- 문자형 연산 ‘A’ + 5 결과를 문자로 출력
- 문자형 연산 ‘S’ - 1 결과를 문자로 출력
- 문자형 연산 ‘S’ - 3 결과를 문자로 출력
#include <stdio.h>
int main()
{
printf("'A' + 2 : %c\n", 'A'+2);
printf("'A' + 5 : %c\n", 'A'+5);
printf("'S' - 1 : %c\n", 'S'-1);
printf("'S' - 3 : %c\n", 'S'-3);
return 0;
}
Program 5
표준 입력으로 문자 하나를 입력받아 다음 조건을 만족하는 프로그램을 작성하시오.
- 함수 getchar()로 문자 하나 입력 받음
- 함수 putchar()문자 그대로 출력
- 함수 printf()로 문자의 코드 값을 십진수, 팔진수, 십육진수로 출력
#include <stdio.h>
int main()
{
char ch = getchar();
putchar(ch);
printf("\n십진수(%d), 팔진수(%o), 십육진수(%x)", ch, ch, ch);
return 0;
}
Program 6
표준입력으로 원의 반지름 값인 실수 하나를 입력받아 다음 조건을 만족하는 프로그램을 작성하시오.
- 매크로 상수로 원주율 3.141592 정의 (mymacro.h 에 포함 시킴)
- 원 반지름 출력, 원 면적 출력 , 원 둘레 출력
// mymacro.h
#pragma once
#define pi 3.141592
#include <stdio.h>
#include "mymacro.h"
int main()
{
float radius = 0;
printf("반지름 입력 : ");
scanf("%f", &radius);
printf("반지름 : %f\n", radius);
printf("면적 : %f\n", radius * radius * pi);
printf("둘레 : %f\n", 2 * radius * pi);
return 0;
}
Program 7
다음 조건을 만족하는 프로그램을 작성하시오.
- 세 개의 아파트 면적의 평을 구분 문자가 포함된 표준 입력 (예: 25, 31, 45 또는 25/31/45)으로 받아 제곱미터(m2)로 출력
- 1평은 3.305785제곱미터(m2)
#include <stdio.h>
#define PYEONG 3.305785
int main()
{
int p1 = 0, p2 = 0, p3 = 0;
scanf("%d/%d/%d", &p1, &p2, &p3);
printf("%fm^2 / %fm^2 / %fm^2", p1*PYEONG, p2*PYEONG, p3*PYEONG);
return 0;
}
Program 8
두 실수를 표준입력으로 입력받아 다음 조건을 만족하는 프로그램을 작성하시오.
- 두 실수가 가로, 세로인 사각형의 면적을 전체 폭 12, 소수 이하 3자리, 우측 정렬로 출력
- 두 실수가 가로, 세로인 삼각형의 면적을 전체 폭 12, 소수 이하 3자지, 좌측 정렬로 출력
#include <stdio.h>
int main()
{
float width = 0, height = 0;
printf("가로 : ");
scanf("%f", &width);
printf("세로 : ");
scanf("%f", &height);
printf("%12.3f\n", width * height);
printf("%-12.3f\n", width * height / 2);
return 0;
}
Program 9
표준입력으로 두 정수를 입력받아 합과 평균을 구하여 출력하는 프로그램을 작성하시오.
- 합은 정수로, 평균은 실수로 출력
#include <stdio.h>
int main()
{
int integer1 = 0, integer2 = 0;
scanf("%d", &integer1);
scanf("%d", &integer2);
printf("합 : %d, 평균 : %f\n", integer1 + integer2, (float)(integer1 + integer2) / 2);
return 0;
}
728x90
'College Computer Science > C Language' 카테고리의 다른 글
[C 프로그래밍 실습] 함수 1 (Lab 05) (0) | 2020.11.21 |
---|---|
[C 프로그래밍 실습] 배열 (Lab 04) (0) | 2020.11.05 |
[C 프로그래밍 실습] Report 01 (0) | 2020.11.04 |
[C 프로그래밍 실습] 반복 / 포인터 기초 (Lab 03) (0) | 2020.10.27 |
[C 프로그래밍 실습] 연산자 / 조건문 (Lab 02) (0) | 2020.10.14 |
댓글