U E D R , A S I H C RSS

새싹교실/2014/손오반/2014-03-27

Difference between r1.30 and the current

@@ -1,5 +1,6 @@
[[TableOfContents]]
== 진행 ==
* 변수
=== 변수 ===
* C 프로그램이 메모리에 올라갔을 때의 메모리 구조
* 변수 선언과 초기화
* ''type'' ''variable_name''; 형태
@@ -15,11 +16,12 @@
* 값의 형태
* 값의 범위
* 기본 타입
* [unsigned] char, [unsigned] int, float, double, +(long)
*{{{[unsigned] int, [unsigned] char, float, double, +(long)}}}
* char -> 실제로는 숫자가 들어감
* ASCII -> 그냥 숫자
* overflow, underflow
* extra
* 문자열(char *)
* ASCII -> 그냥 숫자
{{{
#include <stdio.h>

@@ -32,8 +34,9 @@
}
}}}
* escape character
* 연산자
=== 연산자 ===
* 대입 (=)
* 관계 (>, <, ==, !=, >=, <=)
* 산술 (+, -, *, /, %)
* 증감 (++, --)
* 논리 (&&, ||, !)
@@ -42,11 +45,32 @@
* 비트 이동 (<<, >>)
* 대입 연산자 + 다른 연산자
(+=, -=, *=, /= ...)
* 조건문
=== 조건문 ===
* if, if-else, if-else if-else
* expression
* 비교 연산자(<, >, <=, >=, ==, !=)
* 관계 연산자(<, >, <=, >=, ==, !=) 
* 논리 연산자를 이용한 expression의 연결
* if문 중첩
* switch-case
* printf와 scanf의 사용
* scanf의 '&'
* 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 - 과체중
}}}




1. 진행

1.1. 변수

  • 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 <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

1.2. 연산자

  • 대입 (=)
  • 관계 (>, <, ==, !=, >=, <=)
  • 산술 (+, -, *, /, %)
  • 증감 (++, --)
  • 논리 (&&, ||, !)
  • 조건 (? :)
  • 비트 논리 (&, |, ^, ~)
  • 비트 이동 (<<, >>)
  • 대입 연산자 + 다른 연산자
    (+=, -=, *=, /= ...)

1.3. 조건문

  • if, if-else, if-else if-else
    • expression
      • 관계 연산자(<, >, <=, >=, ==, !=)
      • 논리 연산자를 이용한 expression의 연결
    • if문 중첩
  • switch-case
    • break;를 쓰지 않는 것으로 복수의 case를 동시 처리

1.4. printf와 scanf의 사용

  • 'f'의 뜻
  • scanf의 '&'

2. 과제

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 - 과체중
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:29:53
Processing time 0.0230 sec