강사 : 박근여
강의 기간 : 7/14 ~ 8/1 (3주)
홈페이지 : http://myshe.realmind.net
강의실 : Q동 102호
오늘부터 "완벽 C언어 프로그래밍"이라는 강좌를 시작했다. 첫 강의라 그런지 굉~~장히 기초적인 것부터 시작을 했다. visual C++ programing 여는거 부터 시작해서 기타 등등등... 이 수업을 들어보고 괜찮다면 C++ OOP까지 듣고 아니면 혼자서 공부를 하자. 혼자서 공부하는게 얼마나 될지느 모르겠지만. 오늘 들은 강의 내용은 이렇다.
1. C언어의 대략적인 구성.
2. printf()함수
표준 입출력 함수이며 "stdio.h"를 기술해 줘야 한다.
변환문자와 제어문자 옵션을 사용할 수 있다.
[제어문자]
\n : New line, 줄바꿈
\r : Carriage return, 커서를 가장 앞으로 땡김
\b : Back space
\t : Tab
\a : Beep sound
\\ : Back slash
\' : Single quotation(구지 이렇게 안해도 출력됨)
\" : Double quotation
\0 : Null character
%% : Percent
[변환문자]
%d : 10진수로 2바이트 출력
%o : 8진수로 2바이트 출력
%x : 16진수로 2바이트 출력
%ld : 10진수로 4바이트 출력
%lo : 8진수로 4바이트 출력
%lx : 16진수로 4바이트 출력
%u : 부호없는 10진수로 2바이트 출력
%lu : 부호없는 10진수로 4바이트 출력
%c : 단일문자 1바이트 출력
%s : 여러개의 문자 즉, 문자열을 출력
%hd : short형 출력
[강제형변환]
temp1과 temp2 가 있을 경우 temp1은 double형이고 temp2은 short형 일 경우 자동으로 결과 값은 double로 바뀐다. 만약 둘다 short형일 경우 강제 형변환이라는 (douvble)temp1(연산)temp2로 바꾸어주어야 한다. 물론 이 연산을 받는 result역시 double형이여야 한다.
[소수점출력]
%lf로 출력할 경우 무의미한 소수점 6자리 까지 출력되게 된다. 그러한 것을 조정하기 위한 방법으로는 %.숫자lf로 소수점 자리수를 한정지을 수 있다.
[정수형]
int (-32768 ~ 32767) 16비트 .....출력타입 %d
long (-2147483648~2147483647) 32비트 .....출력타입 %ld
Unsigned int (0~65535) 32비트 .....출력타입 %u
Unsigned long (0~4294967295) 32비트 .....출력타입 %lu
[실수형]
float (소숫점 이하 6자리 표현)32비트....출력타입 %f
double (소숫점 이하 14자리 표현)64비트....출력타입 %lf
long double (소숫점 이하 19자리 표현)80비트....출력타입 %Lf
[문자형]
char (-128~127)8비트
unsigned char (0~255)8비트
출력타입은 %c(1바이트), %s(2바이트이상) 두가지가 있다.
[메모리구조]
short형은 2byte이다. 하지만 기본적으로 메모리 공간을 부여할때는 4byte를 부여하기 때문에 short형인 두 변수로 오버플로우가 발생하더라도 출력형태가 4byte이면 오류없이 결과를 출력할 수 있다. 즉 DOS가아닌 Window에서는 short형을 사용하는 것은 무의미 하다.
[8, 16진수 출력]
일반적으로 8진수는 0123처럼 0으로 시작하고 16진수는 0x7a4처럼 0x로 시작한다. 하지만 우리가 아는 %o나 %x로 출력하면 그냥 숫자가 나온다. 만약 그냥 숫자로만 나오게 된다면 이것을 어떻게 8진수인지 16진수 인지 구분할 수 있을까? printf함수를 사용할때 각 진법에 맞는 앞에 영어를 출력하고 그 진법의 숫자를 출력해도 되지만 이러한 기능을 printf에서는 지원해 준다. 즉 %#o나 %#x로 출력하게 되면 알아서 앞에 0 또는 0x가 붙어서 출력되게 되는 것이다.
'Computer & Program > 잡다한 이모저모' 카테고리의 다른 글
7/ 15, 7/16 3, 4번째 수업 (1) | 2009.07.06 |
---|---|
7/21강의 (1) | 2009.07.06 |
각종 자료형의 Sizeof 결과 (0) | 2009.07.06 |
날짜 계산 프로그램 (0) | 2009.05.11 |
색 코드표~ (2) | 2009.03.04 |
댓글