1. C언어의 이해
- 1프로그래밍(Programming)은 을 만드는 행위를 말한다.
- 2C는 실질적으로 모든 컴퓨터 시스템에서 사용할 수 있도록 설계된 이다.
- 3윈도우 운영체제 만들어진 프로그램은 리눅스와 같은 다른 운영체제에서도 사용 가능하기 때문에 이다.
- 4C언어를 이용해 프로그래밍을 하려면 하고 다양한 종류의 컴파일러가 있다.
2. C언어 컴파일러 설치
- 1함수는 이름이 있고 이름 앞에 이 있고 함수 이름 뒤에 ‘()’(괄호)가 붙고, 함수의 코드는 ‘{ }’(중괄호)로 묶어서 표현한다.
- 2printf()는 출력을 담당하는 프로그램이며 제공한다.
- 3scanf() 함수는 C언어의 표준 입력 함수로, 사용자로부터 에 맞춰 입력 받을 수 있게 해준다.
3. printf()와 데이터 형식
- 1printf() 함수는 화면에 큰따옴표(“ “) 안의 내용을 출력하기 위한 함수로 등의 데이터를 다양한 형태로 화면에 출력할 수 있다.
- 2printf( )는 괄호 안에 큰따옴표로 감싸면 숫자도 무조건 문자로 취급하고 하기 위해 특별한 서식이 필요한데 이를 서식문자라 한다.
- 3정수형 숫자를 출력하는 서식은 등이 있고, 실수형 숫자를 출력하는 서식에는 %f, %7.1f, %7.3f 등이 있다. 또한 문자열을 출력하는 서식에는 %s, %10s 등이 있다.
- 4역 슬래시 ’\(\)’ 와 특수 문자의 조합으로 C언어에서 특별할 동작이나 문자를 표현하고자 할 때 사용하는데 이런 문자를 라고도 한다
4. 변수의 이해
- 1C 프로그램은 숫자, 문자, 단어들로 이루어진 데이터를 사용하는데, 이런 데이터의 종류를 자료형(data type)이라고 한다. 변수(Variable)는 데이터(data)를 저장하기 위해 프로그램에 의해 을 의미하고 이렇게 저장된 값은 변경될 수 있다.
- 2변수의 이름은 특정한 규칙을 가지고 있어 하나의 프로그램에서 같은 이름의 변수를 사용할 수 없어서 .
- 3대입 연산자(assignment operator)는 인데 C언어에서는이 대입 연산자를 등호(=)로 표현한다.
- 4상수는 변하지 않는 데이터를 담아 놓은 공간으로 변수와 비슷하지만, 한번 데이터를 저장하면 프로그램 실행 시 는 차이점이 있다.
5. 데이터 단위 및 진법 변환
- 1비트는 컴퓨터는 전기의 흐름을 디지털화 하여 0과 1로 표현되는 신호에 의해 동작하고 바이트는 컴퓨터에서 를 의미한다.
- 2진수는 진법으로 나타내어진 수를 의미하고 진법을 나타내는 기본수를 라 한다.
- 3진법은 기수로 사용하는 수를 n으로 표현하면 0부터 n개의 숫자를 사용해서 수를 표현하는 방법이며 표현은 까지로 표현한다.
6. 데이터 형식과 배열
- 1데이터 형식(자료형, Data Type)은 선언할 변수의 종류를 의미로 C언어에서는 변수들은 사용하기 전에 반드시 등의 데이터 형식을 선언해야 한다.
- 2숫자형 데이터 형식은 숫자로 표현되는 형식으로, C언어에서 사용되는 숫자형 데이터 형식은 이 있다.
- 3미국 표준 협회(ANSI)’ 에 의해서 제정된 가 대표적인 문자를 숫자로 표현하는 코드이다.
- 4리터럴(literal)상수는 이름을 지니지 않는 상수로 연산을 위해서는 30, 40과 같이 프로그램상에 표현되는 숫자도 메모리 공간에 저장되어야 한다. 심볼릭(symbolic) 상수는 이다.
- 5자동형 변환은 자동적으로 발생하는 형태의 데이터 형식 변환으로 이라고도 한다.
7. 연산자의 이해 1 : 산술 연산자, 관계 연산자
- 1컴퓨터는 수식(expression)을 이용하여 여러 가지 연산 처리를 하고 프로그램 언어에서 수식은 의 조합으로 구성되어 있다.
- 2연산자 우선순위는 콤마 < 대입 < 논리 < 관계 < 산술 < 단항 < 괄호 순로 괄호 연산자가 가장 우선순위가 높다. 은 변수 또는 상수 앞에 ‘()’을 써주고 정수와 실수를 나누면 실수가 되어 result2에 실수의 값이 대입한다.
- 3대입 연산자는 연산자의 이며, 그 기능을 가장 늦게 수행한다. 증감 연산자는 피연산자를 1씩 증가 혹은 1씩 감소시킬 때 사용하는 연산자이다.
- 4관계연산자는 2개의 피연산자 크기를 비교하기 위한 연산자로 결과값은 을 가진다.
8. 연산자의 이해 2 : 논리 연산자, 비트 연산자, 조건 연산자
- 1참과 거짓은 기본적으로 참(true)은 1로, 거짓(false)은 0로 표현되고, C 언어는 참과 거짓이라는 상수는 없으며 으로, 0이 아닌 값을 참으로 간주한다.
- 2논리 연산자는 여러 개의 조건을 조합하여 참과 거짓을 따지는 연산자로, 결과값은 을 가진다.
- 3비트 연산자는 비트(bit) 단위로 논리 연산을 할 때 사용하는 연산자이며, 비트 단위로 전체 비트를 왼쪽이나 오른쪽으로 이동시킬 때도 사용한다. 비트 연산자는 으로 구성된 이진수 각 자리에 대해 연산을 한다.
- 4조건 삼항 연산자는 C 언어에서 유일하게 를 갖는 삼항 연산자이며, 연산식 exp1이 0이 아닌 값(참을 의미)으로 평가되면, 삼항 연산자의 평가값은 두 번째 연산식인 exp2의 값으로 평가된다.
9. 제어구조 : 기본 if문, if~else문
- 1기본 if문은 프로그래밍 언어에서 제어문은 시키거나 또는 조건에 따라 실행해야 할 명령문을 제어하는 데 사용하는 명령문으로 일반적으로 프로그램은 위에서부터 아래로 순차적으로 실행된다.
- 2if~else문은 기본 if 문과는 달리 조건식이 에 따라실행할 명령문을 구분하여 실행하는 조건문이다.
10. 제어구조 : 다중 선택, 중첩 if문, switch~case문
- 1다중 선택 if ~ else 문은 if ~ else 문이 확장된 형태로 다중 선택 if ~ else 문 안에 있는 문장은 단순 if 문으로 조건식을 차례로 비교한다. 다중 선택 if~else 문 안에 있는 차례로 비교하여 실행이 이루어진다.
- 2중첩 if문은 if문을 한 번 실행하고 그 결과에 다시 다른 if문을 실행하는 것으로 가능하면 하여 조건식을 명확히 하는 것이 좋다.
- 3은 주어진 조건식의 값에 따라 여러 개의 명령문 중에서 어느 특정한 명령문만을 실행 하고자 할 때 사용한다
11. 제어구조 : 단순 for문
- 1반복문은 여러 번 수행해야 할 작업을 반복문의 사용은 아주 중요하고, 대표적인 반복문은 for문과 while, do~while 문이 있다.
- 2for문은 반복횟수를 명확히 알고 있을 때 주로 사용하고, while문은 해야 할 때 주로 사용한다.
- 3for문의 형식은 괄호 안에 이 세미콜론(;)으로 구분되어 있으며, 중괄호({ }) 안에 반복할 문장이 나는데 반복할 문장이 하나뿐이라면 중괄호를 생략해도 된다.
12. 제어구조 : 중첩 for문
- 1중첩반복문은 반복문 안에 또 다른 반복문이 포함되는 경우이며, 중첩for문은 for문 내부에 또 다른 for문이 들어 있는 형태이다. 총 반복 횟수는 이다.
- 2for문에 여러 개의 초기값과 증감식을 사용할 수 있고, 초기값이 하나일 필요 없고 초기값이 여러 개일 때는 하며 증감식도 하나 이상 사용 가능하다.
13. 제어구조 : while문, do~while문
- 1while문은 조건식이 true(참)일 경우에 계속해서 반복하는 반복문이기 때문에 조건에 따라 해야 할 때 주로 사용한다. while 문은 for문과 달리 초기식과 증감식을 사용하지 않고 조건식에 대해서만 참인 경우에 반복을 계속한다.
- 2for문에서 사용하는 초깃값은 while문에서는 while문 밖에서 초기화 하고 사용하고 for문에서의 증감식은 while문 안에서 사용되고 만 사용한다.
- 3무한반복문은 컴퓨터에서 프로그램이 으로, 반복문에 종료 조건이 없거나, 종료 조건과 만날 수 없을 때 생기고, 무한반복문를 위한 while문은 조건식이 무조건 참이어야 한다.
- 4do~while문은 조건에 따라 반복을 계속할지를 결정할 때 사용하는 것은 while 문과 동일하고, 조건식을 확인하기 전에 하므로 무조건 한 번은 실행된다.
14. 기타 제어문 : break문, continue문, goto문, return문
- 1break문은 으로 for, while, do~while과 같은 반복문을 탈출할 때 사용하고, if문과 결합하여 무한 반복문 안에서 주로 사용된다. 그리고 무한 반복을 돌다가 특정 조건을 만족하면 프로그램을 종료하는 역할을 한다.
- 2continue문을 만나면 을 건너뛰고 반복문을 처음부터 다시 수행하게 된다.
- 3goto문은 지정된 레이블로 건너뛰게 하는 명령문으로 하게 만드는 단점이 있어 잘 사용되지는 않는다.
- 4return문은 현재 실행하는 함수를 끝내고 해당 함수를 호출한 곳으로 돌아가게 하고, 하고 호출한 함수로 제어를 반환한다.