tetris.jpg





1. int, float, double, char의 자료형 크기를 나타내는 프로그램을 코딩하세요.


1-2. char형 변수를 2개(game, school) 생성하고 이를 덧셈하였을 경우 반환된 값의 크기(sizeof (game+school))는 몇 바이트인가?


1-3. 위 1-2에서 예상한 결과가 안나오는 이유는?


1-4. 게임프로그래밍 코딩시 100이하의 수가 필요한 경우, 다른 작은 크기의 자료형도 많은데 int형을 사용하는 이유는?


2. 다음 결과 화면이 나오도록 프로그램을 코딩하세요(모두 %s서식 이용)

[결과화면]

Welcom to Tetris

Game Start!!


3.변수를 선언하여 다음 결과 화면이 나오도록 프로그램을 코딩하세요. (%s, %d ,%c서식 이용)

[결과화면]

캐릭터 이름  스탯 등급

슬라임          50    C

스텀프          45    C

예티             75    B

레츠             85    A




slime.jpg




  • ?
    왼좌 2016.08.12 16:16
    #include <stdio.h>
    
    void main ()
    {
    	//1
    	printf("int 크기 : %d Byte\n",sizeof(int));
    	printf("float 크기 : %d Byte\n",sizeof(float));
    	printf("double 크기 : %d Byte\n",sizeof(double));
    	printf("char 크기 : %d Byte\n",sizeof(char));
    
    	//1-2
    	char Game,school;
    	printf("%d + %d = %d\n",sizeof(Game),sizeof(school),sizeof(Game+school)); // 출력 : 1+1=4
    	// 1-3 : 연산단위가 4Byte 단위 라서
    
    	// 1-4 : 연산단위가 4Byte 단위로 이루어져서 다른 자료형은 두번 계산하게 됩니다
    
    	printf("\n");
    
    	// 2
    	printf("%s\n","Welcom to Tetris");
    
    	printf("%s\n","Game Start!!");
    
    	printf("\n");
    
    	// 3
    	printf("%7s %3s %3s\n","캐릭터이름","스탯","등급");
    	printf("%7s %6d %3c\n","슬라임",50,'C');
    	printf("%7s %6d %3c\n","스텀프",45,'C');
    	printf("%7s %6d %3c\n","예티",75,'B');
    	printf("%7s %6d %3c\n","레츠",85,'A');
    
    }
  • ?
    딸기만두 2016.08.13 17:32
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc, char *argv[]) {
    
    	// 1-2 변수생성 
    	char game, school;
    
    	// 3 변수생성 초기화 
    	int slime_stat = 50, stump_stat = 45, yeti_stat = 75, retz_stat = 85;
    	char slime_class = 'C', stump_class = 'C', yeti_class = 'B', retz_class ='A';
    
    	// 1.
    	printf("%d, %d, %d, %d\n", sizeof(int), sizeof(float), sizeof(double), sizeof(char));
    
    	// 1-2.
    	printf("%d + %d = %d\n", sizeof(game), sizeof(school), sizeof(game + school));
    
    	// 1-3. 연산의 기본단위는 4byte이기 때문입니다 
    
    	// 1-4. 하드웨어의 발전으로 메모리의 최적화보다는 연산속도가 빠른 int를 사용하게 되었습니다 
    
    	// 2.
    	printf("%s\n", "Welcome to Tetris");
    	printf("%s\n", "Game Start!!");
    
    	// 3.
    	printf("%-15s%-6s%-6s\n", "캐릭터 이름", "스탯", "등급");
    	printf("%-15s%-6d%-6c\n", "슬라임", slime_stat, slime_class);
    	printf("%-15s%-6d%-6c\n", "스텀프", stump_stat, stump_class);
    	printf("%-15s%-6d%-6c\n", "예티", yeti_stat, yeti_class);
    	printf("%-15s%-6d%-6c\n", "레츠", retz_stat, retz_class);
    
    	return 0;
    }
  • ?
    FEDY 2016.10.13 17:56
    1 : 
    1_2 : 4byte
    1_3 : char + char 하면 자동 형변환으로 int 로 되어 크기는 4byte가 됩니다.
    1_4 : 운영체제에서 기본적으로 사용하기 때문에 연산 속도가 가장 빨라서 씁니다.

  • profile
    닭꼬치사줘 2016.10.13 19:21

    1-2. 2byte
    1-3. 모르겠습니다ㅠ
    1-4. int형이 표현할 수 있는 값의 범위가 -128~127이기 때문에 더작은 자료형을 쓰면 쓰레기값이 나오므로

  • ?
    cass3126 2016.10.15 18:54
    //<3번>
    int SlimeS = 50 , StumpS = 45 ,YetiS = 75,LetsS = 85;
    char SlimeR = 'C',StumpR = 'C',YetiR = 'B',LetsR = 'A';

    printf("%-11s %-4s %-4s\n","캐릭터 이름","스탯","등급");
    printf("%-11s %-4d %-4c\n","슬라임",SlimeS,SlimeR);
    printf("%-11s %-4d %-4c\n","스텀프",StumpS,StumpR);
    printf("%-11s %-4d %-4c\n","예티",YetiS,YetiR);
    printf("%-11s %-4d %-4c\n\n","레츠",LetsS,LetsR);
  • profile
    gosnem93 2016.12.14 15:13
    #include <stdio.h>
    
    void main()
    {
    	//1-1
    	printf("int %d, float %d, double %d, char %d\n", sizeof(int), sizeof(float), sizeof(double), sizeof(char));
    
    	//1-2
    	char Game, School;
    	printf("%d\n", sizeof(Game+School));
    
    	//1-3
    	//char형은 1바이트라서 1+1로 2가 나오길 바라지만 덧셈시 단일문자형이 아닌 정수형으로 자동 형변환이 되어 4바이트로 나타나게 된다.
    
    	//1-4 
    	//int를 사용하는 이유는 보편화가 되어있기 때문이다.
    
    	//2
    	printf("%s\n%s\n", "Welcom to Tetris", "Game Start!!");
    
    	//3
    	printf("%-12s %-5s %-5s\n", "캐릭터 이름", "스탯", "등급");
    	printf("%-12s %-5d %-5c\n", "슬라임", 50, 'C');
    	printf("%-12s %-5d %-5c\n", "스텀프", 45, 'C');
    	printf("%-12s %-5d %-5c\n", "예티", 75, 'A');
    	printf("%-12s %-5d %-5c\n", "레츠", 85, 'B');
    }
  • profile
    gosnem93 2016.12.14 15:14
    솔직히 1-2, 1-3, 1-4 헷갈림다.
  • profile
    Arsonist 2016.12.14 15:17
    void main()
    {
    //1.
    	printf("자료형 크기\n\n");
    	printf("int size = %d\n",sizeof(int));
    	printf("float size = %d\n",sizeof(float));
    	printf("double size = %d\n",sizeof(double));
    	printf("char size = %d\n",sizeof(char));
    //1-2
    	char game, school;
    	printf("char 변수 game + school = %d\n", sizeof(game+school));
    //1-3 연산 단위가 4Byte이므로.
    //1-4 컴퓨터의 연산이 4Byte로 빠르므로.
    	printf("\n%s\n%s\n%s\n\n","[결과화면]","Welcome to Tetris","Game Start!!");
    
    	printf("%s\n","[결과화면]");
    	printf("%-6s \t%s %s\n","캐릭터 이름","스탯", "등급");
    	printf("%-6s \t\t %d %4C\n","슬라임",50,'C');
    	printf("%-6s \t\t %d %4C\n","스텀프",45,'C');
    	printf("%-6s \t\t %d %4C\n","예티",75,'B');
    	printf("%-6s \t\t %d %4C\n","레츠",85,'A');
    
    }
  • profile
    bin2726 2016.12.14 15:18
    #include<stdio.h>
    int main()
    {
    	//1.
    	printf("int :%dbyte\n", sizeof(int));
    	printf("float :%dbyte\n", sizeof(float));
    	printf("double :%dbyte\n", sizeof(double));
    	printf("char :%dbyte\n", sizeof(char));
    
    	//1-2.
    	char game, school;
    	printf("game + school :%dbyte\n",sizeof(game+school));
    
    	//1-3.
    
    
    	//1-4.
    	//컴퓨터의cpu 데이터 처리시 4바이트 단위로 읽어들여 처리하기때문에.
    
    	//2.
    	printf("%s\n", "Welcom to Tetris");
    	printf("%s\n", "Game Start!!");
    
    	//3.
    	int s1=50, s2=45, s3=75, s4=85;
    	char g1='C', g2='C', g3='B', g4='A';
    	printf("%-10s%4d%4c\n","슬라임", s1, g1);
    	printf("%-10s%4d%4c\n","스텀프", s2, g2);
    	printf("%-10s%4d%4c\n","예티", s3, g3);
    	printf("%-10s%4d%4c\n","레츠", s4, g4);
    
    }
    
  • profile
    과자 2016.12.14 21:09
    #include<stdio.h>
    
    void main()
    {
    	//1
    	printf("size is %d Byte\n", sizeof(int));
    	printf("size is %d Byte\n", sizeof(float));
    	printf("size is %d Byte\n", sizeof(double));
    	printf("size is %d Byte\n", sizeof(char));
    	//1-2 4 Byte
    	//1-3 char형 변수의 값 2개의 합이 char가 표현할 수 있는 범위 (-128~127)를 넘어서 int로 형변환
    	//1-4 기본 연산단위가 4Byte라서
    	//2
    	printf("%s\n%s", "Welcome to Tetris", "Game Start!\n");
    	//3
    		int stat1 = 50, stat2 = 45, stat3 = 75, stat4 = 85;
    	char level1 = 67, level2 = 67, level3 = 66, level4 = 65;
    	printf("%-11s %s %s\n", "캐릭터 이름", "스탯", "등급");
    	printf("%-11s %d %3c\n", "슬라임", stat1, level1);
    	printf("%-11s %d %3c\n", "스텀프", stat2, level2);
    	printf("%-11s %d %3c\n", "예티", stat3, level3);
    	printf("%-11s %d %3c\n", "레츠", stat4, level4);
    }

  • profile
    고로멩 2016.12.15 16:16
    1.      printf("%d\n", sizeof(int));
    	printf("%d\n", sizeof(float));
    	printf("%d\n", sizeof(double));
    	printf("%d\n", sizeof(char));
    
    1-2. char game;
          char school;
           
          printf("%d + %d = %d\n", sizeof(game) , sizeof(school) + sizeof(game + school));
    1-3. 연산단위 4바이트
    
    1-4. 모르겠습니다. 
    
    2. printf("%s\n", "[결과화면]");
       printf("%s\n", "Welcome to tetris");
       printf("%s\n", "Game Start!!");
    
    3. {
    	printf("%s\n", "[결과화면]");
    	printf("%s\t %s\t %s\n", "캐릭터이름", "스탯", "등급");
    	printf("%s\t\t %d\t %c\n", "슬라임", 50, 'C');
    	printf("%s\t\t %d\t %c\n", "스텀프", 45, 'C');
    	printf("%s\t\t %d\t %c\n", "예티", 75, 'B');
    	printf("%s\t\t %d\t %c\n", "레츠", 85, 'A');
    } 
  • profile
    주연 2017.02.10 08:13
    #include <stdio.h>
    void main()
    {
     //1.
     printf("int형의 크기: %d 바이트 \n", sizeof(int));
     printf("float형의 크기: %d 바이트 \n", sizeof(float));
     printf("double형의 크기: %d 바이트 \n", sizeof(double));
     printf("chart형의 크기: %d 바이트 \n", sizeof(char));
     //1-2.
     printf("====================================================\n");
     char game;
     char school;
     
     printf("GAME %d 바이트 + SCHOOL %d 바이트 = %d 바이트 \n", sizeof(game), sizeof(school), sizeof(game+school));
     //1-3. 연산의 기본단위가 4바이트 이기 때문입니다.
     //1-4  연산속도가 빠르기 때문입니다.
     //2.
     printf("====================================================\n");
     printf("%s \n", "[결과화면]");
     printf("%s \n", "Welcom to Tetris");
     printf("%s \n", "Game Start!!");
       //3.
     printf("====================================================\n");
     
     int stat1, stat2, stat3, stat4;
     int grade1, grade2, grade3 ;
     stat1 = 50; stat2 = 45; stat3 = 75; stat4 = 85;
     grade1 = 'A'; grade2 = 'B'; grade3 = 'C';
     printf("%s \n", "[결과화면]");
     printf("%-11s  %-2s  %s  \n", "캐릭터이름", "스탯", "등급");
     printf("%s  %8d  %3c  \n", "슬라임", stat1, grade3);
     printf("%s  %8d  %3c  \n", "스텀프", stat2, grade3);
     printf("%s  %10d  %3c  \n", "예티", stat3, grade2);
     printf("%s  %10d  %3c  \n", "레츠", stat4, grade1);
    }
  • profile
    김서현 2017.03.08 14:55
    #include <stdio.h>

    int main()
    {
    printf("%d\n",sizeof(int));
    printf("%d\n",sizeof(float));
    printf("%d\n",sizeof(double));
    printf("%d\n",sizeof(char));
    printf("%d\n",sizeof ('game'+'school'));

    //1.2 :: 1(합쳐도 char일 것이라 예상했습니다.
    //1.3 :: int변수로 자동 변환되어 4.
    //1.4 :: 연산 속도가 빠르기 때문에.

    printf("%s","Welcome to Tetris");
    printf("%s","Game Start!!");

    int SlimeStat=50,StumpStat=45,YettiStat=75,RatsStat=85;
    char SlimeGrad='C',StumpGrad='C',YettiGrad='B',RatsGrad='A';

    printf("캐릭터 이름 스텟 등급\n");
    printf("%10s %4d %c\n","슬라임",SlimeStat,SlimeGrad);
    printf("%10s %4d %c\n","스텀프",StumpStat,StumpGrad);
    printf("%10s %4d %c\n","예티",YettiStat,YettiGrad);
    printf("%10s %4d %c\n","레츠",RatsStat,RatsGrad);

    return 0;
    }
  • profile
    CBJ 2017.03.10 22:07
    #include <stdio.h>

    void main()
    {
    //1.
    int a;
    float b;
    double c;
    char d;

    printf("int의 자료형 크기 : %d byte\n",sizeof(a));
    printf("float의 자료형 크기 : %d byte\n",sizeof(b));
    printf("double의 자료형 크기 : %d byte\n",sizeof(c));
    printf("char의 자료형 크기 : %d byte\n",sizeof(d));

    //1-2
    char game;
    char school;

    printf("%d + %d 의 값은 %d 이다.\n\n", sizeof(game), sizeof(school), sizeof(game+school));

    //1-3
    // int로 변환되어 4byte

    //1-4
    // 잘 모르겠습니다.

    //2
    printf("%s\n","[결과화면]");
    printf("%s\n","Welcom to Tetris");
    printf("%s\n\n", "Game Start!!");

    //3
    printf("%s\n", "[결과화면]");
    printf("%-11s %-5s %-5s\n", "캐릭터 이름", "스탯", "등급");
    printf("%-11s %-5d %-5c\n", "슬라임", 50, 'C');
    printf("%-11s %-5d %-5c\n", "스텀프", 45, 'C');
    printf("%-11s %-5d %-5c\n", "예티 ", 75, 'B');
    printf("%-11s %-5d %-5c\n", "레츠 ", 85, 'A');
    }
  • profile
    시공이 2017.03.20 18:45
    printf("int 크기 : %d Byte\n", sizeof(int));
    printf("float 크기 : %d Byte\n", sizeof(float));
    printf("double 크기 : %d Byte\n", sizeof(double));
    printf("char 크기 : %d Byte\n", sizeof(char));

    char Game, school;
    printf("%d + %d = %d\n", sizeof(Game), sizeof(school), sizeof(Game + school));

    printf("\n");

    printf("%s\n", "Welcom to Tetris");

    printf("%s\n", "Game Start!!");

    printf("\n");

    printf("%7s %3s %3s\n", "캐릭터이름", "스탯", "등급");
    printf("%7s %6d %3c\n", "슬라임", 50, 'C');
    printf("%7s %6d %3c\n", "스텀프", 45, 'C');
    printf("%7s %6d %3c\n", "예티", 75, 'B');
    printf("%7s %6d %3c\n", "레츠", 85, 'A');
  • profile
    Bae 2017.04.11 19:08

    //1
    printf("int 크기 : %d Byte\n", sizeof(int));
    printf("float 크기 : %d Byte\n", sizeof(float));
    printf("double 크기 : %d Byte\n", sizeof(double));
    printf("char 크기 : %d Byte\n", sizeof(char));

    //1-2 몇 바이트인가? : 4바이트.
    char Game, school;
    printf("%d + %d = %d\n", sizeof(Game), sizeof(school), sizeof(Game + school));

    //1-3 예상한값이 안나오는 이유는? : 캐릭터형을 더한 것이기 때문에 1바이트 + 1바이트 = 4바이트가 맞고 C언어에서 메모리를 최소단위로 4바이트씩 읽기 때문에 이렇게 출력된다.


    //1-4 100 이하의 수가 필요한 경우 굳이 int 형을 사용하는 이유 : C언어에서 메모리를 최소단위로 4바이트씩 읽기 때문에 int형으로 써도 문제가 없고 가독성도 좋다.

    //2
    printf("%s\n", "Welcom to Tetris");
    printf("%s\n", "Game Start!!");

    //3
    printf("%7s %3s %3s\n", "캐릭터이름", "스탯", "등급");
    printf("%7s %6d %3c\n", "슬라임", 50, 'C');
    printf("%7s %6d %3c\n", "스텀프", 45, 'C');
    printf("%7s %6d %3c\n", "예티", 75, 'B');
    printf("%7s %6d %3c\n", "레츠", 85, 'A');