U E D R , A S I H C RSS

새싹교실/2012/개차반



2.

2.1. 1(2012 - 03 - 27)


  • C를 low-level
    • C는 UNIX 만들 OS
    • scanf & keyword
    • binary digit를
  • 며, Compile error, logical error, debug error

  • C
  • variable 및 main function
  • #include header file
  • compile -> link -> build

2.1.1. : .

  • c
    • High-Level Low-Level
      • High-Level (Human Friendly)
      • Low-Level (Machine Friendly)

  • 러 (complier)
    • High-Level 를 Low-Level


    • 는 모 는 범
      • , 메모리,

    • bit
    • 릿
      • 1bit=0,1 / 2bit=00,01,10,11 / 3bit=000,001,010,011,100 ...


    • (Function) 들
      • 불러

    • (variable)
    • int, float, char 등
      • int는 %d를
      • float는 %f를
      • char는 문 %c를


  • 빼먹는 !
    • int: integer type, 4 bytes
    • char: It used to express a character, but also used to express a integer. 1 byte
    • float: 4 byte, floating type number. Specification in IEEE 754-2008

    • function: input -> output

    • Main function
      • real part of program
      • It has start and end point of a program.
      • return 0; : 0 is a flag noticing OS that program is ended.

2.2. 2(2012 - 04 -05)

  • : Variables, Data Types, Standard I/O
    • Variables
      • identifier -> .
      • keyword
      • overflow
      • escape sequence
    • Data Type
      • Integer type: int(4 bytes), char(1 byte, be often used to express a character)
      • float type: float, double (double is more correct than float)
      • unsigned - MSB를 2배 를 더 많
      • Maximum, minimum value of int( )
    • Standard I/O
      • format specifications
      • printf, scanf
      • scanf & ?
    • preprocessor()
      • #define
    • automatic type conversion
    • Example Problem: Write a program that converts meter-type height into feet(integer),inch(float)-type height. Your program should get one float typed height value as an input and prints integer typed feet value and the rest of the height is represented as inch type. (1m=3.2808ft=39.37inch) (: ppt)


2.2.1.


  • 2, 명,

  • 1




  • (identifier)
    • underscore (_)


  • (Keyword)
    • (identifier)

    • C 는 29

  • (overflow)

    • 2 (?)


  • (\, Escape sequence)
    • \ (back slash)
    • (\n), (\t), (\"), (\'), (\\) 등.



    • int : 4 byte. .
    • char: 1 byte. (character).
    • float, double: 4 byte, 8 byte.
      • double float보
      • float => -1.0E+38 ~ 1.0E+38 / double => -1.0E+308 ~ 1.0E+308
      • 1.0E?
    • unsigned ~ :
      • / 는 맨 리 0 는 데 배 많
  • int =4byte=32bit=2^32 리 0 -2^31 ~ 2^31-1
    • 2^31-1=???

  • Standard I/O
    • (Input) / (Output)
    • <stdio.h>
    • printf ("내", argument);
    • scanf("format specifier(s)", &argument);
    • format specifications
      • - %d (int), %f (float), %c (char)
    • scanf & : 받는 &뒤 메모리 는 변 리는


    • #define
    • 는 문


  • #include <stdafx.h>
    #include <stdio.h>
    int main ()
    {
    
    float meter=0;
    
    
    scanf("%f",&meter);
    
    int feet=meter*3.2808;
    float inch=(((meter*3.2808)-feet)/3.2808)*39.37;
    
    printf("%d feet %f inch\n",feet,inch);
    
    return 0;
    
    
    
    
    }
    
    


    2.3. 3 (2012 - 04 -09)

    • Operators
      • arithmetic operators: binary, unary
      • priority
      • precedence
    • assignment operator
    • decrements / increments : postfix / prefix

    • bitwise operator
      • Binary numeral system
    • 2's complement:

    #include<stdio.h>
    
    int main()
    {
    	int input, output;
    	scanf("%d", &input);
    
    	output = ~input;
    	output ++;
    
    	printf("%d\n", output);
    	return 0;
    }
    

    2.3.1.

    • , 리( ?)
    • and operator를 (scanf, printf )
    • shift operator를 128(=2^5) , 128 (variable) left shift operator를 32를

      • 1110 0111 ^ 1101 0001 = ?
      • 1110 0111 | 1101 0001 = ?


    • Assignment operator
      • Equal sign (=) Assignment operator 를

      • : ->

    • Decrement / Increment : postfix / prefix
      • Decrement는 --, Increment는 ++
      • 1
      • Postfix Decrement/Increment operator를
      • Prefix Decrement/Increment operator를

    • (Shorthand Operators)

      • +=, -=, *=, /=, %=
        • Ex. (A = A + B)는 (A += B )

    • (Bitwise Operators)
      • 2 는 Bit를
        • 2 (Binary numeral system)
        • 1 0만 내는 방.
        • 2 1 true, 0 false
        • 2를 10면 2 릿 2^(n-1)
        • 10를 2면 10를 2 면 1, 면 0
      • Left shift : a<
        • a n 며, 는 0
      • Right shift : a>>n
        • a n 며, 는 0
      • And : a & b
        • a b 르면 0, 면 1
      • Or : a | b
        • a b 1면 1
      • XOR : a ^ b
        • a b 면 1, 면 0
      • 1's complement : ~a
        • a 를 모 : 1->0, 0->1

    • 2's complement
      • Bit
        • A를 -A 면, A 를 1's complement 1



    #include <stdio.h>
    int main ()
    {
    	int num ;
    	int temp1 ;
    	
    		
    	printf ("enter a number : ");
    	scanf ("%d", &num);
    
    	temp1 = num & 1 ;
    
    	if (temp1 == 1) {
    
    		printf ("%d\n", num - 1);
    	}
    
    	else if (temp1 == 0) {
    
    		printf ("%d\n", num - 2);
    
    	}
    
    
    
    	return 0;
    
    
    
    }
    


    #include <stdio.h>
    int main ()
    {
    
    	int num = 1 ;
    	num = num<<7;
    	
    
    	printf ("%d\n", num);
    
    	int num2 ;
    	num2 = num ;
    
    	num2 = num2>>2;
    
    	printf ("%d\n", num2);
    
    	return 0;
    
    
    
    
    }
    

    • 1110 0111 ^ 1101 0001 = 0011 0110
    • 1110 0111 | 1101 0001 = 1111 0111
    Valid XHTML 1.0! Valid CSS! powered by MoniWiki
    last modified 2021-02-07 05:29:45
    Processing time 0.0372 sec