• SEARCH

    통합검색
  • GAMEZONE
    • 커뮤니티
      • 공지사항
      • 유저게시판
        • 등업게시판
        • 출석체크
        • 정회원 무료자료실
      • 스크린샷
      • 인증자료실
    • 리니지
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 메이플스토리
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 바람의나라
      • 자유게시판
      • 홍보게시판
      • 자료게시판
        • 유틸자료실
        • 소스자료실
        • 클라이언트
        • 팩 자료실
      • 연구게시판
        • 개발내역
        • 질문과답변
        • 기타
      • 강의게시판
        • DR
        • CR
        • 구버전
        • 클라이언트 개조
        • 노하우 게시판
        • 게임공략 & 팁
    • 다크에덴
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 믹스마스터
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 라그나로크
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 기타게임
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 게임강의
    • 비베&포토샵
      • 자유게시판
      • 자료실
        • 일반자료실
        • 포인트 자료실
      • 노하우게시판
      • 포토샵게시판
    • 모바일
      • 게임공략
      • 포인트 자료실
      • 유틸자료실
      • 자유게시판
  • 기타게임 소스자료실
    • 기타게임 소스자료실 기타
    • 논리적 오류와 아스키코드

      • a74654
      • 2025.09.26 - 01:07 15

    논리적 오류

    우리가 우리가 변수와 실수 그리고 자료형에 대해서 이해하지 못하면 직접 프로그램을 만들고 실행해 보았을때 생각하지 못한 다른 값이 출력되거나 오류가 발생할 수 있습니다. 

     아래의 코드를 직접 작성하고 실행해 봅시다.

    1
    2
    3
    4
    5
    6
    7
    8
    #include <stdio.h>
    main ()
    {
    int max = 2147483647;
    printf ( "%d\n", max);
    max = max + 1;
    printf ( "%d\n", max);
    }

    실행결과

    위 프로그램을 실행하면 논리적 오류가 발생합니다.

    • 4행에서 int형 변수 'max'에 저장할 수 있는 최대 숫자인 2,147,483,647을 저장하였습니다.
    max – 변수는 ‘max’ 말고도 내가 원하는 글자를 변수로 지정해 줄 수 있습니다. (예를 들어 ‘max’를 ‘a’나 ‘point’로 바꿔도 결과 값은 똑같이 출력됩니다.) 자세한 사항은 ‘변수명 지정’ 토픽에 나와 있습니다.
    • 6행에서 4행의 값에 1을 더하면 저장 가능한 수의 범위를 넘게되어 오버플로가 발생합니다. 따라서 더 큰 정수를 저장하려면 자료형인 long long int(int보다 표현범위가 높다.)을 이용하여 'max'를 선언해야 합니다.
      (예시: long long int max;)
    오버플로 – 프로그래밍에서, 메모리 용량을 넘어선 값이 들어가 생기는 오류.

    아스키코드

    정도통신을 위해 미국표준협회 에서 개발한 것으로, 알파벳과 아라비아 숫자, 그리고 특수문자를 표현하는 2진수 코드 체계입니다. 숫자로 128개의 문자를 표현하며 메모리에 저장될 때는숫자(0~127)로 변환되어 저장합니다.

    아스키코드를 사용하는 문자형(char) 변수의 경우, 문자 상수를 저장하거나 문자 상수에 해당하는 아스키코드(ASCII code) 값을 저장할 수 있습니다. 

    아래의 코드를 직접 작성하고 실행해 봅시다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include <stdio.h>
    main ()
    {
    char a = 'A';
    char b = a + 1;
    printf ( "ASCII [%d] = %c \n", a, a);
    printf ( "ASCII [%d] = %c \n", b, b);
    return 0;
    }

    실행결과 

    위 프로그램을 실행하면 아스키코드에 해당하는 문자가 출력됩니다.

    • 4행에서 문자형 변수 a에 ‘A’라는 문자를 저장했습니다. 그런데 ‘A’의 아스키코드 값이 65이므로 실제 a에는 65가 저장된 것이죠. 따라서 5행에서는 b에는 66이 저장됩니다.
    • 6행과 7행처럼 이러한 변수 값을 출력할 때, printf() 함수 내부의 서식을 정수(%d)와 문자(%c)로 각각 지정하면 그에 맞는 형태로 변환되어 출력됩니다.컴퓨터 내부에서 문자 ‘A’와 10진수 65는 같은 값으로 저장되는데, 서식 ‘%d’와 ‘%c’ 를 사용하면 10진수나 문자로 출력할수 있습니다.
      (%d와 %c에 대한 자세한 설명은 '입력과 출력' 토픽에서 나옵니다.)
       
    위 프로그램은 문자형 변수를 이용하여 덧셈을 수행하는 예제입니다. 문자는 각 문자에 해당하는 아스키코드 값(정수)으로 바뀌어 문자형 변수에 저장되며 이를 이용하면 출력되는 서식을 어떻게 지정하는가에 따라 문자를 숫자로, 숫자를 문자로 출력하게 할 수 있습니다.(즉 %d는 문자'A'를 65로 출력하고 %c는 문자'A'를 그대로 출력합니다.)

    다음 토픽에서는 문자열형 변수와 논리변수에 대해 배워 봅시다.

    •  

    이 게시물을..
    N
    0
    0
    • 문자열형 변수와 논리변수a74654
    • 자료형(코딩의 이해)a74654
    • 0
      a74654

    a74654 님의 최근 글

    입력과 출력1 29 2025 09.26 변수명 지정과 C언어 프로그램의 구조 22 2025 09.26 문자열형 변수와 논리변수 10 2025 09.26 논리적 오류와 아스키코드 15 2025 09.26 자료형(코딩의 이해) 31 2025 09.25

    a74654 님의 최근 댓글

    작성 댓글이 없습니다.
    글쓴이의 서명작성글 감추기 
    댓글 쓰기 에디터 사용하기 닫기
    • view_headline 목록
    • 14px
    • 문자열형 변수와 논리변수
    • 자료형(코딩의 이해)
    • 목록
      view_headline
    × CLOSE
    전체 던파 5 뮤 18 천상비 프로젝트신루 5 아이온 18 어둠의전설 28 리니지2 7 크로노스 5 칼온라인 3 기타 194
    기본 (193) 제목 날짜 수정 조회 댓글 추천 비추
    기타 정렬 검색
    • 소스자료는 직접 올려주세요
      2017.06.06 - 16:16 665
    193
    기타
    입력과 출력1
    a74654 2025.09.26 - 01:09 29
    192
    기타
    변수명 지정과 C언어 프로그램의 구조
    a74654 2025.09.26 - 01:08 22
    191
    기타
    문자열형 변수와 논리변수
    a74654 2025.09.26 - 01:08 10
    기타
    논리적 오류와 아스키코드
    a74654 2025.09.26 - 01:07 15
    189
    기타
    자료형(코딩의 이해)
    a74654 2025.09.25 - 18:42 31
    188
    기타
    자료형 코딩의 이해
    a74654 2025.09.24 - 20:07 20
    187
    기타
    C언어 시작하기2
    a74654 2025.09.24 - 20:06 17
    186
    기타
    c언어 개발환경 만들기
    a74654 2025.09.24 - 20:05 19
    185
    기타
    c언어 기초 배우기
    a74654 2025.09.24 - 19:57 29
    184
    기타
    c언어 출력 인사법
    닉쿤이람이 2025.08.04 - 14:16 38
    183
    기타
    BDO 영어 클라이언트 인터페이스
    Yireeli 2024.04.13 - 08:54 68
    182
    기타
    포토샵 꿀팁
    아가입니다 2024.02.04 - 09:38 56
    181
    기타
    블소 아이템 코드 한글입니다,
    팡234 2023.12.03 - 22:33 285
    180
    기타
    블소 신석지급방법 입니다.
    팡234 2023.12.03 - 22:31 135
    179
    기타
    블소 아이템 코드 정리해봤습니다.
    팡234 2023.12.03 - 22:28 143
    178
    기타
    블소 아이디 생성방법입니다
    팡234 2023.12.03 - 00:22 149
    177
    기타
    최강의군단 신규(NightWalker)나이트워커 스크립트
    잼과베이컨 2023.07.31 - 18:16 238
    176
    기타
    이터널시티(EternalCity)1_ 스크립트
    잼과베이컨 2023.07.31 - 18:08 369
    175
    기타
    소울워커(SoulWorker) 스팀 asm 스크립트
    잼과베이컨 2023.07.31 - 18:05 158
    174
    기타
    아바(A.V.A) AOB, ASM 스크립트
    잼과베이컨 2023.07.31 - 17:59 77
    • 1 2 3 4 5 6 7 8 9 .. 10
    • / 10 GO
  • GAMEZONE
 GAMEZONE all rights reserved.
by OrangeDay