//작성 중인 포스트입니다.
CCL참고 13.10.23 KS Uni. CSLab kwon jinuk
C++을 처음 접하면서 정말 당황스러웠다. 출력부터 너무 다르고 시작과 동시에 포인터를 가르쳐주더라.
조금은 의아한 면이 많았지만, 그래도 어쩌겠는가. 지금은 시험기간....ㅍ_ㅍ
C++의 기초부터 정리하고 공부해야한다.
1. cout는 무엇인가.
C에서의 Printf 출력함수를 C++에서는 cout라고 한다.
#include <iostream> //cout를 사용하게 해준다. using namespase std;
int main() int_tmain(int argc, _TCHAR* argv[]){
cout<< "Hello, World! \n";
return 0; }
|
이제부터 기본적인
#include <iostream> using namespase std; |
부분은 생략한다.
2. endl은 무엇인가.
c에서 printf 줄바꿈 \n과 같은 것이다.
cout << 1 << 2 << 3 << 4; 출력:
cout << 1 << endl << 2 << endl << 3 << endl << 4; 출력 : 1 2 3 4 |
3. 변수의 선언과 값할당, 연산(평균내기)와 출력
1) 정수타입
//변수 선언과 값할당 int a; int b; int c; a = 87; b = 93; c = 100; int avg;
//연산 avg = (a+b+c)/3;
cout<<a<<b<<c<<avg; //출력 |
2) 실수타입
//변수 선언 f = 0.00123f; //일반적으로 실수 float는 끝에 f를 붙인다. |
3) 문자타입
char a; |
* 아스키코드 표 (ASCII 코드표)
10진 |
16진 |
문자 |
10진 |
16진 |
문자 |
10진 |
16진 |
문자 |
10진 |
16진 |
문자 |
10진 |
16진 |
문자 |
0 |
0 |
Null |
47 |
2F |
/ |
68 |
44 |
D |
89 |
59 |
Y |
110 |
6E |
n |
7 |
7 |
Bell |
48 |
30 |
0 |
69 |
45 |
E |
90 |
5A |
Z |
111 |
6F |
o |
8 |
8 |
BS |
49 |
31 |
1 |
70 |
46 |
F |
91 |
5B |
[ |
112 |
70 |
p |
9 |
9 |
Tab |
50 |
32 |
2 |
71 |
47 |
G |
92 |
5C |
\ |
113 |
71 |
q |
10 |
A |
LF |
51 |
33 |
3 |
72 |
48 |
H |
93 |
5D |
] |
114 |
72 |
r |
13 |
D |
CR |
52 |
34 |
4 |
73 |
49 |
I |
94 |
5E |
^ |
115 |
73 |
s |
32 |
20 |
공백 |
53 |
35 |
5 |
74 |
4A |
J |
95 |
5F |
_ |
116 |
74 |
t |
33 |
21 |
! |
54 |
36 |
6 |
75 |
4B |
K |
96 |
60 |
` |
117 |
75 |
u |
34 |
22 |
" |
55 |
37 |
7 |
76 |
4C |
L |
97 |
61 |
a |
118 |
76 |
v |
35 |
23 |
# |
56 |
38 |
8 |
77 |
4D |
M |
98 |
62 |
b |
119 |
77 |
w |
36 |
24 |
$ |
57 |
39 |
9 |
78 |
4E |
N |
99 |
63 |
c |
120 |
78 |
x |
37 |
25 |
% |
58 |
3A |
: |
79 |
4F |
O |
100 |
64 |
d |
121 |
79 |
y |
38 |
26 |
& |
59 |
3B |
; |
80 |
50 |
P |
101 |
65 |
e |
122 |
7A |
z |
39 |
27 |
' |
60 |
3C |
< |
81 |
51 |
Q |
102 |
66 |
f |
123 |
7B |
{ |
40 |
28 |
( |
61 |
3D |
= |
82 |
52 |
R |
103 |
67 |
g |
124 |
7C |
| |
41 |
29 |
) |
62 |
3E |
> |
83 |
53 |
S |
104 |
68 |
h |
125 |
7D |
} |
42 |
2A |
* |
63 |
3F |
? |
84 |
54 |
T |
105 |
69 |
i |
126 |
7E |
~ |
43 |
2B |
+ |
64 |
40 |
@ |
85 |
55 |
U |
106 |
6A |
j |
127 |
7F |
Del |
44 |
2C |
, |
65 |
41 |
A |
86 |
56 |
V |
107 |
6B |
k |
|
|
|
45 |
2D |
- |
66 |
42 |
B |
87 |
57 |
W |
108 |
6C |
l |
|
|
|
46 |
2E |
. |
67 |
43 |
C |
88 |
58 |
X |
109 |
6D |
m |
|
|
|
** 특수문자
다음줄넘기기 \n |
4) Bool 타입 (Bool 문자)
bool a; |
*** 참고로 Bool문자는 1bit이며 1이 참(True)값을 가지고 0이 거짓(False)값을 가집니다.
5) 형변환
int a = 3; float b; b = (float) a; //int -> float형으로 변환 |
int a; float b = 3.1f; a = (int) b; // float형에서 int형으로 변환 |
6) 연산자
목적) 관계연산자와 논리연산자가 함께 있으면 관계연산자가 우선.
bool b,b1; b = ((5>4) && (4>3)) || (4<8); |
**** 연산자 우선순위
7) 입력
(Java에 비해서 입력이 정말 간단한 듯 싶네요. ㅎㅎ)
cin >> a >> b; //cin으로 부터 a와 b를 받아들여라. |
8) 배열
int a[10]; //배열변수의 타입 배열변수 명 [배열 방(원소)의 개수] double a[20],b[30]; |
* 배열의 각 메모리(공간)은 인덱스 값으로 접근합니다. - 배열의 이름 [인덱스] = 값; * 인덱스는 0부터 시작합니다. - int a[3] -> a[0] , a[1], a[2] |
int a[5] = {100,88,92,40,76}; //배열을 정의하며 값을 할당해 줄 수도 있습니다. int a[] = {100,88,92,40,76}; //인덱스를 설정하지 않고 넣어도 인덱스가 자동으로 형성됩니다.
int a[]; //선언과 동시에 초기화 하지 않으면 불가능합니다. a[] = {100,88,92,40,76};
int a[5] = {100,88}; //인덱스의 크기와 맞지 않습니다. int b[100] = {0}; |
int kor[100]; // 배열의 선언 for(i=0; i<100; i++) // 반복문 |
* 배열의 메모리(인덱스) 크기를 알아보는 방법.
- 기초형태
- 사용
|
***** 배열을 사용할 때에는 인덱스 값을 항상 주의해야합니다. 배열의 대입은 원소끼리만 가능합니다.
9) 문자열 (char, string)
문자열 = char의 배열, string
char의 경우에는 항상 문자열의 끝에 '/0' (NULL 값)이 들어가야 한다.
- 기초형태
- 연습용 예제
|
10) 구조체
- 관련된 정보를 그룹화 한다.
- 객체 방식 접근은 struct와 class가 있다.
struct Student{ char name[30]; int id; char bloodType; double grade; }; Student good, bad; |
- 기초형태
- 기초예제
|
11) 포인터
- 기초형태 int *p=NULL; |
'C.E > C++' 카테고리의 다른 글
C++ 현재 출력중 화면 지우기(cls) (0) | 2013.12.04 |
---|