# 기본과제 및 제출 양식

 1. 전처리문이 무엇인지 조사하고 다음 전처리문의 용도와 사용 예시를 적으시오. (0.5시간 소요)

  가. #include

      자주 사용되는 함수를 정의한 헤더파일을 불러오는 전처리문이다. 컴파일 전에 <>안에 있는

      헤더파일 내용을 가져온다. 하나의 파일에 모든 코드를 적을 순 없으므로 파일을 분활한 다음

      그것들의 헤더파일을 #include를 통해 접근하여 사용한다.

      대표적인 예 : #include<stdio.h> - 컴파일러가 지정한 위치에서 stdio.h를 찾을 수 있다.

 

  나. #define

       매크로를 정의하거나 매크로 상수, 매크로 함수를 만들때 사용한다.

       함수나 상수를 쉽게 사용 가능하다.

       대표적인 예 : #define PI 3.141592 

 

  다. #pragma

       컴파일러의 컴파일 방법을 세부적으로 제어할 때 사용한다. 컴파일러 제조회사에서 컴파일러의

       기능을 확장시킬 수 있도록 하는 지시자이다.

       대표적인 예 : #pragma Log2 0.3010

 

 2. 다음 값을 define 해보시오. (1.5시간 소요)

  가. Log2를 0.3010 으로 define 하시오. 첫글자를 대문자로 하시오.

      #define Log2 0.3010

 

  나. Log3을 0.4771 으로 define 하시오. 첫글자를 대문자로 하시오.

      #define Log3 0.4771 

 

  다. Log7을 0.8451 으로 define 하시오. 첫글자를 대문자로 하시오.

      #define Log7 0.8451

 

  라. 가~다를 이용하여 log2 ~ log10의 값을 구하는 코드를 작성해 보시오. 

     그리고 log2~log10 까지의 값을 printf 로 출력하시오.  

     제법은 https://namu.wiki/w/%EC%83%81%EC%9A%A9%EB%A1%9C%EA%B7%B8#fn-7 에 있는 [7]번 항목을

     참조하시오. 작성한 코드도 업로드하시오

​     #include <stdio.h>
     #define Log2 0.3010
     #define Log3 0.4771
     #define Log7 0.8451

     int main()
     {
       double log2 = Log2;
       double log3 = Log3;
       double log4 = 2 * Log2;  // 힌트 : 4=2*2
       double log5 = 1 - Log2; // 힌트 : 5=10/2
       double log6 = Log2 + Log3; // 힌트 : 6=2*3
       double log7 = Log7;
       double log8 = 3 * Log2;  // 힌트 : 8=2*2*2
       double log9 = 2 * Log3;  // 힌트 : 9=3*3
       double log10 = 1;// 힌트 : 10=2*5
   

      printf("log2=%.4f\nlog3=%.4f\nlog4=%.4f\nlog5=%.4f\nlog6=%.4f\nlog7=%.4f\nlog8=%.4f\n

      log9=%.4f\nlog10=%.4f\n", log2, log3, log4, log5, log6, log7, log8, log9, log10);
      return 0;  
     }

 

  마. PI값을 3.141592로 define 한 후 반지름을 입력받아 원의 넓이, 둘레를 출력하는 프로그램을 작성하시오. http://tujanote.cafe24.com/bbs/board.php?bo_table=pds2&wr_id=52&sca=C&page=2 을 참조하시오.


   #define _CRT_SECURE_NO_WARNINGS
   #include <stdio.h>
   #define PI 3.141592

   int main()
  {  
    double r, s, l;

    printf("반지름을 입력하세요 : ");
    scanf("%lf", &r);

    s = r * r * PI;
    l = 2 * r * PI;

    printf("반지름 : %f \n", r);
    printf("넓이 : %f \n", s);
    printf("둘레 : %f \n", l);
    return 0;
  }

 

3. 아스키 코드에 대해 조사하시오 (2시간 소요)

  가. 아스키코드 표를 구하여 0~127까지의 대응값을 구하고 스크린샷을 첨부하시오.

  나. char 형 변수를 선언한 후, 65를 주시오. 이 변수를 출력하면 A가 나옴을 확인하시오. char 형 변수를 선언한 후, 97를 주시오. 이 변수를 출력하면 a가 나옴을 확인하시오. 작성한 코드도 업로드하시오. http://tujanote.cafe24.com/bbs/board.php?bo_table=pds2&wr_id=53&sca=C&page=2 를 참조하시오.

 

  #include <stdio.h> 

   int main()
   {
     char first, second;
     first = 65;
     second = 97;

     printf("first : 65=%c\nsecond : 97=%c", first, second);
     return 0;
    }

 

 

  다. char 형 변수를 투자노트 ID의 글자수만큼 만들고, 각 변수에 아스키값을 준 후 자신의 ID를 출력하는 프로그램을 만드시오. 작성한 코드도 업로드하시오.

 

  #include <stdio.h>

  int main()

  { 
    char id1 = 119;// id의 첫번째 글자
    char id2 = 105;// id의 두번째 글자
    char id3 = 110;// id의 세번째 글자
    char id4 = 103;// id의 네번째 글자
    char id5 = 109;// id의 다섯번째 글자
    char id6 = 105;// id의 여섯번째 글자
    char id7 = 115;// id의 일곱번째 글자
    char id8 = 115;// id의 여덟번째 글자

    printf("%c%c%c%c%c%c%c%c", id1, id2, id3, id4, id5, id6, id7, id8);
    return 0;

  }

  라. 프로그램을 실행하면 비프음이 나오도록 아스키값을 준 후 실행을 확인하시오. 작성한 코드도 업로드하시오.

  #include <stdio.h> 

   int main()
   {
     char beaf = 07;
     printf("beaf : 07 소리음 %c", beaf);
     return 0;
    }

 

 

'C언어' 카테고리의 다른 글

c언어 기초 6주차  (0) 2020.11.08
c언어 기초 5주차  (0) 2020.11.01
c언어 기초 4주차  (0) 2020.10.25
c언어 기초2주차  (0) 2020.10.04
C언어 기초 1 주차  (0) 2020.09.20
by 맑은소금 2020. 10. 18. 21:30