[[TableOfContents]] == 진행 == === 변수 === * C 프로그램이 메모리에 올라갔을 때의 메모리 구조 * 변수 선언과 초기화 * ''type'' ''variable_name''; 형태 * ''type'' ''variable_name'' = ''value''; 형태 * 변수 이름(identifier) 제약 * 상수 * const를 이용한 상수와 #define을 이용한 상수 * 전처리기? 아마 나중에 다뤄야 할 듯 * 왜! const를 쓰는가? -> 설명해 줘도 와 닿지는 않을듯 * 타입 * 일반론 * 크기 * 값의 형태 * 값의 범위 * 기본 타입 *{{{[unsigned] int, [unsigned] char, float, double, +(long)}}} * char -> 실제로는 숫자가 들어감 * ASCII -> 그냥 숫자 * overflow, underflow * extra * 문자열(char *) {{{ #include int main(int argc, char *argv[]) { int temp = 0; scanf("%d", &temp); // enter 65 to temp printf("%c\n", temp); // print 'A' return 0; } }}} * escape character === 연산자 === * 대입 (=) * 관계 (>, <, ==, !=, >=, <=) * 산술 (+, -, *, /, %) * 증감 (++, --) * 논리 (&&, ||, !) * 조건 (? :) * 비트 논리 (&, |, ^, ~) * 비트 이동 (<<, >>) * 대입 연산자 + 다른 연산자 (+=, -=, *=, /= ...) === 조건문 === * if, if-else, if-else if-else * expression * 관계 연산자(<, >, <=, >=, ==, !=) * 논리 연산자를 이용한 expression의 연결 * if문 중첩 * switch-case * break;를 쓰지 않는 것으로 복수의 case를 동시 처리 === printf와 scanf의 사용 === * 'f'의 뜻 * scanf의 '&' == 과제 == {{{ 1. 값을 두 개 입력받아서 나누어주는 프로그램. 단, 나누는 수가 0이면 Not Available이라는 문자를 출력하도록 함. 2.1. 값을 문자로 입력받아서 입력받은 문자를 입력하는 프로그램 2.2. 입력을 소문자로 가정하고, 소문자 입력을 받았을 때 대문자로 출력하는 프로그램 2.3. 입력이 대문자 or 소문자라고 가정하고, 대문자 입력을 받으면 소문자로, 소문자 입력을 받으면 대문자로 출력하는 프로그램 3. 키, 몸무게, 성별을 입력받아서 BMI 지수를 계산한 후 저체중, 표준체중, 과체중인지 판단하는 프로그램 * BMI 계산 식 : 체중 / (키 * 키) * 체중 판정 * 남자 * BMI < 20 - 저체중 * 20 < BMI < 25 - 표준체중 * BMI > 25 - 과체중 * 여자 * BMI < 18.5 - 저체중 * 18.5 < BMI < 20 - 표준체중 * BMI > 20 - 과체중 }}}