[C 기초] 변수와 연산자 예제 복습

zzzzsb·2021년 1월 18일
0

C 기초 복습

목록 보기
2/8

C 프로그래밍 기초 - 변수와 연산자

🧐 C 프로그램의 구조

#include <stdio.h>

int main() {
	printf("sxxdio.log\n");
    return 0;
}
  • ""(따옴표)안의 내용은 화면에 그대로 표시
  • \n은 줄바꿈 문자이다.

🧐 C 의 변수

  • 변수는 컴퓨터에서 사용하는 데이터(정수, 실수, 문자 등)를 저장할 수 있는 공간을 의미하는 개념이다.
  • 프로그래머가 변수를 선언하면(코드에서 변수를 만든다는 뜻) 해당 변수가 주기억장치에 만들어진다.

    C에서 변수명의 조건

    1) 변수 이름의 길이 제한은 없다
    2) 변수명의 첫 문자는 영문자(대/소문자)_로 시작한다.
    3) 그 이후의 문자는 영문자, 숫자, 밑줄 어느것이어도 상관없다.

    • 밑줄로 시작하는 변수는 주로 시스템 프로그램에서 사용하기에 실제의 경우에는 피하는 것이 좋다.

🧐 변수의 선언

자료형 변수이름;
자료형 변수이름1, 변수이름 2;
int a;
float f;
char c;

🧐 포맷 코드(형 변환 기호)

출력 양식을 의미한다.

정수 %d
소수 %f %lf
문자 %c

🧐 scanf() 문

키보드로 값을 입력받아 변수에 저장할 때 사용한다.

✍️ 작성법 예시

// 형식
scanf("포맷", &변수1, &변수2);

// 정수 입력받기
int a;
scanf("%d", &a);
  • 변수명 앞에 &(주소연산자)를 꼭 붙인다.
  • 포맷 부분의 수와 , 뒤의 변수 개수는 일치해야 한다.

🧐 기타 정리

  • (int)는 int형으로 캐스트(형 변환)한다는 의미이다.
  • 0.2f 는 실수 출력시 소수점 셋째자리에서 반올림 하여 둘째자리까지 출력한다.
  • / 나누기 % 나머지
  • c에서 올림함수 ceil, 내림함수 floor, 반올림함수 round

🧐 비트연산자

&, |, ^

  • &는 1 1 일때만 1, 나머지는 0
  • |는 0 0 일때만 0, 나머지는 1
  • ^는 1 0 일때만 1, 나머지는 0

<<, >>

  • << 왼쪽 쉬프트 는 곱하는 것과 같음
  • Ex. << 1 은 x2 와 같음
  • >> 오른쪽 쉬프트 는 나누는 것과 같음
  • Ex. >> 1 은 /2 와 같음

삼항연산자 조건식 ? A : B

  • 조건식이 참이면 A
  • 조건식이 거짓이면 B

예제 복습하기

1. 두 수의 합

#include <stdio.h>

int main() {
    int a, b;
    int sum;
    scanf("%d %d", &a, &b);
    sum = a + b;
    printf("%d + %d = %d\n", a, b, sum);

    return 0;
}

2. 두 수의 곱

#include <stdio.h>

int main() {
    double a, b;
    double mul;
    scanf("%lf %lf", &a, &b);
    mul = a * b;
    printf("%0.2f\n", mul);

    return 0;
}

3. 두 수의 몫과 나머지

#include <stdio.h>

int main() {
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%d %d\n", a/b, a%b);

    return 0;
}

4. 음료수 자판기

#include <stdio.h>

int main() {
    int money, juicyNum;
    int num500, num100;

    scanf("%d\n%d", &money, &juicyNum);

    num500 = (money-juicyNum)/500;
    num100 = ((money-juicyNum)%500)/100;
    printf("%d\n", money-juicyNum);
    
    printf("%d\n", num500);
    printf("%d\n", num100);

    return 0;
}

5. 반올림

#include <stdio.h>

int main(){
    double a, b;
    scanf("%lf", &a);
    b = (int)((a * 10) + 0.5);
    b = b/10;
    printf("%f\n", b);

    return 0;
}

6. 세 수의 평균

#include <stdio.h>

int main(){
    int a, b, c;
    double avg;
    scanf("%d %d %d", &a, &b, &c);
    avg = (double)(a+b+c)/3;
    avg = (int)((avg*100)+0.5);
    avg = avg / 100;
    
    printf("%f\n", avg);

    return 0;
}

7. 연필 개수

#include <stdio.h>
#include <math.h>

int main() {
    int student;
    double pencilNum;

    scanf("%d", &student);
    pencilNum = student/12.0;
    pencilNum = ceil(pencilNum);

    printf("%d\n", (int)pencilNum);

    return 0;
}
profile
성장하는 developer

0개의 댓글