20140407 - 문자열 대치 함수

과제 2014. 4. 8. 00:46 Posted by Owen.K

 

work.c

 

 

'과제' 카테고리의 다른 글

20141103  (0) 2014.11.03
20141019-쏘우웨이브 입사지원서  (0) 2014.10.19
20140407 - 달팽이 순서도  (0) 2014.04.08

20140407 - 달팽이 순서도

과제 2014. 4. 8. 00:37 Posted by Owen.K

 

 

'과제' 카테고리의 다른 글

20141103  (0) 2014.11.03
20141019-쏘우웨이브 입사지원서  (0) 2014.10.19
20140407 - 문자열 대치 함수  (0) 2014.04.08

20140407 - 입출력이외 문자열 함수

c언어 2014. 4. 7. 17:36 Posted by Owen.K

입출력 이외의 문자열 함수    C-><string.h>

JAVA->String class

C++  ->String class

기존의 함수를 이용하는 이유

1. 개발 속도가 올라간다.

2. 안정성.


문자열의 길이를 반환하는 함수 : strlen

typedef unsigned int smart  (unsigned int(기존의 type) smart(new type))

smart타입의 변수를 만듬

 

main.c

 

main1.c

 

 


문자열을 복사하는 함수들 : strcpy, strncpy

char * strcpy(char *dest, const char *src);


char * strncpy(char *dest, const char *src, size_t n);

 

main2.c

 


 

문자열을 덧붙이는 함수들 : strcat, strncat

char * strcat(char * dest, const char * src);

dest의 뒤에 src를 복사

char * strncat(char * dest, const char * src, size_t n);

src의 문자열 중 size_t n만큼 dest뒤에 덧붙여라

 

main3.c

 

 

 


문자열을 비교하는 함수들 : strcmp, strncmp

int strcmp(const char * s1, const char * s2);

int strncmp(const char * s1, const char * s2, size_t n);

->두 문자열의 내용이 같으면 0, 같지 않으면 0이 아닌 값 반환

 

main4.c

 


그 이외의 변환 함수들    

int atoi(const char * str);            //문자열의 내용을 int형으로 반환

long atol(const char * str);         //문자열의 내용을 long형으로 반환

double atof(const char * str);     //문자열의 내용을 double형으로 반환

 

main5.c

 












문자열 단위 입출력 함수

puts - 문자열 그대로 출력해낸다. 함수가 호출되면 문자열 출력 후 자동으로 개행이 이뤄진다.


fputs - 함수가 호출되면 문자열 출력 후 자동으로 개행이 이뤄지지 않는다.


gets - 문자열을 입력한다. 할당된 배열의 길이를 넘어서면 오류가 발생. 보안에 매우 취약하다.


fgets - stdin으로부터 문자열을 입력 받아서 배열 str에 저장하되, sizeof(str)의 길이만큼 저장함.

    문자열을 입력 받으면 문자열의 끝에 자동으로 널 문자가 추가된다.







표준 입출력과 버퍼


표준 입출력 기반의 버퍼

운영체제가 제공하는 '메모리 버퍼'를 중간에 통과하게 된다. 

메모리 버퍼는 데이터를 임시로 모아두는 메모리 공간.

입력버퍼의 비워짐은 데이터의 소멸을 의미한다.


fflush함수 - 출력버퍼에 저장된 데이터가 버퍼를 떠나서 목적지로 이동. 강제 입출력








AND NOT -> NAND


(브레드 보드 실습 And Not : High High)

(브레드 보드 실습 And Not : High Low)

(브레드 보드 실습 And Not : Low High)

(브레드 보드 실습 And Not : Low Low)


7402 NOR Gate

(브레드 보드 실습 NOR 진리표)

(브레드 보드 실습 NOR : High High)

(브레드 보드 실습 NOR : High Low)

(브레드 보드 실습 NOR : Low High)

(브레드 보드 실습 NOR : Low Low)



7486 XOR Gate

(브레드 보드 실습 XOR 진리표)

(브레드 보드 실습 XOR : High High)

(브레드 보드 실습 XOR : High Low)

(브레드 보드 실습 XOR : Low High)

(브레드 보드 실습 XOR : Low Low)


Half Adder

(브레드 보드 실습 Half Adder 진리표)

(브레드 보드 실습 Half Adder : High High)

(브레드 보드 실습 Half Adder : High Low)

(브레드 보드 실습 Half Adder : Low High)

(브레드 보드 실습 Half Adder : Low Low)


20140403 - 문자 출력 함수

c언어 2014. 4. 3. 17:27 Posted by Owen.K

문자 출력 함수


putchar - 문자하나를 놓는다. 인자로 전달된 문자를 stdout으로 표현되는 

  표준 출력 스트림으로 전송하는 함수.

  이 함수를 호출 시 int putchar(int c->정수를 넣어라)

  그 결과가 int로 바뀐다. 모니터에만 출력


fputc - 문자를 전송할 스트림을 지정할 수 있다.

     int fputc(int c, FILE *stream);

     출력하는 방향도 바꿀 수 있다. 원하는 대로 출력할 수 있다.


getchar -  stdin으로 표현되는 표준 입력 스트림으로부터 하나의 문자를 입력받아서 반환하는 함수.

   문자하나를 가져옴. 아스키코드로 반환됨. 한글자를 읽어올 때   


fgetc - 하나의 문자를 입력 받는 함수. 입력 받을 스트림을 지정할 수 있다.



main1.c


main3.c


main4.c


main2.c


main5.c




디지털 회로 실기

 

도체 - 전기가 항상 통한다.

반도체 - 반은 도체(half) 한쪽으로는 흐르지만 반대쪽으로는 흐르지 않는다.

부도체 - 전기가 통하지 않는 체











main 함수로의 인자 전달

메인 함수도 인자를 받을 수 있다. OS에서 메인의 인자를 넘겨줌.OS에서 gcc -o main main.c는 

인자 4개로 받아들임인자에 따라서 실행 방법을 바꿀 수 있다적었던 인자들의 개수, 글자들을

출력해낼 수도 있다.

 

cl main.c (enter)-> main hi hello(enter)->인자 3개로 받아들임.



main.c




도전!프로그래밍3(수정중....)

 

스트림 - 프로그램상에 모니터와 키보드를 대상으로 데이터를 입출력 하기 위해서는 

이들을 연결시켜주는 다리가 필요하다. 이러한 다리의 역할을 하는 매개체를 

스트림이라 한다.

 

redirection - 방향을 바꾼다.

cmd창에서 dir > a.txt하면 디렉토리에 나오는 내용이 a.txt이 생성되며 저장됨.

 

stdin 입력 0(c에서는 이렇게 쓴다.)키보드

stdout 출력 1(c에서는 이렇게 쓴다.) 모니터

stderr 에러 2(c에서는 이렇게 쓴다.)모니터

 

dir 2> a.txt - errortxt로 보내라. error만 리-다이렉션 시킨다.

dir 1> a.txt

error 메시지 따로 표준 메세지 따로 출력해냄.

 

dir >> a.txt - 기존의 내용을 지우지 않고 a.txt에 저장.

 

tree - 하위 디렉토리를 보여줌.





 

다차원 배열

3차원 배열 흔히 사용되는 배열이 아니고 복잡하지 않은 구조이다.

                          여러 개의 2차원 배열이 모여있는 형태로 이해하는 것이 합리적이다.



 (예시1)





포인터의 포인터

포인터 변수를 가리키는 또 다른 포인터 변수.

포인터 변수는 무조건 종류에 상관없이 주소 값을 저장하는 변수. 차이는 변수가 가리키는 대상.

 




다중포인터

삼중 포인터 변수는 이중 포인터 변수를 가리키는 용도, 이중 포인터 변수의 주소 값을 저장하는 용도로 사용. 함수 내부에서 함수 외부에 선언된 변수에 접근하는 방법 제시

 

다차원배열과 포인터의 관계

2차원 배열의 이름이 더블 포인터 형이라는 오해를 절대로 해서는 안된다.

 

2차원 배열이름의 포인터 형