본문 바로가기

TIL75

문자 입출력과 입력 유효성 검증 (2021-01-12) 8.1 입출력 버퍼 버퍼(임시 메모리 저장소)라는것은 입력과 출력을 한번에 모아서 하면 효율이 좋기때문에 사용하는것 입출력은 기본적으로 느리기 때문에 한개씩 따로따로 하기보다는 한번에 버퍼에 모아서 통째로 전송하는 것이 효율적이다. 버퍼 내용이 통째로 전달 되는 때는 이하의 2가지 1. 버퍼가 다 찼을때 -> 더 받을수 없어서 보내버림 2. \n 이 들어왔을때 8.2 파일의 끝(End Of File) 지금 까지 강의에서 getchar를 쓸때는 주로 int c 의 형태로 signed int 변수를 선언후 그 변수에 getchar()로 입력받은값을 넘겨주었다. (getchar()는 이전강의에서 설명되었듯 문자를 입력받아 int로 리턴한다.) 한가지 의문점은 아스키코드에는 음수가 없는데 계속 signed in.. 2021. 1. 12.
분기 (2021-01-11) 7.1 분기문 if If는 괄호안의 expression이 True면 Statement를 실행한다. 7.2 표준 입출력 함수들 getchar(), putchar() 예제 getchar()과 putchar()은 에 들어있음. 이름대로 getchar()는 문자하나를 가져옴 (int형으로), putchar()는 (int형을 받아)문자하나를 출력함. 그런데 여러개문자를 입력하고 여러개 문자를 출력가능한데 이에 대한 부분은 이후 버퍼를 설명하는 부분에서 더 알수 있다. 조건문에 &&를 써서 and로 쓸수 있다. 문자는 아스키키코드에 대응되기 때문에 사칙연산 가능함. 7.3 문자 함수들 www.tutorialspoint.com/c_standard_library/ctype_h.htm C Library - - Tutor.. 2021. 1. 11.
반복문(2021-01-08 ~ 2021-01-09) 6.1 while 반복 루프에서 scanf()의 반환값 사용하기 scanf함수의 반환값은 입력받은 것의 갯수가 몇개인지 리턴값으로 돌려준다는점에 주의 6.2 의사 코드 Pseudo Code 사람이 직관적으로 이해할수 있도록 말로 코드를 풀어쓴것 이하의 예시 참조 6.3 진입조건 루프 while while 사용시 주의점 -while은 왠만해서는 {}로 묶을것 -while 의 조건부분 뒤에 바로 ;를 붙이면 안됨. 6.4 관계 연산자 사실상 파이썬 관계연산자와 똑같아서 정리할 부분이 없다. 6.5 사실과 거짓 관계식에서 중요한점은 관계식(expression)이 값(value)를 가진다는 것이었다. 0은 False이며 그 이외의 값들은 True라는 식으로 기억 해둘 것 6.6 _Bool 자료형 C언어는 불은 .. 2021. 1. 8.
연산자, 표현식, 문장 (2021-01-07) 5.1 반복루프와의 첫만남. goto문은 이제 사용하지 않음. while 의 기본적인 사용법은 아래와 같다. 5.2 대입 연산자와 몇 가지 용어들 Data object: 메모리에 존재하는 데이터 L - value(object locator value): 대입연산자(=) 왼쪽, 값을 대입할 수 있는것 R- value(value of an expression): 대입연산자(=) 오른쪽 이하의 예시 참조 5.3 더하기, 빼기, 부호 연산자들 triple assignment 처럼 쓸수 있는점에 주목 용어는 이하 참조 숫자앞에 -붙여서 음수로 만드는것도 연산자(더정확히는 단항연산자)라고 하는것 에 주의 5.4 곱하기 연산자 printf 에서 double은 %f 임의 주의 5.5 나누기 연산자 정수 연산시 실수부는.. 2021. 1. 7.
문자열과 형식 맞춘 입출력 (2021-01-05) 4.1 문자열 출력하기 "char 변수명" -> 글자 1개만 저장가능 뒤에 대괄호[]를 써서 저장공간을 더 확보 가능 (실제 변수자체가 더 큰 용량을 갖는 변수자체가 되는 것 아니라 추가로 지정한 크기만큼의 주소의 위치를 알려주는 것) 또한 scanf 에서 %c -> %s로 바꿔야 하며 &는 쓸이유가 없다. 4.2 sizeof 연산자 sizeof 연산자는 자료형이 차지하는 메모리크기를 알려 줌. 문자열 배열과 포인터의 사이즈는 다르게 표시된다는 점에 주의 size_t는 sizeof 연산자에서 리턴되는것이며 size_t 타입의 형식지정자는 %zu로 사용한다. 4.3 문자열이 메모리에 저장되는 구조 문자열은 문자가 어디서 끝나는지를 표기하기 위해서 실제로는 '\0'이 한개 담겨있다는점에 주의 배열에 설정한 .. 2021. 1. 5.
데이터와 C언어 (2021-01-04) 3.1 데이터와 자료형 자료형은 크게는 정수자료형과 실수자료형으로 나뉨. 문자(char)도 컴퓨터 내부적으로는 정수자료형으로 처리됨, 3.2 변수와 상수 변수는 어떤 값이 저장될수있는 메모리 공간. 리터럴 상수는 문자그대로의 의미를 갖고 변할수 없는것 const와 함께 선언된 변수(=기호적상수)는 값을 바꿀수 없음 기호적상수는 기호적인 의미만 갖기때문에 기호적 상수 3.3 scanf() 함수의 기본적인 사용법 비주얼 스튜디오에서는 #define _CRT_SECURE_NO_WARNINGS 을 전처리기 부분에 작성해줘야 에러가 나오지 않음. 이걸 안하고 하는법은 강의 참조 (해당에러는 MS가 보안상 추천해주는것임) scanf에서 &는 메모리의 주소를 scanf가 알기위해 꼭 써줘야함 즉 scanf가 &i를 .. 2021. 1. 4.