'과제' 카테고리의 다른 글
20141103 (0) | 2014.11.03 |
---|---|
20141019-쏘우웨이브 입사지원서 (0) | 2014.10.19 |
20140407 - 달팽이 순서도 (0) | 2014.04.08 |
20141103 (0) | 2014.11.03 |
---|---|
20141019-쏘우웨이브 입사지원서 (0) | 2014.10.19 |
20140407 - 달팽이 순서도 (0) | 2014.04.08 |
20141103 (0) | 2014.11.03 |
---|---|
20141019-쏘우웨이브 입사지원서 (0) | 2014.10.19 |
20140407 - 문자열 대치 함수 (0) | 2014.04.08 |
입출력 이외의 문자열 함수 C-><string.h>
JAVA->String class
C++ ->String class
기존의 함수를 이용하는 이유
1. 개발 속도가 올라간다.
2. 안정성.
문자열의 길이를 반환하는 함수 : strlen
typedef unsigned int smart (unsigned int(기존의 type) smart(new type))
smart타입의 변수를 만듬
문자열을 복사하는 함수들 : strcpy, strncpy
char * strcpy(char *dest, const char *src);
char * strncpy(char *dest, const char *src, size_t n);
문자열을 덧붙이는 함수들 : 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뒤에 덧붙여라
문자열을 비교하는 함수들 : strcmp, strncmp
int strcmp(const char * s1, const char * s2);
int strncmp(const char * s1, const char * s2, size_t n);
->두 문자열의 내용이 같으면 0, 같지 않으면 0이 아닌 값 반환
그 이외의 변환 함수들
int atoi(const char * str); //문자열의 내용을 int형으로 반환
long atol(const char * str); //문자열의 내용을 long형으로 반환
double atof(const char * str); //문자열의 내용을 double형으로 반환
20140409 - 구조체 메모리 할당 (0) | 2014.04.09 |
---|---|
20140408 - 구조체의 정의, 구조체 변수의 선언과 접근, 구조체 변수의 초기화, 구조체 배열의 선언과 접근, 구조체 배열의 초기화 (0) | 2014.04.08 |
20140404 - 문자열 입출력 함수, 표준입출력과 버퍼 (0) | 2014.04.04 |
20140403 - 문자 출력 함수 (0) | 2014.04.03 |
20140402 - main함수로의 인자전달,도전 프로그래밍3,스트림생성 (0) | 2014.04.02 |
20140410 - ATMega 원리, ft232r드라이버 설치, Avr Studio4.0설치 및 컴파일 (0) | 2014.04.10 |
---|---|
20140409 - Microcontroller, RAM, ROM, DRAM, SRAM, SDRAM, Flash Memory, RISC, CISC (0) | 2014.04.09 |
20140408 - 전가산기 입력 및 실험 (0) | 2014.04.08 |
20140404 - AND NOT(NAND), NOR, XOR, Half Adder실습 (0) | 2014.04.04 |
20140403 - 브레드보드, 칩, 논리 연산 실습 (0) | 2014.04.03 |
puts - 문자열 그대로 출력해낸다. 함수가 호출되면 문자열 출력 후 자동으로 개행이 이뤄진다.
fputs - 함수가 호출되면 문자열 출력 후 자동으로 개행이 이뤄지지 않는다.
gets - 문자열을 입력한다. 할당된 배열의 길이를 넘어서면 오류가 발생. 보안에 매우 취약하다.
fgets - stdin으로부터 문자열을 입력 받아서 배열 str에 저장하되, sizeof(str)의 길이만큼 저장함.
문자열을 입력 받으면 문자열의 끝에 자동으로 널 문자가 추가된다.
표준 입출력과 버퍼
표준 입출력 기반의 버퍼
운영체제가 제공하는 '메모리 버퍼'를 중간에 통과하게 된다.
메모리 버퍼는 데이터를 임시로 모아두는 메모리 공간.
입력버퍼의 비워짐은 데이터의 소멸을 의미한다.
fflush함수 - 출력버퍼에 저장된 데이터가 버퍼를 떠나서 목적지로 이동. 강제 입출력
20140408 - 구조체의 정의, 구조체 변수의 선언과 접근, 구조체 변수의 초기화, 구조체 배열의 선언과 접근, 구조체 배열의 초기화 (0) | 2014.04.08 |
---|---|
20140407 - 입출력이외 문자열 함수 (0) | 2014.04.07 |
20140403 - 문자 출력 함수 (0) | 2014.04.03 |
20140402 - main함수로의 인자전달,도전 프로그래밍3,스트림생성 (0) | 2014.04.02 |
20140331 - 다차원 배열, 다차원 배열과 포인터,이중포인터,이중포인터와 함수,다중포인터,배열포인터 (0) | 2014.04.01 |
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)
20140410 - ATMega 원리, ft232r드라이버 설치, Avr Studio4.0설치 및 컴파일 (0) | 2014.04.10 |
---|---|
20140409 - Microcontroller, RAM, ROM, DRAM, SRAM, SDRAM, Flash Memory, RISC, CISC (0) | 2014.04.09 |
20140408 - 전가산기 입력 및 실험 (0) | 2014.04.08 |
20140407 - 반가산기, 전가산기 식 간소화 (0) | 2014.04.07 |
20140403 - 브레드보드, 칩, 논리 연산 실습 (0) | 2014.04.03 |
문자 출력 함수
putchar - 문자하나를 놓는다. 인자로 전달된 문자를 stdout으로 표현되는
표준 출력 스트림으로 전송하는 함수.
이 함수를 호출 시 int putchar(int c->정수를 넣어라)
그 결과가 int로 바뀐다. 모니터에만 출력
fputc - 문자를 전송할 스트림을 지정할 수 있다.
int fputc(int c, FILE *stream);
출력하는 방향도 바꿀 수 있다. 원하는 대로 출력할 수 있다.
getchar - stdin으로 표현되는 표준 입력 스트림으로부터 하나의 문자를 입력받아서 반환하는 함수.
문자하나를 가져옴. 아스키코드로 반환됨. 한글자를 읽어올 때
fgetc - 하나의 문자를 입력 받는 함수. 입력 받을 스트림을 지정할 수 있다.
20140407 - 입출력이외 문자열 함수 (0) | 2014.04.07 |
---|---|
20140404 - 문자열 입출력 함수, 표준입출력과 버퍼 (0) | 2014.04.04 |
20140402 - main함수로의 인자전달,도전 프로그래밍3,스트림생성 (0) | 2014.04.02 |
20140331 - 다차원 배열, 다차원 배열과 포인터,이중포인터,이중포인터와 함수,다중포인터,배열포인터 (0) | 2014.04.01 |
20140401 - 함수포인터 (0) | 2014.04.01 |
디지털 회로 실기
도체 - 전기가 항상 통한다.
반도체 - 반은 도체(half) 한쪽으로는 흐르지만 반대쪽으로는 흐르지 않는다.
부도체 - 전기가 통하지 않는 체
20140410 - ATMega 원리, ft232r드라이버 설치, Avr Studio4.0설치 및 컴파일 (0) | 2014.04.10 |
---|---|
20140409 - Microcontroller, RAM, ROM, DRAM, SRAM, SDRAM, Flash Memory, RISC, CISC (0) | 2014.04.09 |
20140408 - 전가산기 입력 및 실험 (0) | 2014.04.08 |
20140407 - 반가산기, 전가산기 식 간소화 (0) | 2014.04.07 |
20140404 - AND NOT(NAND), NOR, XOR, Half Adder실습 (0) | 2014.04.04 |
main 함수로의 인자 전달
메인 함수도 인자를 받을 수 있다. OS에서 메인의 인자를 넘겨줌.OS에서 gcc -o main main.c는
인자 4개로 받아들임. 인자에 따라서 실행 방법을 바꿀 수 있다. 적었던 인자들의 개수, 글자들을
출력해낼 수도 있다.
cl main.c (enter)-> main hi hello(enter)->인자 3개로 받아들임.
도전!프로그래밍3(수정중....)
스트림 - 프로그램상에 모니터와 키보드를 대상으로 데이터를 입출력 하기 위해서는
이들을 연결시켜주는 다리가 필요하다. 이러한 다리의 역할을 하는 매개체를
스트림이라 한다.
redirection - 방향을 바꾼다.
cmd창에서 dir > a.txt하면 디렉토리에 나오는 내용이 a.txt이 생성되며 저장됨.
stdin 입력 0(c에서는 이렇게 쓴다.)키보드
stdout 출력 1(c에서는 이렇게 쓴다.) 모니터
stderr 에러 2(c에서는 이렇게 쓴다.)모니터
dir 2> a.txt - error를 txt로 보내라. error만 리-다이렉션 시킨다.
dir 1> a.txt
error 메시지 따로 표준 메세지 따로 출력해냄.
dir >> a.txt - 기존의 내용을 지우지 않고 a.txt에 저장.
tree - 하위 디렉토리를 보여줌.
20140404 - 문자열 입출력 함수, 표준입출력과 버퍼 (0) | 2014.04.04 |
---|---|
20140403 - 문자 출력 함수 (0) | 2014.04.03 |
20140331 - 다차원 배열, 다차원 배열과 포인터,이중포인터,이중포인터와 함수,다중포인터,배열포인터 (0) | 2014.04.01 |
20140401 - 함수포인터 (0) | 2014.04.01 |
20140328 - 포인터대상의 const선언,도전프로그래밍2,다차원배열의 이해와 활용 (0) | 2014.03.28 |
다차원 배열
3차원 배열 - 흔히 사용되는 배열이 아니고 복잡하지 않은 구조이다.
여러 개의 2차원 배열이 모여있는 형태로 이해하는 것이 합리적이다.
(예시1)
포인터의 포인터
포인터 변수를 가리키는 또 다른 포인터 변수.
포인터 변수는 무조건 종류에 상관없이 주소 값을 저장하는 변수. 차이는 변수가 가리키는 대상.
다중포인터
삼중 포인터 변수는 이중 포인터 변수를 가리키는 용도, 이중 포인터 변수의 주소 값을 저장하는 용도로 사용. 함수 내부에서 함수 외부에 선언된 변수에 접근하는 방법 제시
다차원배열과 포인터의 관계
2차원 배열의 이름이 더블 포인터 형이라는 오해를 절대로 해서는 안된다.
2차원 배열이름의 포인터 형
20140403 - 문자 출력 함수 (0) | 2014.04.03 |
---|---|
20140402 - main함수로의 인자전달,도전 프로그래밍3,스트림생성 (0) | 2014.04.02 |
20140401 - 함수포인터 (0) | 2014.04.01 |
20140328 - 포인터대상의 const선언,도전프로그래밍2,다차원배열의 이해와 활용 (0) | 2014.03.28 |
20140327 - 포인터,포인터와 배열,상수형태 문자열 포인터,문자열배열입력,포인터배열,포인터와 함수,call-by-value,call-by-reference (0) | 2014.03.27 |