목록CS 지식/C언어_basic (22)
Taking baby-developer steps
배열 배열이라는, 일종의 자료구조에 어떻게 접근해서 어떻게 사용할 수 있는지. 선언 및 접근 방법에 대해 학습한다. 우선 배열은, 일일이 변수를 선언해서 처리하기 힘든 경우에 사용한다. 동일한 자료형을 여러개 담기 위함이다. 배열을 사용하면 동일한 성격의 데이터를 다수 표현할 수 있다. 배열의 선언과 초기화 배열의 선언은 다음과 같이 할 수 있다. 자료형 배열명[배열의 크기] = (초기화 값); //초기화 값은 없을 수도 있다. 이 때 초기화 값에 {0,} 를 넣게 되면, 선언한 배열의 전체 원소를 0으로 초기화 할 수 있다. 배열은 인덱스를 통해 개별적인 값에 접근할수 있다. INT_MIN INT_MIN은 최댓값을 구하기 위해 자주 사용 되는 기능으로, 헤더파일에 정의가 되어 있는 것으로, int형 범..

함수 함수는 입력을 받아 처리한 뒤에 출력하는 구조를 가진다. 함수는 특정한 기능에 대한 소스코드가 반복되는 것을 줄이도록 해준다. 함수의 형태는 다음과 같다. 반환자료형 함수명(매개변수){ //수행될 명령어 return 반환할 값; } 위에서 반환 자료형에는 함수의 처리결과를 어떤 자료형으로 반환할지를 결정한다. +애초에 다양한 프로그래밍 기법들은 프로그래밍을 얼마나 효과적으로, 생산성이 높게 할 수 있는지에 초점을 맞추고 있으므로, 함수 또한 이런 목적(불필요한 소스코드의 반복 제거)으로 사용 된다. 함수에서 매개변수와 반환할 값은 경우에 따라서 없을 수 있다. 매개변수 및 반환할 값이 없을 때의 자료형은 void이다. +주로 void형으로 정의된 함수 여러개들이 묶여있는 것이 라이브러리이다. 함수를..
반복문 특정 조건이 부합 할 때 특정한 명령어가 반복되게 할 수 있다. For문 For문 내부의 조건에 부합하면(조건이 참이면) 계속해서 특정한 구문을 실행한다. 반복문을 탈출하고자 할 땐 해당 위치에 break 구문을 삽입한다. For문의 구조는 다음과 같다. for (초기화; 조건; 반복 끝 명령어){ //반복적으로 실행 할 부분 } 초기화는 있을 수도, 없을 수도 있다. 일단 조건을 만족하면, 특정한 부분(반복적으로 실행할 부분)을 실행한 후, 특정 부분이 끝나면 다시 돌아와, 반복 끝 명령어를 수행하게 된다. 그 다음 다시 조건을 만족하는지 확인해서 만족하면 반복해서 실행을 계속 한다. +사실 전통적인 C언어에서는 for문 안에서 초기화를 시키는게 금지(for문 전에 미리 선언 및 초기화를 해야함..
조건문 조건문을 이용해 프로그램의 흐름을 결정할 수 있다. 이번엔 if문과 switch문을 통해 각각의 문법을 어떻게 사용할 수 있는지에 대해 알아본다. IF문 if문 내부의 조건을 검사해 츠로그램의 진행 경로를 결정한다. if문은 조건의 개수가 많지 않을 때 사용하는 것이 유리하다. 총 3가지 예약된 문장들을 사용해서 if문을 만들 수 있는데, 다음과 같다. if (조건 1){ // 조건 1에 부합 할때 } else if (조건 2){ // 조건 1에 부합하지 않지만 조건 2에 부합 할때 } else { // 위 조건들에 모두 부합하지 않을 때 } (경우에 따라 else if 와 else는 꼭 쓰지 않아도 된다.) + if문을 여러개 사용할 경우, 반드시 논리적으로 오류가 없는지 검사해야한다. Swit..

비트 연산자 비트 연산자란, 비트 단위의 연산을 하고자 할 때 사용할 수 있는 연산자들을 말한다. 비트 단위의 연산은 다음과 같이 수행할 수 있다. ~ 는 '부정'의 연산자로, 비트 단위 연산에서의 'Not'이다.[cf) 일반적으론 !가 Not의 의미] 부정의 연산자는 각각의 비트 단위 마다 0과 1을 뒤바꾼다. &는 '그리고'를 뜻하는 연산자로서, 두 비트 중 쉽게 말해, 두개 다 1인 자리만 1값을 가지게 된다. 집합과 관련지어 생각하자면 교집합이라고 생각하면 된다. |는 '또는'을 뜻하는 연산자로서, 두 비트 중 하나라도 1을 가지면 1값을 가진다. 합집합이라고 생각하면 된다. ^는 '배타적' 연산자로, 둘중 1개만 1일 때 1이 된다. 합집합에서 교집합을 뺀 부분이라고 생각하면 된다. > 오른쪽 ..

연산자와 피연산자 연산자(Operator)란 연산을 수행하는 기호를 의미한다. 피연산자(Operand)란 연산에 포함되는 변수나 상수를 의미한다. 즉, A+B 라는 수식에서, A와 B는 피연산자, +는 연산자에 해당한다. 연산자의 종류 C언어에는 다양한 연산자가 존재한다, 기본적인 연산자들은 C언어에서도 채택하고 있으며, 흔히 알고 있는 수학에서의 연산자와 일치하게 동작한다. 일부 연산자는 수학연산자와 조금 다르긴 하다. 대표적으로 대입 연산자가 수학에서의 연산과 상이하다. 대입 연산자 C언어에서 '=' 등호는 "대입"의 의미를 가진다. 등호를 이용해서 우변항을 좌변항에 넣을 수 있다. 자료형에 부합하는 값을 좌변항에 있는 변수에 넣는다. 사칙연산(산술연산자) C언어에서는 기본적인 사칙 연산을 사용할 수..

C언어 기본 입출력 C언어에서 입력 받거나 출력할 때는 형식 지정자를 적절히 따라야 한다. 기본 입출력은 scanf()와 printf()함수로 공부할 것이다. Scanf() C언어에서 특정한 변수에 값을 넣기 위해서 scanf()를 사용한다. #include int main(void){ int a; scanf("%d", &a); print("입력한 숫자는 %d입니다.\n",a); system("pause") return 0; } 단, 일반적으로 많이들 사용하는 Visual Studio는 기본적으로 취약한 함수를 사용할 수 없도록 제한하는데, scanf()가 이에 해당한다. 실제로 중요한 모듈등을 개발할 땐 scanf()를 이용하지 않는다. 하지만 일단, 가장 기본적인 입력을 받는 함수이기 때문에, 이 함..

정수의 표현 방법 컴퓨터가 정수(Integer)를 처리하는 방법은 다음과 같다. 컴퓨터는 내부적으로 2진수로 숫자를 표현한다.(0또는 1) 9를 2진수로 나타내보면 다음과 같다. 부호절대값 방식 - 1B(=8bit)의 공간이 있을 때, 0 0 0 0 1 0 0 1 부호 64 32 16 8 4 2 1 이렇게 부호까지 포함해서 8칸(8비트)을 표현하는 방식을 부호절대값 방식이라고 하는데, 이렇게 1의 공간이 있는 경우, -127~+127까지 표현이 가능하다. 이와 같이, 부호절대값 방식(가장 왼쪽 비트를 부호 비트로 사용하는, 컴퓨터가 정수를 내부적으로 표현하는 방식 중 하나)으로 -9를 표현 해보면 다음과 같다. 1 0 0 0 1 0 0 1 부호 64 32 16 8 4 2 1 (부호에서 0: 양수, 1: ..

변수와 상수의 개념 변수(Variable)는 변할 수 있는 데이터이다. 들어가는 값이 바뀔 수 있다. 상수(Constant)는 변하지 않는 데이터이다. 한번 작성되면 바뀌지 않는다. 변수의 선언 int a; #변수 선언 int a=7; #변수 선언과 초기값 설정 변수를 선언할 때는 자료형과 변수명을 입력한다. 원하는 경우 초기값을 적용할 수 있다.(초기화 되지 않은 변수는 쓰레기 값이 들어간다) 가장 많이 사용되는 변수는 정수형(Integer) 변수이다. 변수의 초기화와 쓰레기값 #초기화 되지 않은 변수에 쓰레기 값이 들어가 오류가 출력되는 경우 #include int main(void){ int a; #초기화 되지 않은 변수 선언 printf("The number is %d.\n",a); system(..
변수와 상수의 개념, 이를 활용한 기본적인 프로그램 작성, 정수/실수의 표현 방법, 변수로 사용할 수 있는 기본적인 자료형들에 대해 학습한다. 그 전에, 먼저 Hello World 프로그램에 들어간 소스코드의 내용을 학습한다. Hello World! - 개발환경 구축 후 잘 작동하는지 확인 하기 위해 맨처음으로 테스트해보는 출력 프로그램 #include int main(void){ printf("Hello World!"); system("pause"); return 0; } 라이브러리 불러오기 #inlude C/C++에서는 #include 명령어를 이용해 다양한 라이브러리를 볼러 올 수 있다. 여기서 쓰인 stdio.h는 printf()등의 입출력 관련 함수 들 등의 여러 기본적인 기능을 담고 있다. s..