1. 변수 N1, N2에 각각 정수를 입력받아 N1 N2에 들어있는 정수를 교환하시오.

printf(“N1 = %d, N2 = %d”, N2, N1); 사용은 불가!!

 

출력)    N1 입력 : 1

           N2 입력 : 5

           Exchange 결과 : N1 = 5, N2 = 1

printf(“N1 : “);

scanf(“%d”, &N1); 1

N2 = N1;

printf(“N2 : “);

scanf(“%d”, &N1);5

printf(“\nExchange 결과 : N1 = %d, N2 = %d\n”, N1, N2);

 

2. 다음에 나오는 형식들에 맞게 출력하는 문제입니다. 출력에 사용된 숫자들은 모두 키보드로부터 입력 받습니다.

 1) 6개의 정수를 입력 받은 다음, 한 줄에 세 개씩 출력하세요.

 

출력)  정수 입력(6) : 1 2 3 10 20 30

           첫번째   :  1      2        3

           두번째   : 10      20       30

 

Scanf(“%d %d %d %d %d %d”, &a,&b,&c,&d,&e,&f);

Printf(“첫번째 : %d %d %d\n두번째 : %d %d %d\n”, a, b, c, d, e, f);

 

 2) 입력 받은 정수가 5, 10, 7이라면, 순서에 맞게 대각선으로 출력하세요.

 

출력)  정수 입력(3) : 5 10 7

           결과     : 5

                                10

                                          7

Scanf(“%d %d %d”, &a, &b, &c);

Printf(“%d\n     %d\n          %d\n”, a, b, c);

 

 3) 입력 받은 순서와 반대 순서로 출력하세요.

 

출력)  입력 : 3 5 7

           출력 : 7 5 3

Scnaf(“%d %d %d”, &a, &b, &c);

Printf(“출력: %d %d %d”, c, b, a);

1. printf함수를 이용한 출력문입니다. 잘못된 부분을 찾아서 고쳐보세요.

1) printf(%d, %d, %d\n, 5, 10, 20);

2) printf(%d, %c\n, 32767, ‘A’);

3) printf(%d, %d, %d %d의 약수\n, 1, 2, 3, 6);

4) printf(%d, %3.2f\n, 127, 1.05);

5) printf(%d\n, 77);

6) printf(%d2 8승입니다\n”, 256);

7) printf(%5d\n”, 127);

8) printf(%s\n, 127);

9) printf(“나의 이름은 \홍길동\입니다.\n);

10) printf(%c%c%c\n, ‘A’, ‘B’, ‘C’); 또는 printf(%s%s%s\n, A, B, C); 가능

11) printf(%s, %s, %s\n, , , );

12) printf(%s이 가장 좋아하는 숫자는 %d입니다.\n, 길동, 3);

13) printf(Hello, World! \n”);   

 

2. 아래의 변수 선언에서 잘못된 부분을 찾아서 고쳐보세요.

1) int N5;

2) char char1;

3) double d123;

4) int NiceNice;

5) int N; float F; char C;

6) char ch1, ch2, ch3;

7) int N1, N2, N3, N4, N5;

8) int N = 5, M = 7;

9) char a;

10) int N1 = 10, N2 = 20;

11) int N = 32, N1 = 767;

    Float = 32.767

 

3. scanf함수를 사용한 입력 코드입니다. 잘못된 부분을 찾아서 고쳐보세요.

1) int N1, N2;

scanf(%d %d, &N1, &N2);

2) char ch;

scanf(%c, &ch);  

 

3) char ch1, ch2;

scanf(%c %c, &ch1, &ch2);

또는

char ch1, ch2, ch3;

scanf(%c %c %c, &ch1, &ch2, &ch3);

 

4) int N;

printf(“정수 : “);

scanf(%d, &N);

 

5) char ch;

int N;

scanf(%c, %d, &ch, &N);

 

6) int n10;

scanf(%d, &n10);

 

7)// scanf(“문자 : %c, ‘A’);

char A;

printf(“문자 : “);

scanf(“%c”, &A);

 

8) double dbl;

scanf(%lf, &dbl);

     13.3을 2진수로 계산하는 법은 다음과 같다.

    (1) 정수부분 13의 경우 
    13을 2로 나누어 몫 6은 13의 아래에 쓰고, 나머지 1은 몫 6의 오른쪽에 쓴다. 이러한 방법으로 몫을 나눌 수 없을 때까지 계속하여 마지막 몫 1과 나머지를 아래에서 위로 차례대로 쓰면 구하는 2진수가 된다.

    (2) 소수부분 0.3의 경우 
    0.3에 2를 곱한 0.6을 아래에 쓰고 정수부분 0을 오른쪽에 쓴다. 다음은 0.6에 2를 곱한 1.2를 아래에 쓰고 정수부분 1을 오른쪽에 쓴다. 그리고 1.2에서 1을 뺀 나머지 0.2를 1.2의 아래에 쓴다. 위와 같은 방법을 나머지가 0이 나오거나 나머지가 같은 경우가 나올 때까지 계속한다. 대부분의 소수의 진수계산은 순환하는 값이 나온다. 진수를 쓰는 방법은 오른쪽에 나온 값을 위에서 아래로 차례대로 쓰면 구하는 2진수 표현이 된다.

     
    즉, 구하는 2진수 값은 (1)과 (2)에 나온 값을 소수점(.)으로 이으면 된다.
    13.3 (10진수) = 13 + 0.3 (10진수) = 1101.010011001100110011... (2진수)

    수 부분의 변환
            - 소수 부분을 변환하고자 하는 임의의 진수 r로 곱한다.
            - 계산된 값에서 정수 부분을 떼어낸다.
            - 소수부가 0에 도달되거나 반복되는 부분이 나올 때까지 곱한다.
            - 곱해서 나온 정수를 위에서 아래로 나열한다.
            예 : (0.625)10을 2진수로 변환

    곱하기
    0.625 x 2 = 1.25
    0.25 x 2   = 0.5
    0.5 x 2     = 1.0

    정수부
    1   |
    0   |
    1   ↓

    또는

    0.625
    x     2 
      1.25
      x   2 
        0.5
        x 2 
        1.0

    (0.625)10 = (0.101)2


    ※ 모든 진수는 2진수로 통한다..

    ☞ 10진수, 8진수, 16진수는 각각 바로 2진수로 바꿀 수 있다..  
    ☞ 10진수, 8진수, 16진수 서로 간의 변환은 반드시 2진수를 통해서 한다..  

    ☞ 10진수는  변환하려는 숫자보다 작거나 같은 수까지만 쓰고.. 뺐으면 1, 못 뺐으면 0을 쓴다..

    <위의 그림이 깨져보이면.. 그림을 클릭하세요..>
     
    복잡한 듯 하지만..;;; 중요한건 검정색 굵은 숫자와 빨간 숫자 입니다.. 검정색 굵은 숫자 아래의 지수 표시는 예의상;; 한 것이구요..
    간단합니다.. 1부터 시작해서 왼쪽으로는 2씩 곱해나가면 되고.. 오른쪽(소수점이하)으로는 2씩 나누면 됩니다..  
    특히나, 소수점 이하 부분은 그냥 숫자를 외워버리세요..  
    주의할 점은.. 위의 숫자들은 1부터 세어 나가세요.. 1 2 4 8 16 32 등등.. 그리고, 쓸 때는 오른쪽에서 왼쪽으로 씁니다.. 


+ Recent posts