Busan IT/제어언어2015. 2. 3. 17:30


20150203-제어문, 수의 표현 그리고 포인터.hwp

제어문과 수의 표현 그리고 포인터

 

#1. ASCII Code 제어문

 

학습목표 - ASCII Code에서 사용되는 제어문 개념에 대해 이해한다.

 

C프로그램이 어떻게 실행파일을 만들어 내는가에 대해 지난 시간에 학습하였다.

 

C프로그램은 *.exe의 실행파일이 만들어지고, 리눅스에서는 확장자가 없이 표시된다.

 

오늘은 제어문에 대해서 배워본다.

 

* 다음 주 월요일 책 배포 예정

 

printf("%d,c,u,x,o,f)

 

c = 아스키코드를 표현한다.

 

명령어 끝에 엔터(\n)를 넣어줘야 한다. 리눅스 환경에서는 자동으로 엔터를 넣어주지 않기 때문에 리눅스 작성환경을 대비하여 엔터를 넣어주는 습관을 들인다.

 

줄 바꿈과 엔터는 다르다. 줄 바꿈은 다음 줄로 내려오는 것이고, 엔터는 줄을 바꾸고 커서도 제일 앞으로 옮겨주는 역할을 한다.

 

ASCII code(128)

 

0 - 31 (32) : 제어문자

역슬레쉬는 cl에서 해석하지 않는다. \n의 경우 단순히 n으로 해석하지 않고 엔터로 해석한다.

 

도스에서만 10번이 엔터 역할을 한다.(줄 내림, 커서 제일 앞으로 이동)

 

10번은 CR + LF

 

파일명을 bin으로 변경한 후 Visual Studio에서 실행해보면 Magic Number가 나타나고 이것은 파일의 형식을 나타내준다. ex) MZ는 윈도우 파일, BM 비트맵



 

#2. 숫자의 정렬과 표시(실습)

 

 

실습) 1. 3 * 3 = 9%d 3개와 printf 1개를 써서 출력하여라.

2. 구구단을 3단을 전부 적고 1의 자리는 결과 값을 나머지 값들과 같은 자리 수에 표 현 되게 정렬하여라.

3. 실수 3.2의 소수점 2자리까지만 표시되게 출력하여라.




 

%d사이에 숫자를 넣으면 그만큼 공간이 확보된다.

기본은 %와 문자 사이에 숫자를 넣으면 오른쪽으로 밀리게 된다.(왼쪽에 빈공간이 생긴다)

사이에 ‘-’를 붙이면 왼쪽정렬(오른쪽에 빈공간이 생긴다)

표현하는 자리수보다 적은 숫자를 사이에 넣어도 내용은 다 표시된다.

숫자 다음에 점을 찍고 숫자를 넣으면 소수점 이하에 출력하고자하는 자리수를 나타낸다.

 

변수를 대괄호로([]) 넣고 표현하면 감춰진 내용도 볼 수 있다.

#3. 포인터의 주소 표시

 

실습) 1. int iNum=100을 설정하고 printfiNum의 값과 주소(16진수로)를 표시 한다.

 

주소 출력 시 %08X 출력 한다 -> %p로 대체된다.

 

%d, c, f, u, x 는 기본 암기가 필요하다.

 

 

** 해킹 방지를 위해 심볼 테이블의 address는 계속 바뀌지만 CPU에서는 해당 주소를 보고 위치를 알아낼 수 있다.

 

** 원하는 사이트의 IP 주소를 알아내기 위해서는 DOS창에서

ping_‘도메인 주소를 입력하면 된다.

#4. Visual Studio에서 고정 포인터

 

기계어를 이해할수록 짜여진 프로그램에 대해 조작이 가능하다.

 

Java는 사용자가 주소를 건들지 못하게 보호되어 있다.

 

C언어 쪽이 컴퓨터에 대한 이해도가 높아야하며 컴퓨터의 최적화에 알맞다.

 

* JVM(Java Virtual Machine)

 

숫자를 주소 값을 넣는 것을 배운다.

 

조작하는 DOS창을 Console이라고 부르기도 한다. Win32 = window 32bit

 

MFC C++ 윈도우 작성하는 경우

 

Makefile Project는 윈도우 창 작성

 

엠티 프로젝트를 선택하여 창을 연다.

반응형
Posted by newind2000