표준 스트림(Standard stream)
- 컴퓨터 프로그램과 컴퓨터 환경 사이에 미리 정의되어 있는 입출력 통로
- 표준 출력(stdout) : 프로그램에서 모니터 등 나가는 출력 스트림
- 표준 출력 함수 : printf(), puts(), putchar() 등
- 표준 입력(stdin) : 키보드에서 프로그램으로 들어오는 입력 스트림
- 표준 입력 함수 : scanf(), gets(), getchar() 등
- 표준 에러(stderr) : 프로그램에서 발생한 에러 스트림
이스케이프 시퀀스(Escape Sequence)
- 컴퓨터와 주변 기기의 상태를 바꾸는데 쓰이는 특수 문자
- 이와 같은 특수 문자는 앞에 "\" 또는 "\"를 붙여서 나타냄
- 주요 이스케이프 문자
이스케이프 시퀀스 | 의미 | 설명 |
\\ | 역 슬래시 출력 | 역 슬래시를 문자 그대로 출력 |
\b | 백스페이스(Backspace) | 커서를 한 스페이스 뒤로 이동 |
\f | 폼 피드(Form feed) | 커서를 다음 페이지 처음으로 이동 |
\n | 개행(New line) | 커서를 다음 라인의 처음으로 이동 |
\r | 캐리지 리턴(Carriage return) | 커서를 현재 줄 처음으로 이동 |
\t | 수평 탭 | 커서를 수평 탭의 다음 위치로 이동 |
\v | 수직 탭 | 커서를 수직 탭의 다음 위치로 이동 |
형식 지정자(Format Specifier)
지정자 | 설명 | 예제 |
%c | 하나의 문자(char) | a |
%s | 문자열 | Hello World |
%d | 부호 있는 10진 정수(short, int) - %ld(long) - %lld(long long) | 123 or -123 |
%f | 고정 소수점으로 표현한 실수(소수점 이하 6자리까지 표현)(float) | 0.123456 |
%lf | 고정 소수점으로 표현한 실수(double) - %lf(long double) | 0.123456 |
%o | 부호 없는 8진 정수 | 123 -> 173 |
%u | 부호 없는 10진 정수 | 123 |
%x or %X | 부호 없는 16진 정수(소문자 또는 대문자 사용) | 123 -> 7b or 7B |
%e or %E | 부동 소수점으로 표현한 실수(e or E - 표기법) | 0.00001234 -> 1.234e-05 |
%% | 퍼센트(%%) 기호 출력 | % |
printf 함수
- 출력 데이터를 지정된 형식(Format)으로 출력하는 표준 출력 함수
- 함수 형식 : printf("[출력할 문장 또는 형식 지정자]", [변수 또는 "상수"], [변수 또는 "상수"]....);
- 형식 지정자 사용 방식 : %[플래그][폭][.정밀도][길이]형식 지정자
scanf 함수
- 데이터 입력받아 변수에 저장하는 표준 입력 함수
- 함수 형식 : scanf("[형식 지정자][형식 지정자] ....", &[변수], &[변수], ...);
- & 기호 : 주소 연산자, 입력 받은 데이터를 해당 변수 주소에 저장하라는 의미
puts 함수
- 문자열 출력 함수
- 함수 형식 : puts("[변수 또는 문자열]");
- puts 함수의 경우 자동 개행
- "\n"을 붙여줄 필요가 없음
gets 함수
- 문자열을 입력받는 함수
- 함수 형식 : gets([변수]);
- 문자열에서 개행 전까지 저장
- NULL 문자("\0")가 문자열 끝에 추가
putchar 함수
- 문자열 출력 함수
- 함수 형식 : putchar("[변수 또는 문자]");
getchar 함수
- 문자열을 입력받는 함수
- 함수 형식 : getchar();
- 입력 값을 초기화 할 때도 사용
산술 연산자(Arithmetic operators)
- 숫자 계산을 수행하는 연산자
- 다항 연산자와 단항 연산자가 있음
http://www.tcpschool.com/cpp/cpp_operator_arithmetic
관계 연산자(Relational oprators)
- 피연산자들을 비교하여 참(True) 또는 거짓(False) 판별을 수행하는 연산자
- 참(True)는 0이 아닌 모든 수, 거짓(False)는 0을 의미함
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=angelcorean&logNo=220806076538
논리 연산자(Logical oprators)
- 논리 연산(AND, OR, NOT)을 수행하는 연산자
- 참(True)는 0이 아닌 모든 수, 거짓(False)는 0을 의미함
비트 연산자(Bitwise oprators)
- 피연산자들의 비트 단위에서 연산을 수행하는 연산자
대입 연산자
- 피연산자들의 값 또는 피연산자들을 연산한 결과 값을 대입하는 연산자
기타 연산자
이름 | 연산자 | 설명 | 구문 |
콤마 연산자 | , | 동일한 성격의 피연산자들을 나열하는 연산자 | int i, j; |
sizeof 연산자 | sizeof | 변수나 데이터 타입의 크기를 반환하는 연산자 | sizeof(i), sizeof(char) |
형 변환 연산자 | (type) | 피연산자의 데이터 타입을 강제로 변환시키는 연산자 | b = (float) a |
조건 연산자 | ?: | 조건식을 조사하여 조건식의 참 거짓 유무에 따라 결과를 출력하는 연산자 | c = (a>b) ? (a-b) : (b-a) |
주소 연산자 | & | 변수의 주소를 반환하는 연산자 | &number |
참조 연산자 | * | 변수를 가리키는 포인터 | *address |
C언어 연산자 우선순위(C Operator Precedence)
반복문
: 반복문이란 프로그램 내에서 똑같은 명령 일정 횟수만큼 반복해 수행하도록 제어하는 명령문
- 특징
- 특정 작업을 반복적으로 수행하는 프로그래밍 문법
- 일정한 법칙 및 변화가 있는 작업 할 때 사용
- 종류 : while문, do-while문, for문
while문
- 조건문으로만 구성되어 있고 조건문이 참(True)이 아닌 경우 반복 종료함
- 초기값이 while문 외부에 존재
- 변화 조건이 while문 내부에 존재
- 내부에 존재하지 않으면 무한 루프 생성
- 내부에 존재하지 않더라도 break, return이 있으면 무한 루프에 빠지지 않음
do-while 문
- 첫 1회 실행 후 조건문 충족하지 않으면 반복 종료
- 초기값이 do-while문 외부에 존재
- 변화 조건이 do-while문 내부에 존재
- 내부에 존재하지 않으면 무한 루프 생성
- 내부에 존재하지 않더라도 break, return이 있으면 무한 루프에 빠지지 않음
for문
- 구성 : for([초기값]; [조건문]; [변화조건])으로 구성
- 조건문을 충족하지 않으면 반복 종료
- 변화조건은 2개 이상 존재할 수 있지만 조건문은 1개만 존재
- 변화조건에 따라서 값이 바뀌면 다시 조건문을 비교
- 별찍기 과제
https://rightful-grill-05f.notion.site/cc9ac1f6aa794774933bdb0104f1a7a4
'정보보호과정' 카테고리의 다른 글
6주차(1) - 2022/03/07 네트워크 기초 개요 (0) | 2022.03.14 |
---|---|
5주차(1) - 2022/03/07 리버스 엔지니어링 개요 (0) | 2022.03.07 |
4주차(1) - 2022/02/28 프로그래밍 개론 (0) | 2022.02.28 |
3주차(4) - 2022/02/24 리눅스 기초 (0) | 2022.02.24 |
3주차(3) - 2022/02/23 리눅스 기초 (0) | 2022.02.23 |