Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

새싹교실/2014/손오반/2014-03-27: Difference between revisions

From ZeroWiki
imported>smksyj
No edit summary
(Repair batch-0005 pages from live compare)
 
(49 intermediate revisions by one other user not shown)
Line 1: Line 1:
__TOC__
== 진행 ==
== 진행 ==
* 변수
=== 변수 ===
** C 프로그램이 메모리에 올라갔을 때의 메모리 구조
** C 프로그램이 메모리에 올라갔을 때의 메모리 구조
** 변수 선언과 초기화
** ''type'' ''variable_name''; 형태
** ''type'' ''variable_name'' = ''value''; 형태
** 변수 이름(identifier) 제약
** 변수 이름(identifier) 제약
** 상수
** 상수
** const를 이용한 상수와 #define을 이용한 상수
** 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
=== 연산자 ===
** 대입 (=)
** 관계 (>, <, ==, !=, >=, <=)
** 산술 (+, -, *, /, %)
** 증감 (++, --)
** 논리 (&&, ||, !)
** 조건 (? :)
** 비트 논리 (&, |, ^, ~)
** 비트 이동 (<<, >>)
** 대입 연산자 + 다른 연산자
  (+=, -=, *=, /= ...)
=== 조건문 ===
** if, if-else, if-else if-else
** if, if-else, if-else if-else
** expression
** expression
*** 비교 연산자(<, >, <=, >=, ==, !=)
*** 관계 연산자(<, >, <=, >=, ==, !=)
*** 논리 연산자를 이용한 expression의 연결
** if문 중첩
** switch-case
** switch-case
* printf와 scanf의 사용
** break;를 쓰지 않는 것으로 복수의 case를 동시 처리
=== printf와 scanf의 사용 ===
* 'f'의 뜻
* scanf의 '&'
== 과제 ==
== 과제 ==
 
1. 값을 두 개 입력받아서 나누어주는 프로그램. 단, 나누는 수가 0이면 Not Available이라는 문자를 출력하도록 함.
2.1. 값을 문자로 입력받아서 입력받은 문자를 입력하는 프로그램
2.2. 입력을 소문자로 가정하고, 소문자 입력을 받았을 때 대문자로 출력하는 프로그램
2.3. 입력이 대문자 or 소문자라고 가정하고, 대문자 입력을 받으면 소문자로, 소문자 입력을 받으면 대문자로 출력하는 프로그램
3. 키, 몸무게, 성별을 입력받아서 BMI 지수를 계산한 후 저체중, 표준체중, 과체중인지 판단하는 프로그램
  * BMI 계산 식 : 체중 / (키 * 키)
  * 체중 판정
  * 남자
    * BMI &lt; 20 - 저체중
    * 20 &lt; BMI &lt; 25 - 표준체중
    * BMI &gt; 25 - 과체중
  * 여자
    * BMI &lt; 18.5 - 저체중
    * 18.5 &lt; BMI &lt; 20 - 표준체중
    * BMI &gt; 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
    • 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 - 과체중