C++프로 그래 밍 의 변수 에 대한 자세 한 지식

5963 단어 C++변량
프로그램 이 실행 되 는 동안 그 값 을 변경 할 수 있 는 양 을 변수 라 고 합 니 다.하나의 변 수 는 이름 이 있어 야 하 며 메모리 에 일정한 저장 소 를 차지 하고 이 저장 소 에 변 수 를 저장 해 야 합 니 다.변수 이름과 변수 값 이라는 두 개의 서로 다른 개념 을 구분 하 는 데 주의 하 십시오.그림 참조.

변수 이름 규칙
먼저 식별 자의 개념 을 소개 하 다.다른 고급 언어 와 마찬가지 로 표지 변수,기호 상수,함수,배열,유형 등 실체 이름 에 사용 되 는 유효한 문자 배열 을 식별 자(identifier)라 고 합 니 다.쉽게 말 하면 식별 자 는 이름 이다.변수 이름 은 식별 자의 일종 으로 변수의 이름 은 식별 자의 이름 규칙 을 따라 야 합 니 다.
C++규정 식별 자 는 알파벳,숫자,밑줄 세 가지 문자 로 만 구성 되 고 첫 번 째 문 자 는 알파벳 이나 밑줄 로 해 야 합 니 다.아래 에 열거 한 것 은 합 법 적 인 식별 자 이자 합 법 적 인 변수 이름 입 니 다.

sum, average, total, day, month, Student_name, tan, BASIC, li_ling
다음은 비합법적 인 식별 자 와 변수 이름 입 니 다.

M.D.John, $123, #33, 3G64, Ling li, C++, Zhang-ling, U.S.A.
주의:C++에 서 는 대문자 와 소문 자가 서로 다른 문자 로 여 겨 집 니 다.따라서 sum 과 SUM 은 두 개의 서로 다른 변수 이름 이다.일반적으로 변수 명 은 소문 자로 사람들의 일상 습관 과 일치 하여 가 독성 을 높 인 다.변수 명 은 C++의 키워드,시스템 함수 명,클래스 명 과 같 을 수 없 음 을 주의해 야 합 니 다.외국 소프트웨어 개발 에 있어 서 변수 앞 에 알파벳 을 추가 하여 이 변수의 유형 을 나타 내 는 습관 이 있 습 니 다.예 를 들 어 icount 는 이것 이 전체 변수 임 을 나타 내 고 cSex 는 이것 이 문자 형 변수 임 을 나타 냅 니 다.
C++는 식별 자의 길이(문자 개수)를 규정 하지 않 았 지만 구체 적 인 C 컴 파일 시스템 마다 규정 이 있 습 니 다.어떤 시스템 은 32 개의 문 자 를 취하 고 초과 한 문 자 는 식별 되 지 않 는 다.
정의 변수
C++언어 에서 사용 하 는 모든 변 수 를 강제 적 으로 정의 해 야 합 니 다.즉,'먼저 정의 하고 나중에 사용 해 야 합 니 다'.예 를 들 어 2.2 와 예 2.3 처럼.변 수 를 정의 하 는 일반적인 형식 은:
    변수 형식  변수 명 표 열;
변수 명 표 열 은 하나 이상 의 변수 이름 의 서열 을 가리킨다.예:

 float a,b,c,d,e;

a,b,c,d,e 를 단일 정밀도 형 변수 로 정의 하고 각 변수 간 에 쉼표 로 구분 하 며 마지막 으로 분점 입 니 다.변 수 를 정의 할 때 초기 값 을 지정 할 수 있 습 니 다.예:

 float a=83.5, b, c=64.5, d=81.2, e; //   a,c,d     ,b d     
