[C언어][C언어] 점수 입력 받아 총점, 평균을 구하는 프로그램, 데이터형 문제 등
- 최초 등록일
- 2006.06.23
- 최종 저작일
- 2006.06
- 5페이지/ 한컴오피스
- 가격 1,000원
소개글
다음 데이터형의 저장된 상태를 기술하여라.
이름, 학번, 기초전자실험(1학점), 회로이론(3학점), 전기자기학(3학점), 디지털공학(3학점), C언어 설계(2학점)를 입력 받아 총점, 평균을 구하는 프로그램을 작성하여라. 단, 학점은 각 점수에 대한 비중이 된다.
목차
다음 데이터형의 저장된 상태를 기술하여라.
이름, 학번, 기초전자실험(1학점), 회로이론(3학점), 전기자기학(3학점), 디지털공학(3학점), C언어 설계(2학점)를 입력 받아 총점, 평균을 구하는 프로그램을 작성하여라. 단, 학점은 각 점수에 대한 비중이 된다.
본문내용
[힌트] int의 최대 허용 값(32767)보다 1이 적다.
<풀이>
int는 2바이트의 메모리 공간을 할당받아 -215 ~ 215-1까지의 정수를 저장할 수 있는 데이터형이다. 또한 정수를 이진수 단위로 메모리에 저장할 때 하위 바이트에서 상위 바이트로 데이터가 저장된다. 먼저 int의 최대 허용 값 32767은 부호비트(0)를 제외하고 전부 “1”로 되어있으므로 “0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1” 이다. 여기서 구하려는 값은 32766이므로 위와같이 최대 허용 값 32767에서 1을 뺀 “0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0” 이 된다.
1-3. unsigned a=32768;
1000000000000000
[힌트] int의 최대 허용 값(32767)보다 1이 많다.
<풀이>
부호가 없는 정수형의 선언이므로 부호비트 부분을 사용할 수 있어 unsigned int의 경우 0 ~ 65535까지 표현할 수 있다. 위에서 32768의 2진수는 32767에서 1을 더한 수 이므로 위와같이 부호비트를 고려하지 않고 “0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1”에서 1을 더한 값 “1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0” 이 된다.
참고 자료
없음