본문 바로가기

국비과정

[ANDROID 국비과정] 2023.01.04 - 안드로이드 앱개발자 과정

C언어

변수와 자료형

변수 : Data 를 저장하는 메모리(RAM) 공간


변수의 종류(Data Type)

  1. char
  2. short
  3. int
  4. long
  5. float
  6. double

변수선언

(변수의 종류) (변수의 이름);

ex)

int value;
char a;

변수 이름 규칙


1.영문자만 가능하며 대문자는 구별.
2.숫자 가능 but 첫 글자는 X.
3.특수문자는 오직 _ 만 가능.
4.유의미한 명칭 사용.
5.카멜표기법 사용.

 

 

스네이크 표기법 vs 카멜 표기법 vs 파스칼 표기법

스네이크 표기법 : 단어 사이에 _ 를 추가하는 표기법.
카멜 표기법 : 소문자로 시작하고 이어지는 단어들의 시작은 대문자로 작성하는 표기법.
파스칼 표기법 : 단어의 첫 시작은 항상 대문자를 사용하는 표기법.


데이터 저장과 출력

  • 데이터 저장 : = 연산자(대입연산자)를 이용하여 변수에 데이터를 저장할 수 있다. 
  • ex) int init = 30; // 변수 초기화 int intValue; // 변수선언 float floatValue; char charValue; intValue = 10; // 변수 값 대입 floatValue = 3.14; charValue = 'A';

 

- 데이터 출력 : 서식지정자를 통해서 변수에 있는 값을 출력할 수 있다.
ex)

int intValue;
float floatValue;
char charValue;

intValue = 10;
floatValue = 3.14;
charValue = 'A';

printf("value : %d",intValue); -> 결과 : value : 10
printf("value : %f",floatValue); -> 결과 : value : 3.14
printf("value : %c",charValue); -> 결과 : value : a
  • 데이터의 값 변경
  • ex) int a; a = 10; printf("%d\n", a); 결과 : 10 a = 20; printf("%d\n", a); 결과 : 20 a = 30; printf("%d", a); 결과 : 30

변수의 활용

ex)

    int a;
    int b;

    a = 10;
    b = 20;

    printf("a + 3 : %d\n", a + 3);    결과 : 13
    printf("a + b : %d\n", a + b);    결과 : 30
    printf("a - b : %d\n", a - b);    결과 : -10
    printf("a * b : %d\n", a * b);    결과 : 200
    printf("a / b : %d\n", a / b);    결과 : 0

    b = b + a;
    printf("a : %d\n", a);            결과 : 10
    printf("b : %d\n", b);            결과 : 30

    int v1,v2,v3,v4 = 40,v5;
    float k = 3.14,m,n;

변수 메모리

char    1byte - 아스키코드 사용하기 때문
short    2byte
int        4byte
long    4byte
float    4byte - 부호 1비트, 지수 7비트, 4비트짜리 숫자 6개 
double    8byte

*** sizeof() 를 사용하면 변수의 메모리를 알 수 있다. 

double vs float

    float a = 0.123456789123456789;
    double b = 0.123456789123456789;

    printf("%.20f\n", a);    결과 : 0.12345679104328155518
    printf("%.20lf\n", b);    결과 : 0.12345678912345678380

    float 은 6자리까지 정확하게 출력하고, double 은 15자리까지 정확하게 출력한다. 

scanf() 형식과 활용

  • 형식
    scanf( "서식문자" , &입력값을 저장시킬 변수 );
    ex)
    int age = 0;
    scanf("%d",&age);

 

- 활용1 : 다양한 데이터타입
```c
    char gender;
    int age;
    double height;

    printf("성별을 M 또는 W로 입력해주세요 : ");
    scanf_s("%c", &gender); // 한문자입력의 경우 그전에 있었던 엔터값이 들어가기 때문에 주의해서 사용.

    printf("나이를 입력해주세요 : ");
    scanf_s("%d", &age);

    printf("키를 소수점 한자리까지 입력해주세요 : ");
    scanf_s("%lf", &height);

    printf("성별 : %c\n", gender);
    printf("나이 : %d\n", age);
    printf("키 : %.1lf\n", height);
  • 활용2 : 사용자 중심의 프로그램 작성
int num; 
printf("==============구구단 프로그램==============\n"); 
printf("원하는 단을 입력하세요\n"); scanf_s("%d", &num);
printf("%d x %d = %d\n", num, 1, num * 1); 
printf("%d x %d = %d\n", num, 2, num * 2); 
printf("%d x %d = %d\n", num, 3, num * 3); 
printf("%d x %d = %d\n", num, 4, num * 4); 
printf("%d x %d = %d\n", num, 5, num * 5); 
printf("%d x %d = %d\n", num, 6, num * 6); 
printf("%d x %d = %d\n", num, 7, num * 7); 
printf("%d x %d = %d\n", num, 8, num * 8); 
printf("%d x %d = %d\n", num, 9, num * 9);