본문 바로가기
c/자습

수식과 연산자(쉽게 풀어쓴 C언어 EXPRESS)

by 지트리아 2022. 12. 29.

용어정리

 

 

 

 

본문정리

수식과 연산자

수식은 연산자와 피연산자로 구성되어 있다. 

 

산술 연산자

산술 연산자(덧셈, 뺄셈, 곱셈, 나눗셈, 나머지), 부호 연산자, 증감 연산자

 

대입 연산자

왼쪽은 변수여야 한다. 

 

관계 연산자

==, !=, <, >, <=, >=

 

논리 연산자

&&, ||, !

단축 계산을 신경써야 한다.

 

조건 연산자

? :

 

콤마 연산자

, 왼쪽에 있는 식 먼저 수행한다.

 

비트 연산자

&, |, ^, <<, >>, ~

 

형변환

자동적과 명시적이 있다.

 

연산자의 우선 순위와 결합 규칙

다 필요없고 괄호만 잘 쓰자

 

본문제

Q1. 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
    int x, y;
    printf("2개의 정수를 입력하시오: ");
    scanf("%d %d", &x, &y);
    printf("몫:%d 나머지: %d", x / y, x % y);

    return 0;
}

 

Q2. 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
    float x, y;
    printf("실수를 입력하시오: ");
    scanf("%f %f", &x, &y);
    printf("%f %f %f %f", x + y, x - y, x * y, x / y);

    return 0;
}

 

Q3. 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
    int x, y, z, max;
    printf("3개의 정수를 입력하시오:");
    scanf("%d %d %d", &x, &y, &z);

    max = (x > y) ? x : y;
    max = (max > z) ? max : z;

    printf("%d", max);

    return 0;
}

 

Q4. 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
    int x;

    printf("키를 입력하시오(cm): ");
    scanf("%d", &x);
    printf("%dcm는 %d피트 %f인치 입니다.", x, (int)(x / (2.54 * 12)), x / 2.54 );

    return 0;
}

 

Q5. 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
    int x;

    printf("정수를 입력하시오: ");
    scanf("%d", &x);
    printf("십의 자리:%d\n일의 자리:%d", x / 10, x % 10);

    return 0;
}

 

Q6.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
    int x;

    printf("정수를 입력하시오: ");
    scanf("%d", &x);
    printf("2의 보수: %d", (~x) + 1);

    return 0;
}

 

Q7.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
    int x, y;

    printf("정수를 입력하시오: ");
    scanf("%d", &x);
    printf("2를 곱하고 싶은 횟수:");
    scanf("%d", &y);

    printf("%d<<%d의 값: %d", x, y, x<<y);

    return 0;
}

 

Q8.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
    float r;

    printf("구의 반지름을 입력하시오:");
    scanf("%f", &r);

    printf("표면적은 %f입니다.\n체적은 %f입니다.", 4 * 3.141592 * r * r, 4 * 3.141592 * r * r * r / 3);

    return 0;
}

 

Q9.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
    float x, y, z;

    printf("지팡이의 높이를 입력하시오: ");
    scanf("%f", &x);
    printf("지팡이 그림자의 길이를 입력하시오: ");
    scanf("%f", &y);
    printf("피라미드까지의 거리를 입력하시오: ");
    scanf("%f", &z);

    printf("피라미드의 높이는 %f입니다.", x * z / y);

    return 0;
}

 

Q10.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
    float x, y;

    printf("x 좌표를 입력하시오: ");
    scanf("%f", &x);
    printf("y 좌표를 입력하시오: ");
    scanf("%f", &y);

    (x > 0 && y > 0) ? printf("1사분면") : (x < 0 && y > 0) ? printf("2사분면") : (x < 0 && y < 0) ? printf("3사분면") : (x > 0 && y < 0) ? printf("4사분면") : printf("축위에 있음");

    return 0;
}

 

Q11.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
    float x, y;
    
    printf("거리를 입력하시오:");
    scanf("%f", &x);
    printf("각도를 입력하시오:");
    scanf("%f", &y);
    printf("지구의 반지름은 %f", x * 360 / 7.2 / (2 * 3.14));

    return 0;
}

 

Q12.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
    char a, b, c, d;
    unsigned int k;

    printf("첫번째 문자를 입력하시오: ");
    scanf(" %c", &a);
    printf("두번째 문자를 입력하시오: ");
    scanf(" %c", &b);
    printf("세번째 문자를 입력하시오: ");
    scanf(" %c", &c);
    printf("네번째 문자를 입력하시오: ");
    scanf(" %c", &d);
    
    k = a;
    k = b << 8 | k;
    k = c << 16 | k;
    k = d << 24 | k;

    printf("결과값: %x", k);

    return 0;
}

댓글