ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2.5 C언어_변수와 자료형 실습 문제
    C언어, 2022/2장_변수와 자료형 2022. 6. 22. 18:58

    2장 변수와 자료형-실습문제-20220302.pdf
    0.11MB

     

     

    [ 문제 1 ] 두 정수를 입력 받고 합을 계산해주는 프로그램을 작성하시오.

     

     

    key's note :

    #include  <stdio.h>
    #pragma warning(disable:4996)
    
    int main() {
       int num1, num2;
    
       scanf("%d", &num1);
       scanf("%d", &num2);
    
       printf("sum: %d\n", num1 + num2);
    
    return 0;

     

     

     

    [ 문제 2 ] 두 개의 부동소수형 변수를 선언하고 다음과 같이 초기화 한 후, 두 수의 합을 계산해주는 프로그램을 작성하시오.
    ○ 부동소수 초기화 값: 4.200000 와 5.100000
    ○ 부동소수형 변수를 float 로 선언하면 오차가 있으니, double 자료형으로 선언하시오.

     

     

     

    key's note :

    #include  <stdio.h>
    #pragma warning(disable:4996)
    
    int main() {
       double a = 4.200000;
       double b = 5.100000;
    
       printf("first number: %f\n", a);
       printf("second number: %f\n", b);
       printf("sum: %f\n", a + b);
    
    return 0;

     

     

    [ 문제 3 ] 사용자에게 정수를 입력받아 int형 변수에 저장하고, 이를 char형 변수에 복사 한 후, 두 값을 %d 서식을 사용하여 출력하는 프로그램을 작성하시오.
    ○ 아래의 입력 값을 이용해 실행시켜 보시오. (각 자료형의 표현 범위 이해하기)
        10, -10, 100, -100, 200, -200, 500, -500

    ○ char형 변수 ch 에는 -128 에서 127 사이 값만 저장할 수 있다. 만약에 ch에 200을 저장하면 127을
    초과하므로 제대로 값을 저장할 수 없어서 틀린값 -56 을 저장하게 된다.

     

     

    key's note :

    #include<stdio.h>
    
    int main(){
    
    	int num;
    	char ch;
    	
    	scanf("%d", &num);
    	ch=num;
    	printf("(int->int) %d\n", num);
    	
    	printf("(int->char->int) %d\n", ch);
    
    	return 0;
    }

     

     

     

    [ 문제 4 ] 사용자에게 정수를 입력받아 int형 변수에 저장한다. 위 문제를 char형 변수 대신 unsigned char형 변수를 이용하여 작성하고, 동일한 값을 입력하여 실행시켜 보시오. (자료형의 표현 범위 이해하기)

     

     

    key's note :

    #include<stdio.h>
    
    int main(){
    
    	int num;
    	unsigned char ch;
    	
    	scanf("%d", &num);
    	ch=num;
    	printf("(int->int) %d\n", num);
    	
    	printf("(int->unsigned char->int) %d\n", ch);
    
    	return 0;
    }

    입력: 200 에 대해서, [문제 3]과 [문제 4]에서 출력이 다른 이유 :

    (답) char형 변수 ch 에는 -128 에서 127 사이 값만 저장할 수 있다.
           unsigned char형 변수 ch 에는 0 에서 255 사이 값을 저장할 수 있다.

     

     

     

    [ 문제 5 ] 화면에 다음과 같이 출력하시오. (이스케이프 시퀀스 이용)

     

     

    key's note : 

    #include<stdio.h>
    
    int main(){
    
    	char c1 = 34;
    	char c2 = 39;
    	char c3 = 'A';
    	char c4 = 92;
    
    	printf("The double quotation mark is %c.\n", c1);
    	printf("The single quotation mark is %c.\n", c2);
    	printf("Character A is '%c'.\n", c3);
    	printf("To represent a double quotation mark, use the escape sequence %c%c.\n", c4, c1);
    	
    	return 0;
    }

     

     

     

    [ 문제 6 ] 0~9 사이의 숫자를 서식 ‘%c’ 로 입력 받은 후, 서식 ‘%c’와 ‘%d’를 이용하여 아래와 같이 같은 값을 출력하는 코드를 작성하시오. (문자의 실체 이해하기 응용)
    ○ 정수로 출력하기 위해 숫자 '0'~'9'의 아스키 코드 값이 연속되어 있음을 이용하시오.
    ○ 각 숫자의 아스키 코드 값을 알 필요는 없다.

     

     

     

     

    key's note : 

    #include<stdio.h>
    
    int main(){
    
    	char ch;
    
    	scanf("%c", &ch);
    
    	printf("(%%c) %c\n", ch);
    
    	int num = ch - '0';
    
    	printf("(%%d) %d\n", num);
    	
    	return 0;
    }

     

     

     

    [ 문제 7 ] 영어 소문자 a~z의 아스키 코드 값은 문자 순으로 연속되어 있다. 이 성질을 이용하여 입력받은 소문자가 알파벳에서 몇 번째 문자인지 출력하는 프로그램을 작성하시오.
    ○ a를 0번째 문자, z는 25번째 문자로 가정하라.
    ○ 각 문자의 아스키 코드 값을 알 필요는 없다.

     

     

     

    key's note : 

    #include<stdio.h>
    
    int main(){
    
    	char ch;
    	scanf("%c", &ch);
    	
    	int num = ch - 'a';
    	printf("%c is the %dth lower case letter in the English alphabet.\n", ch,num);
    	
    	return 0;
    }

     

     

     

    [ 문제 8 ] 0~25 사이의 정수를 입력 받아, 해당 번째의 영어 대문자가 무엇인지 출력하는 프로그램을 작성하시오.
    ○ 0번째 문자는 A, 25번째 문자는 Z로 가정하라.
    ○ 각 문자의 아스키 코드 값을 알 필요는 없다.

     

     

     

    key's note : 

    #include<stdio.h>
    
    int main(){
    
    	int num;
    	scanf("%d", &num);
    	
    	char ch = num + 'A';
    	printf("The %dth upper case letter in the English alphabet is %c.\n", num,ch);
    
    	return 0;
    }

     

     

     

    [ 문제 9 ] 영어 소문자를 입력받아 이를 대문자로 변환하는 프로그램을 작성하시오.
    ○ Hint) 문제 7번과 8번을 결합하면 된다.

     

     

    key's note : 

    #include<stdio.h>
    
    int main(){
    
    	char ch;
    	scanf("%c", &ch);
    	
    	char ch1 = ch - 32;
    
    	printf("%c\n", ch1);
    	
    	return 0;
    }

     

     

     

     

    [ 문제 10 ] 반대로 영어 대문자를 입력받아 이를 소문자로 변환하는 프로그램을 작성하시오.

     

     

     

    key's note :

    #include<stdio.h>
    
    int main(){
    
    	char ch;
    	scanf("%c", &ch);
    	
    	char ch1 = ch + 32;
    
    	printf("%c\n", ch1);
    	
    	return 0;
    }

    댓글

Designed by Tistory.