B2024001225 윤지선
2학기 2주차 예습과제 본문
C와 C++의 차이
C++
● 클래스를 갖는 C언어
● C언어의 문법을 모두 포함, 개선
● C문법은 포함하고 있지만 프로그래밍 스타일은 완전히 다름
● 객체지향 프로그래밍이 가능하도록 class위주로 다양한 문법 추가
- 캡슐화, 속성, 다형성
cout cin vs printf scanf
● iostream 파일을 프로그램에 포함하면 자동으로 열리는 자동 스트림(stream) 객체
# include <iostream>
cout<< //화면으로 출력하는 객체, printf()
cin >> //키보드로부터 데이터를 입력 받는 객체, scanf()
int a;
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 |