C 언어 는 변수의 정 의 를 모든 실행 문 앞 에 두 어야 하 며,C++는 제한 을 풀 고 이 변 수 를 처음 사용 하기 전에 만 정의 하면 된다.즉,그것 은 문장의 중간 에 나타 날 수 있다.예 를 들 어:

 int a; //    a(   a    )
 a=3; //    , a  
 float b; //    b(   b    )
 b=4.67; //    , b  
 char c; //    c(   c    )
 c='A'; //     , c  
C++변수 에 대한 강제 정 의 를 요구 하 는 목적 은:
1)미리 정의 되 지 않 은 경우 변수 이름 으로 사용 하지 않 으 면 프로그램 에서 변수 이름 을 정확하게 사용 할 수 있 습 니 다.예 를 들 어 성명 부분 에 쓰 면

 int student;
실행 문 에서 statent 로 잘못 썼 습 니 다....와 같다

 statent=30;
컴 파일 할 때 statent 가 정의 되 지 않 은 것 을 검사 하여 오류 로 처리 합 니 다."변수 statent 가 설명 되 지 않 았 음"정 보 를 출력 하면 사용자 가 오 류 를 발견 할 수 있 고 변수 이름 을 사용 할 때 오류 가 발생 하지 않도록 합 니 다.
2)모든 변 수 는 하나의 확정 형식 으로 지정 되 어 컴 파일 할 때 해당 하 는 저장 부 를 분배 할 수 있다.a 와 b 를 int 형 으로 지정 하면 일반적인 컴 파일 시스템 은 각각 4 개의 바이트 를 분배 하고 정수 방식 으로 데 이 터 를 저장 합 니 다.
3)모든 변 수 를 특정한 유형 에 속 하도록 지정 하면 컴 파일 할 때 이 변수 가 진행 하 는 연산 이 합 법 적 인지 확인 할 수 있 습 니 다.예 를 들 어 정형 변수 a 와 b 는 잉여 연산 을 할 수 있다.

 a%b
%는'잉여'로 a/b 의 여 수 를 얻 었 다.a 와 b 를 실제 변수 로 지정 하면'잉여'연산 을 허용 하지 않 고 컴 파일 할 때 오류 정 보 를 제공 합 니 다.
변수 에 초기 값 을 부여 합 니 다.
변 수 를 정의 할 때 초기 값 을 부여 하 는 것 을 변수 초기 화 라 고 합 니 다.초기 값 은 상수 일 수도 있 고 확정 값 이 있 는 표현 식 일 수도 있 습 니 다....와 같다

 float a, b=5.78*3.5, c=2*sin(2.0);
a,b,c 를 단일 정밀도 부동 소수점 형 변수 로 정의 하고 b 를 5.78*3 으로 초기 화 하 며 c 를 2*sin(2.0)으로 초기 화 하 였 으 며,컴 파일 연결 후 표준 함수 라 이브 러 리 에서 사인 함수 sin(2.0)의 값 을 얻 었 기 때문에 변수 c 는 정확 한 초기 값 이 있 습 니 다.변수 a 가 초기 화 되 지 않 았 습 니 다.
변수 에 초기 값 을 부여 하지 않 으 면 이 변수의 초기 값 은 예측 할 수 없 는 값 입 니 다.즉,이 저장 장치 의 당시 내용 은 모 릅 니 다.예 를 들 어 a 와 b 에 값 을 부여 하지 않 으 면 출력 문 구 를 실행 합 니 다.

 cout<<a<<" "<<b<<" "<<c<<endl;
이 가능 하 다,~할 수 있다,...

 1.48544e-38 15 1.81858 (          )
초기 화 는 컴 파일 단계 에서 이 루어 진 것 이 아니 라 프로그램 이 실 행 될 때 이 함 수 를 실행 할 때 초기 값 을 부여 하 는 것 으로 할당 문 구 를 실행 하 는 것 과 같 습 니 다.예 를 들 면:

 int a=3;
다음 두 문장 에 해당 합 니 다.

 int a; //   a     
 a=3; //     , 3  a
