C++의 할당 과 입 출력 문 구 를 자세히 설명 합 니 다.

5085 단어 C++
C++할당 문 설명
C++의 할당 문 구 는 다른 고급 언어의 할당 문 구 를 가지 고 있 습 니 다.그러나 다른 것 은 C++의 할당 번호"="연산 자 입 니 다.쓸 수 있 습 니 다.

  a=b=c=d;
다른 대부분의 언어 에서 할당 번 호 는 연산 자가 아니 라 위의 표기 법 은 비합법적 이다.
할당 식 과 할당 문 에 대한 개념C++에서 할당 표현 식 은 다른 표현 식 에 포 함 될 수 있 습 니 다.예 를 들 어:

  if((a=b)>0) cout<<"a>0"<<endl;
문법 에 따 르 면 if 뒤의()안 은 하나의 조건 이다.현재 x 의 위치 에서 할당 표현 식'a=b'를 바 꾸 었 습 니 다.그 역할 은 먼저 할당 연산(b 의 값 을 a 에 부여)을 한 다음 에 a 가 0 보다 큰 지 여 부 를 판단 하 는 것 입 니 다.예 를 들 어 0 보다 크 면 cot0> if((a=b;)>0) cout<<"a>0"<<endl; if 의 조건 에 할당 문 구 를 포함 할 수 없 기 때 문 입 니 다.C++는 할당 문 구 를 할당 표현 식 과 구별 하여 표현 식 의 종 류 를 추가 하여 다른 언어 에서 실현 하기 어 려 운 기능 을 실현 할 수 있 습 니 다.C++cout 와 출력 cin 입력입 출력 은 C++언어의 정식 구성 성분 이 아 닙 니 다.C 와 C++자 체 는 입 출력 에 전문 적 인 구문 구 조 를 제공 하지 않 았 다.입 출력 은 C++자체 가 정의 하 는 것 이 아니 라 컴 파일 시스템 이 제공 하 는 I/O 라 이브 러 리 에서 정의 합 니 다.C++의 출력 과 입력 은'흐름'(stream)방식 으로 이 루어 집 니 다. 스 트림 대상 cin,cout,스 트림 연산 자 에 대한 정의 등 정 보 는 C++의 입 출력 스 트림 라 이브 러 리 에 저 장 됩 니 다.따라서 프로그램 에서 cin,cout,스 트림 연산 자 를 사용 하려 면 전처리 명령 을 사용 하여 헤더 파일 stream 을 이 파일 에 포함 시 켜 야 합 니 다. #include <iostream> cin 과 cout 는 C++자체 가 제공 하 는 문구 가 아니 지만 헷 갈 리 지 않 는 상황 에서 서술 편 의 를 위해 cin 과 흐름 에서 연산 자'>'를 추출 하여 입력 을 실현 하 는 문 구 를 입력 문 또는 cin 문 구 라 고 부 르 고,cout 와 흐름 에서 연산 자'<'를 삽입 하여 출력 을 실현 하 는 문 구 를 출력 문 또는 cout 문 구 라 고 부른다.C++의 문법 에 따 르 면 어떤 조작 을 실현 할 수 있 고 마지막 에 분점 으로 끝 나 는 것 은 모두 문장 이다.입력 흐름 과 출력 흐름 의 기본 동작cout 문장의 일반 형식 은: cout<<<표현 식 1<<표현 식 2<...<표현 식 n; cin 문장의 일반 형식 은: cin>>변수 1>>변수 2>...>>변수 n; 스 트림 대상 을 정의 할 때 시스템 은 입 출력 스 트림 의 데 이 터 를 임시 저장 하기 위해 메모리 에 버퍼 를 엽 니 다.cout 문장 을 실행 할 때,출력 버퍼 가 가득 차 거나 cout 문장의 endl(또는',ends,flush)을 만 날 때 까지 삽 입 된 데이터 순 서 를 출력 버퍼 에 저장 합 니 다.이 때 버퍼 에 있 는 데 이 터 를 함께 출력 하고 버퍼 를 비 웁 니 다.출력 흐름 의 데 이 터 는 시스템 의 기본 장치(일반적으로 모니터)에서 출력 합 니 다.하나의 cout 문 구 는 몇 줄 로 나 눌 수 있다....와 같다    cout<<"This is a simple C++ program."<<endl; 되다 cout<<"This is"/줄 끝 에 분점 없 음 주의 <<"a C++ " <<"program." <<endl; //문장 마지막 에 분점 이 있다. 여러 개의 cout 문장,즉 cout<<"This is "; //문장의 끝 에 분점 이 있다. cout <<"a C++ "; cout <<"program."; cout<<endl; 이상 3 가지 상황 의 출력 은 모두 This is a simple C++ program. 다음 과 같이 연산 자'<'를 삽입 하여 여러 출력 항목 을 삽입 할 수 없습니다. cout<<a,b,c; //오류,한 번 에 여러 개 삽입 할 수 없습니다. cout<<a+b+c; //정확 합 니 다.이것 은 표현 식 입 니 다. cout 로 출력 할 때 사용 자 는 컴퓨터 에 어떤 형식 으로 출력 하 는 지 알 릴 필요 가 없습니다.시스템 은 출력 데이터 의 유형 을 자동 으로 판별 하여 출력 된 데 이 터 를 해당 하 는 형식 으로 출력 합 니 다.a 를 int 형 으로 정의 하고 b 를 float 형,c 를 char 형 으로 정의 하면 cout<<a<<' '<<b<<' '<<c<<endl; 다음 형식 으로 출력 합 니 다: 4 345.789 a cout 와 유사 하 게 하나의 cin 문 구 는 몇 줄 로 나 눌 수 있 습 니 다....와 같다 cin>>a>>b>>c>>d; 되다 cin>>a//줄 끝 에 분점 없 음 주의 >>b//이렇게 쓰 면 선명 해 보일 수 있 습 니 다. >>c >>d; 쓰다 cin>>a; cin>>b; cin>>c; cin>>d; 상기 3 가지 상황 은 모두 키보드 에서 입력 할 수 있 습 니 다. 1 2 3 4 L 여러 줄 로 나 누 어 데 이 터 를 입력 할 수도 있 습 니 다: 1L 2 3L 4L cin 으로 입력 할 때 시스템 도 변수의 유형 에 따라 입력 흐름 에서 해당 하 는 길이 의 바이트 를 추출 합 니 다.있다 면 char c1, c2; int a; float b; cin>>c1>>c2>>a>>b; 하면,만약,만약... 1234 56.78L 주의:34 뒤에 56.78 과 분리 할 수 있 도록 빈 칸 이 있어 야 합 니 다.다음 형식 으로 입력 할 수도 있 습 니 다: 1,2,34,56.78L. cin 문 구 를 사용 하여 빈 칸 문자 와 리 턴 줄 바 꿈 자 를 문자 변수 로 입력 할 수 없습니다.건 너 뜁 니 다.빈 칸 문자 나 Enter 줄 바 꿈 문자(또는 다른 키보드 의 문자)를 문자 변수 에 입력 하려 면 getchar 함 수 를 사용 할 수 있 습 니 다.스 트림 데 이 터 를 조직 적 으로 입력 할 때 cin 구문 에서 변수의 유형 을 자세히 분석 하고 해당 하 는 형식 으로 입력 해 야 합 니 다.그렇지 않 으 면 오류 가 발생 하기 쉽 습 니 다.입력 흐름 과 출력 흐름 에 제어 자 를 사용 합 니 다.위 에서 소개 한 것 은 cout 와 cin 을 사용 할 때의 기본 형식 입 니 다.그러나 때때로 사람들 은 출력 을 입력 할 때 특수 한 요구 가 있다.예 를 들 어 출력 실 수 를 규정 할 때 필드 폭 을 정 하고 두 개의 소수 만 유지 하 며 데 이 터 를 왼쪽으로 또는 오른쪽으로 정렬 하 는 등 이다.C++는 입 출력 흐름 에 사용 되 는 제어 부(어떤 책 에 서 는 조작 부 라 고 함)를 제공 합 니 다.표 3.1 참조. 주의해 야 할 것 은 제어 부 호 를 사용 하면 프로그램 단위 의 시작 에 iostream 헤더 파일 을 추가 하 는 것 외 에 iomanip 헤더 파일 도 추가 해 야 합 니 다.예 를 들 어 출력 이중 정밀도 수: double a=123.456789012345; // 초기 값 1) cout<2) cout<3) cout<4) cout<< setiosflags(ios∷fixed);  출력:123.4567895) cout<6) cout<7) cout<다음은 정수 출력의 예 입 니 다. int b=123456; // b 에 초기 값 부여 1) cout<2) cout<3) cout<4) cout<5) cout<6) cout<여러 cout 구문 에서 같은 setw(n)를 사용 하고 setiosflags(ios:right)를 사용 하면 각 줄 의 데이터 오른쪽 정렬 을 실현 할 수 있 습 니 다.같은 정밀도 가 지정 되면 상하 소수점 정렬 을 실현 할 수 있 습 니 다.[예]각 줄 의 소수점 을 정렬 하 다. #include <iostream> #include <iomanip> using namespace std; int main( ) { double a=123.456,b=3.14159,c=-3214.67; cout<<setiosflags(ios::fixed)<<setiosflags(ios::right)<<setprecision(2); cout<<setw(10)<<a<<endl; cout<<setw(10)<<b<<endl; cout<<setw(10)<<c<<endl; return 0; } 출력 은 다음 과 같 습 니 다: 123.46(필드 폭 은 10,오른쪽 정렬,두 자리 소수) 3.14 -3214.67 먼저 지정 형식 출력 을 통일 적 으로 설정 하고 두 개의 소수,오른쪽 정렬 을 취한 다.이 설정 들 은 그 후의 출력 에 모두 유효 합 니 다(다시 설정 하지 않 는 한).setw 는 그 후의 출력 항목 에 만 유효 하기 때문에 a,b,c 를 출력 하기 전에 setw(10)를 써 야 합 니 다.

좋은 웹페이지 즐겨찾기