[C프로그래밍 새내기를 위한 첫 C 언어 책] Chapter2(변수와 자료형) 정리 및 연습문제
내용 정리
※프로그램
변수를 사용해 자료를 저장
변수: 자료 값을 저장하는 주기억장치에 있는 공간, 자료에 따라 다양한 변수 사용.
→ 신뢰성 있고 효과적인 프로그램 작성 위함.
※ 프로그램 기본구조
처음: #include <stdio.h>등 전처리기 지시
main: 콘솔 응용 프로그램을 실행하면 처음으로 실행되는 함수, 반드시 하나만 존재
return: main함수의 결과를 main함수를 호출했던 곳으로 되돌려줌
※ 자료의 표현방법
1. 문자
ASCII코드 사용
2. 정수
10진수, 2진수, 8진수, 16진수
표현범위는 8 비트면 28개의 정보 표현가능 ((-2^7)~(2^7-1)범위 표현 가능)
컴퓨터에서 음수는 2의 보수 +1로 처리
3. 실수
32비트 - 소수점 이하 7자리
64비트 - 소수점 이하 15자리
※ 상수의 표현
상수(constant): 프로그램에서 자료의 값을 나타내는 데 사용하는 숫자나 문자, 실행되는 도중에 값이 변경될 수 없다.
※ 변수
저장 공간 = 변수
저장공간을 확보하는 행위가 변수선언
의미 있게 작명
첫 글자 특수문자 x, 예약어 사용 x, 공백 포함 x
※ 자료형
1. 문자형
char(1바이트): -128 ~ 127
singed char(1바이트): -128 ~ 127
unsigned char(1바이트): 0~255 => 크기가 작은 양수의 자료를 저장할 때 용이
2. 실수형
float(4바이트): 소수점 이하 6자리
double(8바이트): 소수점 이하 15자리
연습문제 풀이
4,5,6,7번을 풀어보겠다.
문제 4:float height=177.5;와 같이 선언하면 경고 메시지가 나타난다. 나타나는 이유와 해결방법은?
변수 height는 float형, 실수인 177.5는 실수의 기본형인 double형 이므로
프로그램 실행에는 문제가 없지만, 아래와 같은 경고 메시지가 나타난다.
float 변수에 float임을 알려주는 f를 추가하여 문제를 해결한다.
float height=177.5f; 로 수정하면 경고 메시지가 사라진다.
문제 5: 25인치의 길이를 센티미터로 계산하여 출력하는 프로그램을 완성하시오.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#include<stdio.h>
int main()
{
int inch = 25;
float cm;
cm = inch * 2.54f;
printf("%dinch는 %fcm입니다.\n", inch, cm);
return 0;
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
|
문제 6:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#include <stdio.h>
int main()
{
double celsius, fahrenheit;
fahrenheit = 72.0; // 실수형으로 저장
celsius = (5.0 / 9.0) * (fahrenheit - 32);
printf("화씨온도 %lf도는 섭씨온도 %lf도입니다. \n", fahrenheit, celsius);
return 0;
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
|
5/9인 정수 나눗셈이면 해가 0으로 나와서 잘못된 결과가 나온다.
→ 아래와 같이 5.0 / 9.0인 실수 나눗셈으로 수정해야 한다.
celsius = (5.0 / 9.0) * (fahrenheit - 32);
문제 7:
1
2
3
4
5
6
7
8
9
10
11
|
#include<stdio.h>
int main()
{
int num;
num = 02013;
printf("num(8진수) = %o\n", num);
printf("num(10진수) = %d\n", num);
return 0;
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
|
변환 명세
%o: 8진수
%x: 16진수
%d: 10진수