여러 변수 에 같은 초기 값 을 부여 하려 면 각각 지정 해 야 합 니 다.쓸 수 없습니다.

 float a=b=c=4.5;
써 야 한다

 float a=4.5, b=4.5, c=4.5;
혹시

 float a, b, c=4.5;
 a=b=c;
C++변수
변 수 를 정의 할 때 키워드 const 를 추가 하면 변수의 값 은 프로그램 이 실행 되 는 동안 변 하지 않 습 니 다.이 변 수 는 상수 변수(constant variable)라 고 합 니 다.예 를 들 면:

 const int a=3; // const             ,       3
상 변 수 를 정의 할 때 초기 화(즉 값 지정)를 동시에 해 야 합 니 다.그 후에 값 을 바 꿀 수 없습니다.상수 변 수 는 할당 번호 의 왼쪽 에 나타 날 수 없습니다.예 를 들 어 위의 줄 은 다음 과 같이 쓸 수 없습니다.

 const int a;
 a=3; //        
일반 변 수 를 표현 식 으로 초기 화 할 수 있 습 니 다.예 를 들 어

 const int b=3+6, c=3*cos(1.5); //b      9,c      3*cos(1.5)
그러나 시스템 표준 수학 함수 cos 를 사 용 했 기 때문에 이 함수 와 관련 된 정 보 를 포함 하 는 헤더 파일'cmath'(또는 math.h)를 이 프로그램 단위 에 포함 시 켜 야 합 니 다.이 프로그램 단위 의 시작 에 아래\#include 명령 을 추가 할 수 있 습 니 다.

 #include <cmath>
혹시

 #include <math.h>
변수의 값 은 변 할 수 있 을 것 입 니 다.어떻게 값 이 고정된 양 이 고 변수 라 고 부 릅 니까?사실은 컴퓨터 가 실현 하 는 측면 에서 볼 때 변수의 특징 은 변수 이름 으로 명 명 된 저장 장치 가 존재 하 는 것 이다.일반적인 상황 에서 저장 장치 의 내용 은 변화 할 수 있다.상수 변수 에 있어 서 이 변 수 를 바탕 으로 한 정 된 것 이 아 닙 니 다.저장 장치 의 값 은 변 화 를 허용 하지 않 습 니 다.따라서 상 변 수 는 읽 기 전용 변수(read-only-variable)라 고도 부른다.\#define 명령 으로 정 의 된 기호 상수 와 const 로 정 의 된 상수 변 수 를 구별 하 십시오.기호 상수 는 하나의 기호 로 문자열 을 대체 할 뿐 미리 컴 파일 할 때 모든 기호 상수 를 지정 한 문자열 로 바 꿉 니 다.형식 이 없고 메모리 에 기호 상수 로 명 명 된 저장 장치 가 존재 하지 않 습 니 다.일반적인 변 수 는 변수의 특징 을 가지 고 있 으 며,메모리 에 이름 을 가 진 저장 장치 가 존재 하 며,size of 연산 자 로 길 이 를 측정 할 수 있 습 니 다.일반 변수 와 유일한 차이 점 은 지정 변수의 값 을 바 꿀 수 없다 는 것 입 니 다.\#define 명령 으로 기호 상수 가 C 언어 에서 사용 하 는 방법 이 라 고 정의 합 니 다.C++를 유지 하 는 것 은 C 와 호 환 하기 위해 서 입 니 다.C++의 프로그래머 들 은 보통 const 로 변 수 를 정의 하 는 것 을 좋아한다.두 사람 이 실현 하 는 방법 은 다 르 지만 사용 하 는 측면 에서 볼 때 하나의 식별 자 를 사용 하여 상수 라 고 볼 수 있다.어떤 책 에 서 는 const 로 정 의 된 상수 변 수 를 상수 라 고도 부 르 지만 독 자 는 그것 과 기호 상수 의 차 이 를 이해 해 야 한다.

좋은 웹페이지 즐겨찾기