C++
C++ 프로그래밍 3주차
asd135
2023. 9. 20. 12:44
728x90
sizeof 연산자 예
#include <iostream>
using namespace std;
int main() {
int x; // 정수형 변수 x를 선언
int y[10]; // 정수형 배열 y를 선언, 크기는 10
cout << sizeof("I love you!") << endl; // "I love you!" 문자열의 크기를 출력. 널 종료 문자('\0')까지 포함된 길이이므로 13이 출력됩니다.
cout << sizeof("대한") << endl; // "대한" 문자열의 크기를 출력. 인코딩 방식에 따라 결과가 다르며, UTF-8 인코딩일 경우 한글 한 글자당 3바이트로 계산되어 총 9가 출력됩니다.
cout << sizeof(int) << endl; // int 형 자료의 크기를 바이트 단위로 출력. 일반적으로 대부분의 시스템에서는 4가 출력됩니다.
cout << sizeof(x) << endl; // 변수 x의 크기를 바이트 단위로 출력. x는 int 형 변수이므로 위와 마찬가지로 대부분의 시스템에서는 4가 출력됩니다.
cout << sizeof(y) << endl; // 배열 y의 전체 크기를 바이트 단위로 출력. y는 int 형을 원소로 가진 배열(크기:10) 이므로, 각 원소가 차지하는 공간인 4바이트 * 원소 개수인 10개 = 총 40바이트가 되어서, 대부분 시스템에서는 이 값인 '40' 이 출력됩니다.
return 0;
}
혼합 대입 연산자
#include <iostream>
using namespace std;
int main() {
int x=1;
x++;
++x;
x = x + 1;
x += 1;
return 0;
}
시프트 연산자
#include <iostream>
using namespace std;
int main() {
cout << (90 << 1) << endl; // 180
cout << (90 * 2) << endl; // 180
cout << (90 << 2) << endl; // 360
cout << (90 << 3) << endl; // 720
cout << (90 << 4) << endl; //1440
cout << (90 >> 1) << endl; //45
cout << (90 / 2) << endl;//45
cout << (90 >> 2) << endl;//22
cout << (90 >> 3) << endl;//11
return 0;
}
시프트 연산자는 곱하기나 나누기하는 데 사용하지만 cin, cout에서 사용하면 다른 의미가 된다.
연산자의 우선순위(Precedence)와 결합성(Associativity)
if문 예제
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
int main(void)
{
int score;
cout << "당신의 점수를 입력하고 Enter를 누르세요. ==>";
cin >> score; //점수를 입력받음
if (score < 60) {
cout << "60점 미만이므로 재수강해야 합니다.\n";
}
else {
cout << "60점 이상이므로 Pass입니다.\n";
}
return 0;
}
if문 다음에는 조건문이 오고 조건문이 참이면 중괄호 안에 있는 문장을 실행한다.
if문 switch문으로 바꾸기
#include <iostream>
using namespace std;
int main() {
int value;
cout << "1~3까지의 수를 입력하세요: ";
cin >> value;
if (value == 1)
cout << "1을 입력하셨습니다.\n";
else if (value == 2)
cout << "2를 입력하셨습니다.\n";
else if (value == 3)
cout << "3을 입력하셨습니다.\n";
else
cout << "잘못 입력하셨습니다.\n";
return 0;
}
#include <iostream>
using namespace std;
int main() {
int value;
cout << "1~3까지의 수를 입력하세요: ";
cin >> value;
switch (value)
{
case 1:
cout << "1를 입력하셨습니다.\n";
break;
case 2:
cout << "2를 입력하셨습니다.\n";
break;
case 3:
cout << "3을 입력하셨습니다.\n";
break;
default:
cout << "잘못 입력하셨습니다.\n";
}
return 0;
}
switch case문을 사용하는 언어
C, C++, C#, Java, JavaScript, PHP, Swift, Objective-C, Prelm Ruby, Go
Python은 switch case 문을 직접 지원하지 않는 대신 딕셔너리(dictionary) 또는 if-elif-else 구조를 사용하여 비슷한 기능을 구현 할 수 있다.
for문 예제
#include <iostream>
using namespace std;
int main()
{
for (int i = 0; i < 10; i++) {
cout<< i+1 << ":C++ " << endl; // C++ 10번 출력
}
return 0;
}
for문으로 이름 10번 찍기
#include <iostream>
#include <iomanip> //setw()
int main()
{
for (int i = 1; i <= 10; i++) {
std::cout << std::setw(2) << i << " : 김건우\n"; // setw를 사용할 때는 <iomanip> include 해야된다.
}
}
#include <iostream>
#include <iomanip> //setw()
using namespace std;
int main()
{
for (int i = 1; i <= 10; i++) {
cout << setw(2) << i << " : 김건우\n";
}
}
#include <iostream>
using namespace std;
int main()
{
for (int i = 1; i <= 10; i++) {
cout.width(2); // 다음에 출력되는 하나(i)를 두칸에 출력
cout << i << " : 김건우\n";
}
}
#include <iostream>
int main()
{
for (int i = 1; i <= 10; i++) {
std::cout.width(2); //다음에 출력되는 하나(i)를 두칸에 출력
std::cout << i << " : 김건우\n";
}
}
setw(), std::cout.width() 출력할 필드의 너비를 결정
ASCII 출력
#include <iostream>
using namespace std;
int main() {
for (int i = 0; i < 128; i++)
cout << i << "=" << static_cast<char>(i) << "\t";
return 0;
}
계산기
#include <iostream>
int main(void)
{
char op;
int num1, num2;
for (; ; ) //추가
{ //추가
std::cout << "끝내려면 0+0을 입력하세요\n";
std::cin >> num1 >> op >> num2;
if (num1 == 0 && num2 == 0) break; //추가
switch (op) {
case '+':
std::cout << "덧셈 결과는" << num1 + num2;
break;
case '-':
std::cout << "뺄셈 결과는" << num1 - num2;
break;
case '*':
std::cout << "곱하기 결과는" << num1 * num2;
break;
case '/':
std::cout << "나누기 결과는" << (double)num1 / num2;
break;
default:
std::cout << "다시 입력하세요\n";
break;
}// switch~case문 끝
} //추가, for문 끝
return 0;
}
메뉴를 가지고 있는 프로그램의 기본 틀
#include <iostream>
using namespace std;
int main() {
int menu;
do {
cout << "\n메뉴\n";
cout << "1: 추가\n";
cout << "2: 삭제\n";
cout << "3: 저장\n";
cout << "4: 수정\n";
cout << "원하는 작업을 선택하세요 -> ";
cin >> menu;
} while (!(menu >= 1 && menu <= 4));
cout << menu << "를 선택했습니다.\n";
return 0;
}
이 소스들은 한성현 교수님의 소스를 일부 편집, 수정하여 만들었습니다.