c/자습

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

지트리아 2022. 12. 29. 18: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;
}