1. 연산자 =와 ==의 차이점을 기술하시오.
2. 다음 연산자를 우선순위가 높은 순서대로 정리하시오.
대입, 산술, 관계, 논리, 조건, 증감, 비트, 콤마
3.다음 프로그램을 실행한 결과를 추정하여 결과값을 직접 적어본 후 프로그램을 실행하여 추정한 값과 실행 값을 비교해보시오.
4. 다음 코드 옆 밑줄 부분(int1,int2,r1,r2값)에 변수의 값을 적으시오.
5. 센티미터(cm)로 표현된 키를 입력하면 피트(feet)와 인치(inch)로 변환하는 프로그램을 작성하시오. (소수 2자리)
6. 킬로그램(kg)단위의 무게를 입력받아 파운드(lb)단위로 출력하는 프로그램을 작성하시오. (소수 1자리)
#include <stdio.h>
int main(void)
{
double kilo, pound;
printf("kg단위의 무게를 입력하세요:");
scanf_s("%lf", &kilo);
pound = kilo / 0.45359237;
printf("입력하신 무게 %.1lfkg은 %.1lflb에 해당합니다.\n", kilo, pound);
return 0;
}
7. 원기둥의 밑면의 반지름과 높이를 입력받아 부피를 계산하는 프로그램을 작성하시오.(소수 1자리)
#include <stdio.h>
int main(void)
{
double radius, height, volume, pi; // 반지름, 넓이, 부피, 원주율
printf("원기둥의 밑면의 반지름, 높이를 입력하세요(cm단위):");
scanf_s("%lf%lf", &radius, &height);
pi = 3.141592;
volume = pi*radius*radius*height;
printf(">>계산한 원기둥의 부피는 %.1lf㎤입니다.\n", volume);
return 0;
}
8. 키보드로 월을 입력 받아 입력 받은 월이 상반기인지 하반기인지 판단하여 출력하는 프로그램을 작성하시오.
#include <stdio.h>
int main(void)
{
int month;
printf("월(1~12) 입력:");
scanf_s("%d", &month);
month <= 6 ? printf(">>%d월은 상반기입니다.\n", month) : printf(">>%d월은 하반기입니다.\n", month);
return 0;
}
9. 기가바이트 수치를 입력받아 입력한 값이 몇 메가바이트인지, 몇 킬로바이트인지 계산하는 프로그램을 작성하시오.
#include <stdio.h>
int main(void)
{
int GB, MGB, KGB;
printf("입력(Gigabyte):");
scanf_s("%d", &GB);
MGB = 1024 * GB;
KGB = 1024 * MGB;
printf(">>%dGigabyte = %dMegabyte = %dkilobyte\n", GB, MGB, KGB);
return 0;
}
10. 초 단위의 시간을 입력 받아 몇 시간, 몇 분, 몇 초인지를 계산하는 프로그램을 작성하시오.
#include <stdio.h>
int main(void)
{
int sec_all, hour, min, sec;
//입력받을 초 , 변환할 시/분/초
printf("초(sec) 입력:");
scanf_s("%d", &sec_all);
hour = sec_all / 3600;
min = (sec_all % 3600) / 60;
sec = (sec_all % 3600) % 60;
printf("입력한 %d초는 %d시간 %d분 %d초입니다.\n", sec_all, hour, min, sec);
return 0;
}
11. 다음 수식을 계산하는 프로그램을 작성하시오.
#include <stdio.h>
int main(void)
{
int x;
double expression;
printf("x 입력:");
scanf_s("%d", &x);
expression = 2.0 * x*x*x - 3.0 * x*x + 1.0 / x;
printf("ㅡ> x=%d일때 \n f(x)=2x³-3x²+1/x=%.1lf\n", x, expression);
return 0;
}
12. 네 자리 정수(num)을 입력 받아 천, 백, 십, 일의 자리로 분리하여 출력하는 프로그램을 작성하시오.
#include <stdio.h>
int main(void)
{
int num;
int chun, baek, sip, il;
printf("네자리 정수를 입력하세요:");
scanf_s("%d", &num);
chun = num / 1000;
baek = (num % 1000) / 100;
sip = ((num % 1000) % 100) / 10;
il = (((num % 1000) % 100)) % 10;
printf("입력한 수는 %d천%d백%d십%d입니다.\n", chun, baek, sip, il);
return 0;
}
13. 조건 연산자를 이용해 세 수를 입력받아 가장 큰 수를 구하는 프로그램을 작성하시오.
#include <stdio.h>
int main(void)
{
int a, b, c, max;
printf("세 개의 정수:");
scanf_s("%d%d%d", &a, &b, &c);
max = a > b ? a : b;
max = max > c ? max : c;
printf(">>가장 큰 수:%d\n", max);
return 0;
}
14. 사용자에게 10진 정수를 입력받아 오른쪽으로 3비트 이동시킨 결과와 왼쪽으로 3비트 이동시킨 결과를 10진수로 출력하는 프로그램을 작성하시오.
#include <stdio.h>
int main(void)
{
int num, right, left;
printf("정수 입력:");
scanf_s("%d", &num);
right = num >> 3;
left = num << 3;
printf("10 >> 3 = %d \n10 << 3 = %d\n", right, left);
return 0;
}
15. 학생의 이름(이름 사이에 띄어쓰기 가능)과 국어, 영어, 수학, 출결 점수를 키보드로 입력받아 네 과목 점수의 평균(소수 1자리)을 구하고 합격 여부(평균이 70점 이상이고 출결 점수가 80점 이상인 경우에만 합격)를 출력하는 프로그램을 작성하시오.
#include <stdio.h>
int main(void)
{
char name[20];
int kor, eng, math, attendance;
double ave = 0;
printf("학생의 이름:");
gets_s(name);
printf("국어:");
scanf_s("%d", &kor);
printf("영어:");
scanf_s("%d", &eng);
printf("수학:");
scanf_s("%d", &math);
printf("출결:");
scanf_s("%d", &attendance);
ave = (kor + eng + math + attendance) / 4.0;
ave >= 70 && attendance >= 80 ?
printf("\n\n[%s]학생>>합격!\n네 과목의 평균:%.1lf\n출결 점수 :%d\n", name, ave, attendance) :
printf("\n\n[%s]학생>>불합격!\n네 과목의 평균:%.1lf\n출결 점수 :%d\n", name, ave, attendance);
return 0;
}
16. 연도를 입력받아 윤년인지 평년인지를 판단하는 프로그램을 작성하시오.
'IT > 프로그래밍' 카테고리의 다른 글
파이썬으로 메일 보내기, 기본 문법 - 내 일을 바꾸는 업무 자동화 3장 (0) | 2021.05.29 |
---|---|
C 프로그래밍 (새내기를 위한 첫 C 언어 책) 5장 답지 및 솔루션 (0) | 2021.05.25 |
C 프로그래밍 (새내기를 위한 첫 C 언어 책) 3장 답지 및 솔루션 (0) | 2021.05.25 |
C 프로그래밍 (새내기를 위한 첫 C 언어 책) 2장 답지 및 솔루션 (0) | 2021.05.25 |
C 프로그래밍 (새내기를 위한 첫 C 언어 책) 1장 답지 및 솔루션 (0) | 2021.05.25 |
댓글