IT

'소프트웨어'에 해당되는 글 164건

  1. 2011.05.09 파일 입출력
  2. 2011.05.09 부동 소수점 - IEEE 754
  3. 2011.05.09 [난수 생성]
  4. 2011.05.03 문자 입출력
  5. 2011.05.02 Linux 디버깅 방법

파일 입출력


키보드 입력 stdin

화면 출력 stdout


● EOF

end-of-file 의미, #define EOF (-1), <stdio.h>에 정의


예제 1

#include <stdio.h>


int main()

{

        char str[100];


        fscanf(stdin,"%s",str);

        

        fprintf(stdout,"\n\n%s\n",str);


        return 0;

}




'소프트웨어 > C언어' 카테고리의 다른 글

[1차원] 배열과 포인터  (0) 2011.06.15
재귀함수  (0) 2011.05.12
부동 소수점 - IEEE 754  (0) 2011.05.09
[난수 생성]  (0) 2011.05.09
문자 입출력  (0) 2011.05.03
Posted by sinpk

부동 소수점 - IEEE 754

신호

지수부

가수부

1비트

8비트

23비트

총 32비트


코프로세서(coprocessor)에서 실수 연산


부동소수점 변환 방법

        13.26

1. 정수부를 이진수로 변환

        13 = 1101

2. 소수부를 이진수로 변환

        0.26 = 01000010100011110101

3. 정규화

        ①1101.01000010100011110101

        ②1.10101000010100011110101

        ③.10101000010100011110101

        ④.10101000010100011110110 - 다시 반복 되므로 반올림

        ※ .xxxx~xxxx 만 사용

4. 지수부 연산

        (3.1 ~ 3.2) 계산 결과 : 지수 값 3

        127 + 3 = 130 = 1000 0010

5. 최종

        신호비트를 최상위 비트에 추가 (양수 0)

        0 1000 0010 10101000010100011110110

        = 41 54 28 F6



'소프트웨어 > C언어' 카테고리의 다른 글

재귀함수  (0) 2011.05.12
파일 입출력  (0) 2011.05.09
[난수 생성]  (0) 2011.05.09
문자 입출력  (0) 2011.05.03
변수와 메모리  (0) 2011.04.29
Posted by sinpk

#include <stdlib.h>    //srand, rand 함수 헤더파일

#include <time.h>    //time 함수 헤더파일

#define random(n) (rand()%(n))

 

//srand 시드(seed)값 무작위 설정

//tiem(NULL) 시간을 초단위로 반환하는 함수

srand((unsigned)time(NULL));

 

rand() : rand 함수라 하면 난수를 발생시키는 함수가 되겠습니다.

난수라는 것은 일정한 패턴을 가지지 않고 나오는 무작위의 숫자라고 보시면 되겠습니다

 

srand() : SEED값을 바꾼 rand함수

SEED값은  난수의 초기값이라고 보시면 됩니다. 그래서 이 초기값을 time헤더파일을 이용해서

시간(초)가 변할때마다 다른 초기값을 가지게 함으로서 완전 무작위의 숫자들을

만들어낼 수 있습니다.

   

즉, srand((unsigned)time(NULL));

이렇게 선언할 경우 unsigned로 하여 -의 부호를 갖는 값은 출력이 되지 않고

0 또는 양의 정수만 출력이 되고, srand를 사용하여 SEED값을 바꿔줌으로서

완전한 무작위 숫자들을 만들 수 있습니다.

 

'소프트웨어 > C언어' 카테고리의 다른 글

