continue 문을 만나면, 프로그램은 해당 루프 사이클의 나머지를 건너뛰고, 다음 루프사이클을 시작한다.
continue 문이 중첩된 구조 속에 들어있는 경우에는, 그 continue문을 포함하고 있는 내부 구조만 영향을 받는다.
break 문은, break가 들어 있는 그 루프로 부터 프로그램을 탈출시킨다. break문은 루프 바로 다음에 오는 문장을 곧장 실행을 옮긴다.
switch에서 break문은 switch다음에 오는 문장으로 건너 뛰게 만든다.
문자 입출력
입력 문자들을 즉시 에코 하는 것은 버퍼를 사용하지 않는 입력 또는 직접 입력의 한 사례이다. 반면에 입력 문자들을 뒤늦게 몰아서 에코하는 것은 버퍼(buffer)를 사용하는 입력의 한 사례이다.
버퍼를 사용하는 이유
1.문자들을 묶어서 전달하는 것이 하나씩 전달하는 것보다 시간을 적게 소모한다.
2. 잘못 타이핑 했을 때 키보드 기능을 사용하여 실수를 고칠 수 있다.
버퍼를 사용하지 않는 입력은 일부 대화식 프로그램에서 필요하다.
-> 게임에서 각 명령은 키를 누르는 즉시 실행 되어야 한다.
그러므로 버퍼를 사용하는 입력과 버퍼를 사용하지 않는 입력은 각각의 용도가 따로있다.
완전 버퍼링 입출력 : 가득 찼을때 버퍼가 비워진다. 일반적으로 파일입력에서 일어난다. 버퍼 크기는 시스템에 따라 다르지만, 512바이트와 4096바이트가 일반적인 값이다.
라인-버퍼링 입출력 : 개행 문자가 나타날 때마다 버퍼가 비워진다. 일반적으로 키보드 입력은 라인 버퍼링 입력이다.
IBM PC 호환기종의 PC는 C컴파일러들이 버퍼를 사용하지 않는 입력을 위해, conio.h 헤더파일이 지원하는 특별한 함수들의 계열을 제공한다. 여기에는 버퍼를 사용하지 않는 에코하는 입력을 위한 getche()와, 버퍼를 사용하지 않는 에코하지 않는 입력을 위한 getch()가 포함되어 있다.
에코하는 입력 : 사용자가 타이핑하는 문자가 화면에 보이는것
에코하지 않는 입력 : 키스트로크가 화면에 보이지 않는것
버퍼링에 대한 약간의 제어를 제공하는 함수 : setbuf(), setvbuf()
컴퓨터시스템들은 파일들을 저장하는 방식이 저마다 다르다. 어떤 시스템은 파일의 내용은 한곳에 저장하고, 그 파일에 대한 정보는 다른 곳에 저장한다.
어떤 시스템은 파일에 대한 정보를 그 파일 안에 저장한다.
텍스트를 다룰때, 어떤 시스템은 하나의 개행문자로 라인의 끝을 표시한다.
그런데 어떤 시스템은 캐리지 리턴 문자와 라인피드 문자의 조합으로 라인의 끝을 표기한다. 어떤 시스템은 파일의 크기를 정확한 바이트값으로 나타내지만, 어떤 시스템은 바이트들의 블록으로 나타낸다.
'Programming > C' 카테고리의 다른 글
C언어 공부 12 (0) | 2019.05.08 |
---|---|
C언어 공부 11 (0) | 2019.05.08 |
C언어 공부 9 (0) | 2019.05.08 |
프로그래밍연습 4 (0) | 2019.05.06 |
프로그래밍 연습 3 (0) | 2019.05.06 |