More actions
imported>smksyj No edit summary |
(Repair batch-0005 pages from live compare) |
||
| (25 intermediate revisions by one other user not shown) | |||
| Line 1: | Line 1: | ||
__TOC__ | |||
== 진행 == | == 진행 == | ||
=== 변수 === | |||
** C 프로그램이 메모리에 올라갔을 때의 메모리 구조 | ** C 프로그램이 메모리에 올라갔을 때의 메모리 구조 | ||
** 변수 선언과 초기화 | ** 변수 선언과 초기화 | ||
| Line 16: | Line 17: | ||
*** 값의 범위 | *** 값의 범위 | ||
** 기본 타입 | ** 기본 타입 | ||
* | * | ||
[unsigned] int, [unsigned] char, float, double, +(long) | |||
*** char -> 실제로는 숫자가 들어감 | |||
**** ASCII -> 그냥 숫자 | |||
*** overflow, underflow | *** overflow, underflow | ||
** extra | ** extra | ||
*** 문자열(char *) | *** 문자열(char *) | ||
#include <stdio.h> | #include <stdio.h> | ||
int main(int argc, char *argv | int main(int argc, char *argv[]) { | ||
int temp = 0; | int temp = 0; | ||
scanf("%d", &temp); // enter 65 to temp | scanf("%d", &temp); // enter 65 to temp | ||
| Line 32: | Line 35: | ||
*** escape character | *** escape character | ||
=== 연산자 === | |||
** 대입 (=) | ** 대입 (=) | ||
** 관계 (>, <, ==, !=, >=, <=) | |||
** 산술 (+, -, *, /, %) | ** 산술 (+, -, *, /, %) | ||
** 증감 (++, --) | ** 증감 (++, --) | ||
| Line 42: | Line 46: | ||
** 대입 연산자 + 다른 연산자 | ** 대입 연산자 + 다른 연산자 | ||
(+=, -=, *=, /= ...) | (+=, -=, *=, /= ...) | ||
=== 조건문 === | |||
** if, if-else, if-else if-else | ** if, if-else, if-else if-else | ||
** expression | ** expression | ||
*** | *** 관계 연산자(<, >, <=, >=, ==, !=) | ||
*** 논리 연산자를 이용한 expression의 연결 | |||
** if문 중첩 | |||
** switch-case | ** switch-case | ||
** break;를 쓰지 않는 것으로 복수의 case를 동시 처리 | |||
** scanf의 '&' | === 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 - 과체중 | |||
Latest revision as of 00:45, 27 March 2026
진행
변수
- C 프로그램이 메모리에 올라갔을 때의 메모리 구조
- 변수 선언과 초기화
- type variable_name; 형태
- type variable_name = value; 형태
- 변수 이름(identifier) 제약
- 상수
- const를 이용한 상수와 #define을 이용한 상수
- 전처리기? 아마 나중에 다뤄야 할 듯
- 왜! const를 쓰는가? -> 설명해 줘도 와 닿지는 않을듯
- 타입
- 일반론
- 크기
- 값의 형태
- 값의 범위
- 기본 타입
* [unsigned] int, [unsigned] char, float, double, +(long)
- char -> 실제로는 숫자가 들어감
- ASCII -> 그냥 숫자
- overflow, underflow
- char -> 실제로는 숫자가 들어감
- extra
- 문자열(char *)
#include <stdio.h>
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 - 과체중