제어문(control flow statements)C 프로그램은 절차적 프로그램(procedural program) 또는 명령형 프로그램(Imperative program)에 속합니다.C 프로그램에는 수많은 명령문이 포함되어 있으며, 이 명령문은 처음부터 끝까지 순서대로 실행됩니다.따라서 원하는 결과를 얻기 위해서는 프로그램의 이러한 순차적인 흐름을 제어해야만 합니다. 이때 사용하는 명령문을 제어문이라고 하며, 이러한 제어문에는 조건문, 반복문 등이 있습니다.이러한 제어문에 속하는 명령문들은 중괄호({})로 둘러싸여 있으며, 이러한 중괄호 영역을 블록(block)이라고 합니다. 조건문(conditional statements)조건문은 주어진 조건식의 결과에 따라 별도의 명령을 수행하도록 제어하는 명령문입..
삼항 연산자(ternary operator)삼항 연산자는 다른 언어에는 존재하지 않는 C언어만의 독특한 연산자입니다.이 연산자는 C언어에서도 유일하게 피연산자를 세 개나 가지는 조건 연산자입니다. 삼항 연산자의 문법은 다음과 같습니다. 조건식 ? 반환값 1 : 반환값 2물음표(?) 앞의 조건식에 따라 결괏값이 참(true)이면 반환값1을 반환하고, 결괏값이 거짓(false)이면 반환값2를 반환합니다.이때 반환값에는 값뿐만 아니라 수식, 함수 호출 등 여러 가지 형태의 명령문이 올 수 있습니다. 삼항 연산자는 짧은 if / else 문 대신에 사용할 수 있으며, 코드를 간결하게 작성할 수 있도록 도와줍니다. 쉼표 연산자쉼표(,) 연산자는 얼핏 연산자가 아닌 것처럼 보이지만 다양한 용도로 사용되는 연산자입니..
논리 연산자(logical operator)논리 연산자는 주어진 논리식을 판단하여, 참(true)과 거짓(false)을 결정하는 연산자입니다.AND 연산과 OR 연산은 두 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽입니다.NOT 연산자는 피연산자가 단 하나뿐인 단항 연산자이며, 피연산자의 결합 방향은 오른쪽에서 왼쪽입니다.논리 연산자설명&&논리식이 모두 참이면 1을 반환함. (논리 AND 연산)||논리식 중에서 하나라도 참이면 1을 반환함. (논리 OR 연산)!논리식의 결과가 참이면 0을, 거짓이면 1을 반환함. (논리 NOT 연산)
비교 연산자(comparison operator)비교 연산자는 피연산자 사이의 상대적인 크기를 판단하는 연산자입니다.비교 연산자는 왼쪽의 피연산자와 오른쪽의 피연산자를 비교하여, 어느 쪽이 더 큰지, 작은지, 또는 서로 같은지를 판단합니다.비교 연산자는 모두 두 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽입니다.비교 연산자설명==왼쪽의 피연산자와 오른쪽의 피연산자가 같으면 1을 반환함.!=왼쪽의 피연산자와 오른쪽의 피연산자가 같지 않으면 1을 반환함.>왼쪽의 피연산자가 오른쪽의 피연산자보다 크면 1을 반환함.>=왼쪽의 피연산자가 오른쪽의 피연산자보다 크거나 같으면 1을 반환함.
대입 연산자(assignment operator)대입 연산자는 변수에 값을 대입할 때 사용하는 이항 연산자이며, 피연산자들의 결합 방향은 오른쪽에서 왼쪽입니다.다양한 복합 대입 연산자가 존재합니다.대입 연산자설명=왼쪽의 피연산자에 오른쪽의 피연산자를 대입함.+=왼쪽의 피연산자에 오른쪽의 피연산자를 더한 후, 그 결괏값을 왼쪽의 피연산자에 대입함.-=왼쪽의 피연산자에서 오른쪽의 피연산자를 뺀 후, 그 결괏값을 왼쪽의 피연산자에 대입함.*=왼쪽의 피연산자에 오른쪽의 피연산자를 곱한 후, 그 결괏값을 왼쪽의 피연산자에 대입함./=왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 결괏값을 왼쪽의 피연산자에 대입함.%=왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 나머지를 왼쪽의 피연산자에 대입함.
연산자(operator)연산자(operator)란 프로그램의 산술식이나 연산식을 표현하고 처리하기 위해 제공되는 다양한 기호를 의미합니다.C언어에서는 여러 종류의 연산을 위해 다양한 연산자를 제공하고 있습니다. 산술 연산자(arithmetic operator)산술 연산자는 사칙연산을 다루는 기본적이면서도 가장 많이 사용되는 연산자입니다.산술 연산자는 모두 두 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽입니다. 산술 연산자설명+왼쪽의 피연산자에 오른쪽의 피연산자를 더함.-왼쪽의 피연산자에서 오른쪽의 피연산자를 뺌.*왼쪽의 피연산자에 오른쪽의 피연산자를 곱함./왼쪽의 피연산자를 오른쪽의 피연산자로 나눔.%왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 나머지를 반환함.
기본 타입C언어에서 타입(data type)이란 해당 데이터가 메모리에 어떻게 저장되고, 프로그램에서 어떻게 처리되어야 하는지를 명시적으로 알려주는 역할을 합니다.따라서 C언어는 여러 형태의 타입을 미리 작성하여 제공하고 있는데, 이것을 기본 타입이라고 합니다.이러한 기본 타입은 크게 정수형, 실수형, 그리고 문자형 타입으로 나눌 수 있습니다. 정수형 타입C언어에서 정수란 부호를 가지고 있고, 소수 부분이 없는 수를 의미합니다. 정수형 데이터에 unsigned 키워드를 추가하면, 부호를 나타내는 최상위 비트(MSB, Most Significant Bit)까지도 크기를 나타내는 데 사용할 수 있습니다.이러한 unsigned 정수는 음수를 표현할 수는 없게 되지만, 0을 포함한 양의 정수는 두 배 더 많이 ..
상수(constant)상수(constant)란 변수와 마찬가지로 데이터를 저장할 수 있는 메모리 공간을 의미합니다.하지만 상수가 변수와 다른 점은 프로그램이 실행되는 동안 상수에 저장된 데이터는 변경할 수 없다는 점입니다. 이러한 상수는 표현 방식에 따라 다음과 같이 나눌 수 있습니다. 1. 리터럴 상수(literal constant)2. 심볼릭 상수(symbolic constant) 리터럴 상수(literal constant)리터럴 상수(literal constant)는 변수와는 달리 데이터가 저장된 메모리 공간을 가리키는 이름을 가지고 있지 않습니다.C언어에서는 적절한 메모리 공간을 할당받기 위하여, 기본적으로 변수든 상수든 타입을 가지게 됩니다. 리터럴 상수는 타입에 따라 정수형 리터럴 상수, 실수..
변수(variable)변수(variable)란 데이터(data)를 저장하기 위해 프로그램에 의해 이름을 할당받은 메모리 공간을 의미합니다.즉, 변수란 데이터(data)를 저장할 수 있는 메모리 공간을 의미하며, 이렇게 저장된 값은 변경될 수 있습니다. C언어에서 숫자 표현에 관련된 변수는 정수형 변수와 실수형 변수로 구분할 수 있습니다.또다시 정수형 변수는 char형, int형, long형 변수로, 실수형 변수는 float형, double형 변수로 나눌 수 있습니다. 또한, 데이터가 저장된 메모리의 주소를 저장하고 처리하는 포인터 변수가 있습니다.관련된 정보를 한 번에 묶어서 처리하는 사용자 정의 구조체 변수도 있습니다. 변수의 이름 생성 규칙C언어에서는 변수의 이름을 비교적 자유롭게 지을 수 있습니다...
scanf() 함수scanf() 함수는 C언어의 표준 입력 함수로, 사용자로부터 다양한 데이터를 다양한 서식에 맞춰 입력받을 수 있게 해줍니다.scanf() 함수의 f는 formatted의 약자이며, 서식화된 입력을 받는다는 의미입니다.이 함수는 입력받은 데이터를 어떤 서식으로 변환할지 서식 지정자(format specifier)를 통해 직접 지정할 수 있습니다. C언어에서 데이터를 입력받으려면 입력받고자 하는 데이터의 타입에 해당하는 크기의 메모리를 우선 할당받아야 합니다.이처럼 데이터를 저장하기 위해 프로그램에 의해 이름을 할당받은 메모리 공간을 변수(variable)라고 합니다. 서식 지정자의 동시 사용여러 개의 서식 지정자를 동시에 사용하여, 여러 데이터를 서로 다른 서식으로 한 번에 입력받을 수..
- Total
- Today
- Yesterday
- BaskinRobins31
- OllyDbg
- Nightmare
- luckyzzang
- babypwn
- Codegate
- 포너블
- 리버싱
- zombie_assassin
- protostar
- 0ctf
- TAMUCTF
- lob
- 올리디버거
- Python
- 비교 연산자
- Pwnable.kr
- 파이썬
- angry_doraemon
- darkknight
- bugbear
- HarekazeCTF
- babyheap
- orge
- Golem
- picoctf
- 클래스
- succubus
- C언어
- ftz
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |