# 기본과제 및 제출 양식

1. if의 사용방법은

 

   if(조건식)

   실행문;

 

 의 형태이다. 이를 암기하시오. 그 후, 이를 이용하여 다음 문항을 해결하시오. https://dojang.io/mod/page/view.php?id=118 를 참조하시오. (0.5시간 소요)

  가. c언어에서 비교연산자(조건식)에 대해 조사하고, 표를 스크린샷으로 넣으시오.

    * 비교 연산자는 두개의 값을 비교하여 대소와 동등의 관계를 따지는 연산자이다.

      비교연산자의 연산 결과는 참, 거짓 값으로 반환한다. ex) True(1), False(0)

      종류는 아래와 같이 여섯개의 연산 자가 있다.

연산자 의미
== 같음 a == b  // a는 b와 같다.
!= 같지 않음 a != b   //  a는 b와 같지 않다.
> 크다 a > b    // a는 b보다 크다.
< 작다 a < b    // a는 b보다 작다.
>= 크거나 같다 a >= b  // a는 b보다 크거나 같다.
<= 작거타 같다 a <= b  // a는 b보다 작거나 같다.

  나. int형 변수 a를 선언하여 1을 넣으시오.

  다. int형 변수 b를 선언하여 2를 넣으시오.

  라. a=1이라면 "1이 들어있습니다."를 출력하는 프로그램을 작성하시오. 한편, 이 메시지가 나오는 것을 확인하시오.

  #include<stdio.h>

 

   int main()

   {

      int a = 1;

      int b = 2;  

     

      if(a == 1)

      {

          printf("a에 1이 들어있습니다.\n");

      }

 

      if(b == 1)

      {

          printf("b에 2가 들어있습니다.\n");

      }

 

        return 0;

    }

 

   

  마. b=1이라면 "1이 들어있습니다."를 출력하는 프로그램을 작성하시오. 실행하면 아무것도 나오지 않음을 확인하고 그 이유를 쓰시오.

  * int형 변수 b에 2를 선언 하였다. 그래서 if b == 1의 조건에 만족하지 않으므로 실행시 출력이 되지 않는다.

 

 

 ※ 주의 : x와 y 가 같은지 확인하는 연산은 x=y가 아니라 x==y임.

 

 

2. if else의 사용방법은

 

  if(조건식)

   실행문;

  else

   실행문;

 

 의 형태이다. 이를 암기하시오. 그 후, 이를 이용하여 다음 문항을 해결하시오.

http://tujanote.cafe24.com/bbs/board.php?bo_table=pds2&wr_id=59&sca=C&page=1 를 참조하시오. (1시간 소요)

  가. int형 변수 a를 scanf하시오.

  나. 2로 나누었을때 나머지가 1인지 검사하는 코드 조건식에 넣으시오.

  다. if의 실행문은 "홀수입니다."로 printf 하시오.

  라. else의 실행문은 "짝수입니다."로 printf 하시오.

 

   #define _CRT_SECURE_NO_WARNINGS

   #include<stdio.h>

 

   int main()

   {

      int a;

      printf("변수 a에 값을 입력해주세요 : ");

      scanf("%d", &a);

      if(a%2 == 1)

      {

          printf("홀수입니다. \n");

      }

      else

     {

          printf("짝수입니다. \n");

      }

      return 0;

   } 

 

 

  마. 프로그램을 실행한 뒤 임의의 홀수를 scanf에 넣어 "홀수입니다."가 나오는지 확인하시오.

 

  바. 프로그램을 실행한 뒤 임의의 짝수를 scanf에 넣어 "짝수입니다."가 나오는지 확인하시오.

 

3. if elseif else의 사용방법은

 

  if(조건식)

   실행문;

  else if(조건식)

   실행문;

  else

   실행문;

 

 의 형태이다. 이를 암기하시오. 그 후, 이를 이용하여 다음 문항을 해결하시오. 문항 해결을 위해서 else if가 여러개 필요함을 연구해 보시오. (1시간 소요)

 

  가. 100점 만점인 시험점수를 저장하는 변수를 선언하고, scanf로 점수를 받으시오.

  #define _CRT_SECURE_NO_WARNINGS

  #include<stdio.h>

 

  int main()

  {

      int score;

      printf("변수 a에 값을 입력해주세요 : ");

      scanf("%d", &score);

      if(score > 100 || score < 0)

      {

          printf("값을 올바르게 입력해 주세요.");

      }

      else if(score >= 90)

      {

          printf("A 학점입니다. \n");

      }

      else if(score >= 80)

      {

          printf("B 학점입니다. \n");

      }

      else if(score >= 70)

      {

          printf("B 학점입니다. \n");

      }

      else if(score >= 60)

      {

          printf("B 학점입니다. \n");

      }

      else

      {

          printf("F 학점입니다. \n");

      }

      return 0;

  }

  나. 90점 이상이면 A를 출력하는 프로그램을 짜시오.

  다. 90점 이상은 아니지만 80점 이상이면 B를 출력하는 프로그램을 짜시오.

  라. 80점 이상은 아니지만 70점 이상이면 C를 출력하는 프로그램을 짜시오.

  마. 70점 이상은 아니지만 60점 이상이면 D를 출력하는 프로그램을 짜시오.

  바. 60점 미만이면 F를 출력하는 프로그램을 짜시오.

 

4. 삼항연산자의 사용법은

  값을받을변수 = 조건식 ? 참일때 할당값 : 거짓일때 할당값;

 

  의 형태이다. 이를 암기하시오. 그 후, 이를 이용하여 다음 문항을 해결하시오. (1시간 소요)

 

  가. 임의의 두 수 a,b를 scanf로 받으시오.

  나. 두수 중 큰수를 저장할 변수 max를 만드시오.

  다. 조건식에 두 수의 크기를 비교하는 문장을 쓰시오.

  라. max에 참일때 할당값을 a,b중 골라 넣으시오.

  마. max에 거짓일때 할당값을 a,b중 골라  넣으시오.

  바. 두 수중 더 큰수가 잘 찾아지는지 확인하시오.

  

   #define _CRT_SECURE_NO_WARNINGS

   #include<stdio.h>

 

   int main()

   {

      int abmax;

 

      printf("a와 b를 입력 해 주세요 : ");

      scanf("%d %d", &a, &b);

    

      max = a>b?a:b;

      printf("두 수중 더큰 값은 %d이다."max);

      return 0;

   }

 

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

c언어 기초 7주차  (0) 2020.11.15
c언어 기초 6주차  (0) 2020.11.08
c언어 기초 4주차  (0) 2020.10.25
c언어 기초 3주차  (0) 2020.10.18
c언어 기초2주차  (0) 2020.10.04
by 맑은소금 2020. 11. 1. 22:52

# 기본과제 및 제출 양식

1. 증감연산자가 무엇인지 찾아보고 x의 초기값이 1일때의 사용 예시를 적고 결과값을 printf해 보시오. (0.5시간 소요)

  증감연산자 : 증감 연산자는 피연산자를 1씩 증가 혹은 1씩 감소시킬 때 사용하는 연산자입니다.
                   이 연산자는 피연산자가 단 하나뿐인 단항 연산자입니다

  가. x++ :

  나. x-- :

 

2. 자동형변환(올림변환, 내림변환)에 대해 조사하고 아래 문항을 해결하시오(1시간 소요)

  가. 자동형변환(올림변환, 내림변환) 에 대해 50자 이내로 요약하여 설명해보시오.

      컴파일러에 의해 자동으로 수행되는 자료형 변환이라고 한다.
      자료형의 크기가 큰쪽으로 변환하는 것을 올림변환, 낮은 쪽으로 변환하는 것을 내림 변환이라 한다.

 

  나. double a = 10, double b=3 일때 a/b=3.333... 이지만, int c = a/b처럼 짜면 어떤 값이 나오는지 printf 로 확인하고 그 이유를 설명하시오.

      결과 값 : 3

      이유     :  double형인 a/b는 값이 3.333... 으로 출력되지만 int c로 변환될 경우 정수형 자료로 형변환되어서 

                   소수자리는 버리고 정수 부분인 3만 출력하게 된다.

 

  다. int a = 10, int b=3일때 a/b=3 이지만, 캐스팅 연산자 (double)를 사용하여  (double)a/ (double)b 처럼 계산 후 이것을 double x에 대입한 후 값을 확인하면 3.333.... 이 정상적으로 나옴을 확인하시오. 그리고 이유를 설명하시오.

      결과 값 : 3.333...

      이유     : a와 b int형 이지만 강제 형변환으로 double로 만들었다.

                  a = 10.000000, b= 3.000000으로 변환 되어 double 형의 값이 나오며 double x에 대입하여 3.333....을

                  출력하게 된다. 

 

  라. 임의의 유리수를 입력받아 소수점자리에서 올림, 버림 하여 정수부분만 뽑아주는 프로그램을 구현하시오.

     #define _CRT_SECURE_NO_WARNINGS
     #include <stdio.h>

       int main()
      {
         double a = 0;
         int b;
         printf("유리수 입력하시오 : ");
         scanf("%lf", &a);
         b = a;  
         printf("소수 자리에서 올림: %d\n", b + 1);
         printf("소수 자리에서 내림: %d\m", b);
         return 0;
       }

  마. '라'를 이용하여 임의의 유리수의 소수부분을 뽑아주는 프로그램을 구현하시오.

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>

     int main()
     {  
       double a = 0;
       int b;
       printf("유리수 입력하시오 : : ");
       scanf("%lf", &a);
       b = a;
       printf("소수값 = %lf", a - b);
     }

 

  바. math.h를 include 한 뒤 '라,마'를 이용하여 임의의 유리수의 log값을 알 때 그 숫자를 소수넷째짜리까지 찾아주는 프로그램을 만드시오.

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

  int main()
  {  
    double a = 0;
    printf("유리수 로그값 :");
    scanf("%lf", &a);  
    double b;
    b = pow(10.0, a);
    printf("원래의 유리수값:%.4f", b);
    return 0;
   }

    

3. 구구단 2~9단을 출력해보시오. 단, 반복문을 사용하지 마시오 (3시간 소요)

  가. int a=2, int b=1로 시작하시오.

  나. a * b = c라고 출력해보시오.

  다. b++를 하여 b를 2로 만드시오.

  라. a * b = c라고 출력해보시오.

  마. b++를 하여 b를 3로 만드시오.

  바. a * b = c라고 출력해보시오.

  사. b++를 하여 b를 4로 만드시오.

  아. a * b = c라고 출력해보시오.

  자. 나~아의 방식으로 b가 9일때까지 출력해보시오

  차. 자 항이 끝나면 a++를 하여 a=3으로 만드시오. b=1을 주어 초기화하시오.

  카. 다시 나~아의 방식으로 b가 9일때까지 출력해보시오.

  타. 가~카의 방식으로 a가 9일때까지 출력해보시오. 

   

  #define _CRT_SECURE_NO_WARNINGS
  #include<stdio.h>
  int main()
  {
   int a = 2;
   int b = 1;
   

   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);

   a++;
   b = 1;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);

   a++;
   b = 1;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);

   a++;
   b = 1;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);

   a++;
   b = 1;  
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);  
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);

   a++;
   b = 1;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);  
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);

   a++;
   b = 1;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);

   a++;
   b = 1;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;  
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);  
   b++;
   printf("%d * %d = %d\n", a, b, a * b);
   b++;
   printf("%d * %d = %d\n", a, b, a * b);  

   return 0;
  }

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

c언어 기초 6주차  (0) 2020.11.08
c언어 기초 5주차  (0) 2020.11.01
c언어 기초 3주차  (0) 2020.10.18
c언어 기초2주차  (0) 2020.10.04
C언어 기초 1 주차  (0) 2020.09.20
by 맑은소금 2020. 10. 25. 23:47

 

# 기본과제 및 제출 양식

 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
| 1 2 3 4 5 6 ··· 15 |