쑤쑤_CS 기록장
[TIPS 20기]2. C언어 두번째 강좌 정리 본문
12월 31일, 2018년의 마지막 날
TIPS 20기 두번째 수업이 있었습니다..!
오늘 수업은 아래 순서로 진행되었습니다.
C언어 강의 - 4장. 상수와 변수 / 5장. 함수 / 6장. 표준출력 함수
[ 본격적인 강의 정리 ]
[4장] 상수와 변수
* 상수
= 컴파일러랑 나랑 약속한 값 (바꾸지 않겠다고 정함)
- 숫자형 상수
- 문자형 상수
: ‘문자’ -> 그 문자의 값을 숫자로 컴파일러가 변환합니다. 상수 라는 것은 다 숫자로 변환됩니다.
- 문자열형 상수
: “” 문자열이란 문자를 그룹지은 것을 의미합니다.
시스템 성능을 위해 문자열을 최소화 하는 것이 좋습니다. 문자열은 조금은 비효율적입니다.
* 진법
23 //10진법
023 //8진법
0x23 //16진법
으로, 숫자 앞에 함부로 0 을 붙이면 진법의 변화를 가져올 수 있으므로 안됩니다.
첫 번째는 무조건 숫자여야 됩니다. 앞 부분은 호환성 범위를 나타냅니다.
1.52e+3에서 e+3은 10의 3승을 의미합니다.
* 변수
: 데이터를 저장하기 위한 공간 으로, 주소를 기억하지 않으려고 사용합니다.
- 크기가 필요하며 이를 자료형으로 나타냅니다.
- C언어에서는 대소문자를 구별합니다.
- 컴파일러는 똑같은 표현 여러가지 중 자기한테 좋은 표현, 자기한테 맞는 표현을 사용할 수 있게 합니다.
- 변수 초기화 란, 내가 예상 가능한 형태로 만들어 놓는 것을 의미합니다.
- 진법의 변환 부분에서는 1, 2, 4, 8의 패턴만 알고있으면 활용 가능합니다.
[5장] 함수
* 함수 란 코드를 그룹 짓는 기술 입니다. 지난번 글과 마찬가지로, 왜?! C언어가 함수를 제공하기 시작했는가에 대한 의문으로 함수 내용을 시작하겠습니다.
함수의 기능으로는 2가지로 정리할 수 있는데,
1. 변화에 대처
2. 생각의 범위를 줄여 나가는 기술
입니다.
1. 함수란 ‘변화에 대응하는 무기’라고 할 수 있습니다. 코드 기능 수정 시, 프로그램의 변화를 최소화 할 수 있도록, 효과적으로 해결하는 방법입니다. 따라서 함수는 중복이 있어야만 쓰이는 것은 아닙니다.
2. 생각의 범위를 줄여 나가는 기술로 생각을 나누는 효과가 있습니다.
다음으로는 함수의 구조, 형태를 알아보겠습니다.
넘겨주고싶은 값들 은 값을 전달해주는 역할을 합니다. Int a, int b 등 지역변수를 선언합니다. 이때 주의할 점은 int 같은 타입을 다 적어야 된다는 점 입니다.
반환 return은 종료의 의미로, 밑에 코드는 사용되지 않고 무시됩니다.
- 호출하기 관련하여, 호출자는 caller / 피호출자는 callee 라 합니다.
- 반환값 키워드인 void는 매력적입니다. 함수를 쓰는 사람이 편하게 쓸 수 있도록 합니다.
정해져 있지 않다 = 만능이다 = 무엇이든 가능하다 = void 라고 생각할 수 있습니다.
- main 함수가 프로그램의 시작 함수 인 것으로 약속되어있습니다.
- [함수 원형] 컴파일러는 코드의 위쪽에서 아래쪽으로 내용을 읽으며 번역합니다.
컴파일하는 시점에 모르는 함수가 있으면 안됩니다. 이때, 서로 호출하는 형태의 경우 문제가 발생합니다. (올릴 수 없는 형태)
따라서 함수의 원형을 선언해놓습니다. 피호출자 위에 GOOD. 호출자가 피호출자 밑에 있도록.
int Sum(int, int); //변수명은 생략 가능, 개수나 자료형만 필요하기 때문, 생략x가 원칙임
[6장] 표준출력함수
- 라이브러리 : 소스 주기 싫어서 -> 실제 사용하는 내용만 실행 파일에 포함
- 변경x, 소스파일 -> 오브젝트 파일. obj (+)단점 : 모두 다 실행파일에 들어감. 사이즈 up
- 함수의 원형 모아서 헤더파일
* 전처리기 : 컴파일러 지시어(컴파일러에게 명령함). 내가 컴파일러에게 하고싶은 말은 적는것.
(;를 사용하지 않음, #을 사용함)
- #include 전처리기 : 먼저 읽어야 처리할 수 있음. stdio : standard input output
- #define 전처리기 : 치환문. 상수나 명령문을 치환하는 문법. 상수가 변할때 대체하기 위함
- C표준 라이브러리
- 표준 출력 함수 putc
- 문자열 출력 함수 printf : print + format . 문법이 아닌 표준라이브러리의 함수이다
상수를 먼저 쓰는 습관이 좋다!
ex) int value = 3 * step;
수업시간에 선생님께서 언급해주신 관련된 내용 블로그 링크 입니다.
https://blog.naver.com/tipsware/221018307213
<'문자열 상수'의 잘못된 사용에 대하여>
https://blog.naver.com/tipsware/221427072910
<함수에 대한 못다 한 이야기(1)>
https://blog.naver.com/tipsware/221427178231
<함수에 대한 못다 한 이야기(2)>
https://blog.naver.com/tipsware/221354044966
<함수에서 가변 인수(인자)를 사용하려면!>
https://blog.naver.com/tipsware/221291750140
<void형 함수의 반환값은 정말 사용을 못하는가?>
[실습 과제]scanf 함수 만들어보기
https://blog.naver.com/tipsware?Redirect=Log&logNo=221010221853&from=postView
<인수에 대하여>
https://blog.naver.com/tipsware/221275416466
[용어] 절대 경로, 상대 경로, 작업 경로에 대하여
https://blog.naver.com/tipsware/221275585536
<C언어 표준 함수를 위한 헤더 파일과 소스 파일은 어디에 있을까?>
#Tips강좌 #Tips프로그래밍강좌 #김성엽 #지식나눔강좌 #tipssoft #20기
'IT 지식 기록 > TIPS - C 언어 수업 정리' 카테고리의 다른 글
Windows 추가 내용 정리 (0) | 2019.02.14 |
---|---|
[TIPS 20기]11. Windows 첫번째 강좌 정리 (0) | 2019.02.14 |
[TIPS 20기]3. C언어 세번째 강좌 정리 (0) | 2019.02.07 |
[TIPS 20기]8. C언어 여덟번째 강좌 정리 (0) | 2019.01.28 |
[TIPS 20기]7. C언어 일곱번째 강좌 정리 (0) | 2019.01.24 |