파일 입출력  (0) 2011.05.09
부동 소수점 - IEEE 754  (0) 2011.05.09
문자 입출력  (0) 2011.05.03
변수와 메모리  (0) 2011.04.29
자료형-2  (0) 2011.04.28
Posted by sinpk
  • 한문자(ANSI 표준)-windows,linux 지원
    • putchar()->화면에 문자를 넣는다
    • getchar()->키보드로부터 문자를 가져온다.

 

  • 한문자(비표준)-windows 지원
    • getche()->키보드에서 키를 누르면 바로 입력값을 가져온다(버퍼를 사용하지 않는다.)
    • getch()->getche함수와 동작은 같지만 화면상에 입력값을 출력하지 않는다.(e = echo)
    • #include <conio.h> -> 콘솔 입출력 헤더 파일 사용

 

  • fflush()->쌓여있는 데이터를 지운다.
    • Windows 지원
    • linux에서는 fflush() 작동 안함
    • linux 에서는 getchar()로 처리(enter 키 값 처리)

 

  • stdin-> 표준입력(키보드)

 

  • 키보드 -> 버퍼 -> OS
    • 버퍼 송신(enter 키, \n)

'소프트웨어 > C언어' 카테고리의 다른 글

부동 소수점 - IEEE 754  (0) 2011.05.09
[난수 생성]  (0) 2011.05.09
변수와 메모리  (0) 2011.04.29
자료형-2  (0) 2011.04.28
자료형-1  (0) 2011.04.27
Posted by sinpk
  • gcc 디버깅 옵션 –g
    • gcc –o -g main main.c 
  •  
  • gdb 실행파일
    • gdb main

명령어

의  미

b (breakpoint)

실행 중 디버그를 위해 멈추는 위치 지정

b 함수명

함수명에서 멈춤

b 라인번호

라인번호에서 멈춤

r (run)

실행 시작

K(kill)

프로그램 실행 종료

n (next)

현재 라인 실행 (함수의 경우 실행하고 다음 라인으로 넘어 감)

s (step)

현재 라인 실행 (함수의 경우 호출된 함수 내로 들어가 실행 계속)

c (continue)

다음 breakpoint까지 실행

u(until)

현재루프 빠져나감

finish

현재 함수를 수행하고 빠져나감

return

현재 함수를 수행하지 않고 빠져나감

   

l (list)

현재 수행되고 있는 라인부터 10개 라인씩 연속적으로 소스 코드를 프린트

p (print) 변수명

지정된 변수를 출력한다.(포인터 변수도 가능하다)

p *p@4(배열크기)

배열 변수 p를 출력한다.

p $레지스터명

레지스터를 출력한다.

h (help)

도움말

q (quit)

gdb 종료

 

Set listsize

List 명령어 사용시 보여주는 라인수를 설정한다.

L 함수명, L 라인번호

특정 라인이나 함수로 이동한다.

L 파일명.c:함수명

특정 파일의 함수를 보여준다.

B 라인번호, B 함수명

특정 라인이나 함수에 브레이크 포인트를 설정한다.

B 파일명.c:라인번호

특정 파일의 라인에 브레이크 포인트를 설정한다.

B -2

현재 라인으로부터 2줄 이전에 브레이크 포인트를 설정한다.

B 10 if tmp ==0

10행에 브레이크 포인트를 설정하는데 tmp 변수가 0일 때 작동한다.

CL 라인번호

브레이크 포인트를 해제한다.

D

모든 브레이크 포인트를 해제한다.

Info breakpoints

설정되어 있는 브레이크 포인트를 출력한다.

Info locals

현재 상태에서의 지역 변수를 출력한다.

Info variables

현재 상태에서의 전역 변수를 출력한다.

Enable 브레이크 포인트 넘버

브레이크 포인트를 활성화 한다.

Disable 브레이크 포인트 넘버

브레이크 포인트를 비활성화 한다.

Watch 변수명

변수가 바뀔 때 마다 브레이크 포인트가 걸리면,

변수의 이전 값과 현재 값을 출력한다.

Display 변수명

한줄씩 실행하면서 매번 변수값이 어떻게 변경되었는지 출력해준다.

Undiplay 변수명

Display 를 해제한다.(활성화, 비활성화 가능하다)

'소프트웨어 > Linux' 카테고리의 다른 글

[MAC OSX] port 명령어  (0) 2011.05.21
USB util 컴파일하기  (0) 2011.05.21
makefile  (0) 2011.05.11
분할 컴파일  (0) 2011.05.11
Vi 편집기  (0) 2011.04.26
Posted by sinpk