[C/C++] 05-2강~9강 정리
🖥C & C++/인프런 기초학습

[C/C++] 05-2강~9강 정리

728x90
반응형

 < 5-2강. 2진법 , 자료형 총정리 >


 * 10진법

  12345 = 10000 + 20000 + 300 + 40 + 5

        = 1*10^4 + 2*10^3 + 3*10^2 + 4*10^1 + 5*10^0


 * 2진법 - 01로만 구성 ( 자리 증가씩 2배씩 늘어남)

  100110(2) = 1*2^5 + 1*2^2 + 1*2^1 = 38


  int - 32비트 = 4바이트 (비트=자릿수의 갯수)

  00000000 00000000 00000000 00000101


  5 = 101(2)  위처럼 표현

  00000000 00000000 00000000 00100101

  37 = 100101(2)


  8비트 = 1바이트

  바이트 : 컴퓨터에서 데이터를 처리하는 가장 작은 단위

 

 <자료형> - 정수형, 실수형

 * 정수형 : char (1바이트) - 문자(문자도 숫자값을 가짐) 담는 쓰임

         short (2바이트)

         long (4바이트), 음양 포함 2^32 포함 long long(8바이트)

         int ( 시스템에 따라서 자동결정, 대체로 long)


 * 실수형 : float (4바이트)

         double (8바이트)


  < unsigned, signed >

   자리는 특별한 자리임 (부호를 저장하는데 사용됨/ 양수일 때는 0 음수일 때는 1)

  unsigned 앞의 부호를 무시함  "unsigned int a;" 처럼 선언함

       unsigned - 저장하지 않음 : 부호를 저장하는 번째 수도 숫자를 저장하는 사용하겠다!


  void : 리턴 값이 없는 함수의 자료형

  bool : , 거짓을 저장하는 자료형 (8비트를 사용하게 ) (= char) 그래서 쓸모가 없음



< 6강. sizeof 연산자와 형변환 >



#include <stdio.h>


int main(){

    printf("%d %d %d %d\n", sizeof(int),sizeof(char),sizeof(float),sizeof(double));

    

    int a; char b; float c; double d;

    printf("%d %d %d %d\n",sizeof(a),sizeof(b),sizeof(c),sizeof(d));

    // 4,1,4,8 바이트

    

}

// sizeof(x) : x의 크기를 알려줌

// x : 형 (int, float, ...)

//     변수 이름




#include <stdio.h>


int main() {

    int a = 3.14;   // 정수형에 실수를 담았더니 결과가 3

    double b = 10; // 정수를 담았더니 10.000 처럼 실수로 나타남

    

    printf("%d %f\n",a,b);

}


// 실수를 정수형 변수에 담을 수 없다. (3.14  -> 3)

// 절수를 실수형 변수에 담을 수 있다.(10 -> 10.000)



#include <stdio.h>


int main() {

    int math = 90, korean = 95, english = 96;

    int sum = math + korean + english;

    double avg = (double)sum / 3;  // (double) 넣으면 잠시동안 실수인 자료형이 됨

    

    printf("%f\n",avg);  //93.66667이 안나옴 93.0000이 나옴

}

// 형변환 : 자료형을 다른 자료형으로 바꾸는 작업


//  정수 / 정수 = 정수

//  실수 / 정수 = 실수

//  실수 / 실수 = 실수


//  정수 + 정수 = 정수

//  정수 + 실수 = 실수

//  실수 + 실수 = 실수     // * ,- 도 똑같음



<7강. 입력받기>


Products에 들어가서 보이는 터미널 우클릭 후




Show in finder 누르고 터미널 실행 후, 터미널 내에서 입력!





#include <stdio.h>


int main() {

    float a,b;

    

    scanf("%f%f", &a, &b);  // & : 포인터

    // 분리되어 있는 숫자를 구분해서 각각을 %d에 입력시킴! scanf는 매우 똑똑함!

    // scanf 실수 입력 가능


    printf("%f + %f = %f\n", a,b,a+b);

    printf("%f - %f = %f\n", a,b,a-b);

    printf("%f * %f = %f\n", a,b,a*b);

    printf("%f / %f = %f\n", a,b,a/b); // 목은 정수로 출력 (정수 나누기 정수)

    // 합을 저장하는 변수를 만들지 않고 바로 계산결과를 낼 수 있다.

}




<8강. char형과 ASCII 코드>


// char : 1바이트 정수형 (int : 4바이트)

// character : 문자 ( 반각문자만 가능, 반각문자 : ABCabc123_+;/#$) 한글, 한자, 일본어는 해당 안됨


#include <stdio.h>


int main() {

    char a = 65;

    

    printf("%c\n",a);  // %c는 반각문자 출력

    printf("%c\n",'A');

}


// ASCII : 문자를 숫자랑 대응시켜주는 규칙 ( "A" - 65 )


#include <stdio.h>

// 숫자->문자

int main() {

    int a;

    

    printf("숫자 입력 : ");  // 127이내의 숫자

    scanf("%d",&a);

    

    printf("%d의 ASCII 문자 : %c\n",a,a);

}




< 9강. 1부 (입출력과 변수) 종합문제 >



/*

 1. 두 숫자를 입력받아서 그 숫자들의 합을 출력하는 프로그램을 만들어보세요

 */


#include <stdio.h>


int main(){

    int a,b;

    

    scanf("%d%d",&a,&b);

    

    int sum = a + b;

    

    printf("%d + %d = %d\n",a,b,sum);

}




/*

 2. 체중과 키를 입력받아서 체질량 지수를 구하는 프로그램을 만드시오

 */

// BMI = 체중(kg, 실수) / 키^2(미터, 실수)


#include <stdio.h>


int main() {

    float weight,height;

    

    printf("체중 입력 (kg) : ");

    scanf("%f",&weight);

    

    printf("키 입력 (m) : ");

    scanf("%f",&height);

    

    printf("BMI is : %f\n",weight/(height*height));

}




/*

 3. 알파벳을 입력받아서 그 다음 알파벳을 출력하는 프로그램을 만들어보세요. (Z제외)

 */


#include <stdio.h>


int main() {

    char a;

    

    printf("알파벳을 입력하세요 : ");

    scanf("%c",&a);

    

    printf("다음 알파벳은 %c입니다.\n",a+1);

    

}



생각보다 할 만한 것 같다...!


scanf 할 때는 "& 포인터" 꼭 사용하기!

728x90
반응형