안녕하세요. C언어 기초강좌 두번째 시간입니다.
오늘은 기초강좌1에 이어 C언어 프로그램 규칙에 대해 설명해 보겠습니다.
1. C언어 프로그램 규칙(꼭 알아야 되는 필수적인 프로그램 요소입니다.)
- 위에서 아래로 한줄씩 실행 된다.
말 그대로 프로그램은 물이 위에서 아래로 흐르듯 위에서 아래로 순차적으로 실행됩니다. 실제로 복잡한 코드로 구성되어 있지만 위에서 아래로 흐르는 것이 원칙입니다. 분기문이나 반복문 때문에 아래에서 다시 위로 튀는 것처럼 보이지만 전체적인 흐름은 위에서 시작해서 아래로 흘러 끝나는 것이 원칙입니다.
- C언어는 인간과 기계가 서로 소통할 수 있게 하는 언어입니다. 코드를 작성하는 언어는 인간이 이해 할 수 있지만 당연히 기계가 바로 이것을 이해 할 수 없습니다. 기계는 단지 1과0 비트만을 이해 할 뿐입니다. 그렇기 때문에 인간이 작성한 코드를 기계가 이해 할 수 있도록 변환 해주는 컴파일러라는 것이 존재 합니다. 그 말인 즉 if 라는 문장이나 for 등 인간이 흔히 쓰는 십진수도 기계는 이진수(예:01001010)로 이해하는 것입니다.
- '변수명 = 수치값‘은 값이 같다는 의미가 아니라 저장을 의미합니다.
예를 들어 num=30;을 할 경우의 의미는 num과 30이 같다는 의미가 아니라 변수 num에 30을 저장 하라는 의미입니다.
- 16진수를 표현할 경우 앞에 ‘0x'를 기입하고 2진수를 표현할 경우에는 '0b' 첨두자를 표기합니다. 예를 들어 16진수 34를 표현할 경우(삼십사라고 읽지 않습니다. 삼사라고 읽습니다.) 0x34와 같이 표현하고 2진수 010001의 경우에는 0b010001과 같이 표현합니다. 첨두자가 없는 경우는 십진수로 인식 합니다.
- C언어 자료형의 종류
1byte는 8비트를 의미하며 1비트는 문자 그대로 0 또는 1의 상태를 표현 할 수 있는 최소 단위입니다. C언어의 자료형은 숫자, 문자, 부호의 유무 등으로 구성 됩니다. 프로그램을 하면서 자료형에서 신경써야하는 것은 적절한 자료형을 선언하여 프로그램을 해야 메모리 손실을 막으며 프로그램의 실행속도도 빨라집니다. 만약 -20~20 범위의 값을 표현하는 변수에 double형 변수를 선언하는 것은 적절치 않으며 int형 변수를 선언하는 것이 적절하다고 할 수 있습니다.
- 전역변수란? 프로그램 전체에 사용되는 변수로써 프로그램 메인 상단에 선언하여 줍니다. 예를 들어 전역 변수의 경우 아래 프로그램 코드와 같이 프로그램 제일 상단에 선언되어 프로그램 전체에 사용될 수 있는 변수입니다. int로 선언된 x, y, Result_Add, Result_Multiply 가 전역 변수입니다.
출력 결과
- 지역변수란? 함수 내에 선언되어 프로그램 전체에 사용되지 않고 선언된 함수 내 또는 지역적인 범위에만 영향을 주는 변수를 말합니다. 함수 Substract()의 int로 선언된 sub가 지역 변수입니다. 지역변수에 선언된 함수를 다른 함수나 다른 영역에 사용한다면 에러를 발생 시키고 빌드가 되지 않습니다.
출력 결과
- 함수 인자란?
아래 예와 같이 함수에 값을 전달 받을 수 있는 변수가 포함된 것을 함수 인자라고 합니다. 함수 인자는 void Add(int input_x, int input_y)라는 함수에서 int input_x, int input_y입니다. main 함수에서 Add(x,y)에서 각각 인자 x에는 1, y에는 2라는 값이 전달되어 전역변수 Result_Add에 3이라는 결과가 출력 됩니다.
출력 결과
- 결과 값 반환함수?
함수 앞에 붙는 void의 의미는 반환 할 결과 값이 없다는 의미입니다. 그래서 void(비어있다는 의미)라는 영문자를 넣어 줍니다. 하지만 함수라는 것은 원래 입력이 들어가서 출력으로 나오는 것이 원칙입니다. 아래 예제는 반환 값이 있는 함수와 없는 함수에 대한 설명입니다. 반환 할 값이 있는 경우 return 으로 값을 반환 합니다.
출력 결과
제3강으로 이어 집니다...
'프로그래밍 > C언어 기초 강좌' 카테고리의 다른 글
C언어 기초강좌6 (break, return문) (12) | 2020.12.08 |
---|---|
C언어 기초 강좌5 (Switch~Case 문) (2) | 2020.12.07 |
C언어 기초 강좌4(if문, if~else문) (2) | 2020.11.26 |
C언어 기초강좌3(연산자) (0) | 2020.11.20 |
C언어 기초 강좌1 (2) | 2020.09.16 |
댓글