B2024001225 윤지선

2학기 2주차 예습과제 본문

2024년 2학기/C++ 프로그래밍

2학기 2주차 예습과제

윤지선 2024. 9. 9. 01:42

C와 C++의 차이

C++

● 클래스를 갖는 C언어

● C언어의 문법을 모두 포함, 개선

● C문법은 포함하고 있지만 프로그래밍 스타일은 완전히 다름

● 객체지향 프로그래밍이 가능하도록 class위주로 다양한 문법 추가

   - 캡슐화, 속성, 다형성

C언어와 C++ (왼쪽이 C / 오른쪽이 C++)

 

cout cin vs printf scanf

● iostream  파일을 프로그램에 포함하면 자동으로 열리는 자동 스트림(stream) 객체

# include <iostream>

cout<<  //화면으로 출력하는 객체, printf()

cin >>   //키보드로부터 데이터를 입력 받는 객체, scanf()

    int a; 

C언어와 C++의 변수 출력 차이

 

print() 함수의 여러 가지 사용 예

구분 사용법
문장(문자열 출력) printf( "소프트웨어" );
int형 숫자 출력 printf( "%d", 20 );
문장과 숫자 출력 printf( "나이는 %d 입니다.", 20 );
문장과 변수 출력(age)값 printf( "나이는 %d 입니다.", age );
여러 변수값 출력 printf( "나이 = %d, 몸무게 = %f", age,weight  );
문자 printf("%c", 'z');
문장(문자열) printf("%s", "software");

 

 

scanf()

지정된 형식에 따라 키보드로부터 데이터를 입력받는 함수

<C 언어>

scanf("형식 문자열", &변수1, &변수2, . . .)

int a;

scanf("%d", &a);    //여기서  a는 주소연산자이기 때문에 엔퍼센트(&)를 사용

printf("a=%d\n", a);

 

<C++ 언어>

cin  >>변수명;

int a;

cin>>a;  // 키보드 입력을 a에 저장

cout<<"a="<<a<<'\n' //화면에 순서대로 출력

 

scanf와 다르게 & 사용  안해도 됨! 

 

리터럴(literal)

literal: 문자 그대로

리터럴은 실행 중 그 값이 변하지 않는 상수

정수형(integer) 리터럴은 0을 포함한 소수점이 없는 수

부동소수점형(floating-point) 리터럴은 부동 소수형으로 3.75나 0.345e+02(0.345*10^2)

문자형(character) 리터럴은 하나(1바이트)의 문자

   - 한글은 한 글자가 2바이트를 차지하므로 문자 리터럴이 될 수 없음

   - 문자 리터럴 양쪽에는 작은 따옴표(' ')로 감싸야 함

   - 문자 리터럴 a를 C언어 프로그램 중에 쓸 때는 'a' 와 같이 씀

문자열(string) 리터럴은 두 개 이상의 문자 묶음

   - 문자열 리터럴을 C언어 문법 중에 사용할 때는 반드시 문자열 양쪽을 큰 따옴표(" ")로 감싸야 함

   - 문자열 리터럴 abc는 "abc"로, 대한민국은 "대한민국", 한은 "한"

   - 한글은 한 글자라고 해도 문자가 아닌 문자열 리터럴

     

 

정수(interger)형 리터럴(상수)

10진 정수 리터럴은 우리가 일상적으로 접하는 정수

8진 정수 리터럴은 0에서 7까지만 사용하는 8진수로 구성된 수

   - 8진수 앞에는 0(zero)를 더 씀

16진 정수 리터럴은 10진수 10에서 15에 해당하는 수를 표현하기 위해서 A(a)에서 F(f)까지의 영문자를 사용

   - 16진 숫자 앞에는 0(zero)x나 0x를 더 씀

● long형 상수의 경우에는 숫자 뒤에 대문자 L이나 소문자 l 을 더 씀

   - 0521은 8진, long 형 상수 15

 

 

실수(real)형 리터럴

부동소수점(floating point)상수

소수점을 포함하는 수로 정수형보다 더 크고 작은 수를 정확하게 표현할 수 있음

 십진형

   - 정수부, 소수점, 소수부로 구성

   - 소수점 앞 뒤에 0이 있을 경우에는 0은 생략할 수 있음

       - 100.0과 100, -0.7과 -.7같은 수

 지수형

   - 10진수의 소수부와 지수부는 e나 E, 부호, 지수로 구성

   - 지수는 정수형만 사용하고 부호를 생략하면 양수로 가정

 

문자(character)형 리터럴

● 줄여서 char형

  1바이트의 메모리에 저장

  작은 따옴표(' ')로 묶어 사용하는 하나의 문자

  실제 메모리에 저장될 때는 해당 ASCII 코드값으로 저장됨

  'A', 'z', '7'(숫자 7이 아님), '\ n', '\ 0'

   - 문자 A는 'A'로 표현

   - 그냥 7은 연산을 할 수 있는 숫자  7이지만 '7'은 연산이 불가능한 문자 7

   -  '\ n', '\ 0'등은 이스케이프 시퀀스 또는 확장 문자열이라고 하며 두 개의 문자로 보이지만 두 개의 문자가 하나의 의미를 갖는 문자상수

 

이스케이프 시퀀스

 

문자열(string) 리터럴

여러 개의 문자 모임

2개(한글은 한 개) 이상의 문자

큰 따옴표(" ") 로 묶어서 표현

각 문자가 한 바이트 씩 저장됨 

문자열 리터럴 "ABCD"는 각각 2진수로 메모리에 저장됨

문자열 리터럴에서는 문자열의 끝을 의미하는 NULL 문자가 제일 뒤에 자동적으로 붙여짐

  문자열 리터럴은 실행 파일의 일부로 포함됨

 

자료형

자료형(data type)은 처리, 저장하고자 하는 자료의 형태

기본자료형

   - 문자형, 정수형, 부동형, 열거형(enum)

유도 자료형(derived type)

   - 배열(array), 함수(function), 구조체(structure), 공용체(union), 포인터(pointer)

void형

   - 값이 없음을 표시하는 자료형

   - void play(void){  }

가장 많이 사용하는 대표적인 기본 자료형

   - 문자형(char, 1바이트), 정수형(int, 4바이트), 실수형(double, 8바이트)

  숫자나 문자 등을 메모리에 저장하려면 적당한 크기의 기억 장소를 할당

   - 128가지로 모두 표현할 수 있는 문자는 1바이트에 저장하면 충분

   - 숫자를 1바이트 공간에 저장한다면 부호가 없더라도 최대 255 (11111111)까지만 표현할 수 있으므로 문제가 발생

  자료의 형태에 따라서 적당한 자료형을 선택하여 저장함

변수 선언문
변수 선언 예
변수 선언과 초기화

선언문의 위치

● C 언어에서 모든 선언문은 실행문보다 앞에 있어야 했지만 C++에서는 실행문 다음에 선언문이 올 수 있음! 

'2024년 2학기 > C++ 프로그래밍' 카테고리의 다른 글

2학기 5주차 과제  (0) 2024.10.01
2학기 4주차 과제  (0) 2024.09.23
2학기 4주차 예습과제  (2) 2024.09.23
2학기 2주차 과제  (3) 2024.09.09
2학기 1주차 과제  (1) 2024.09.02