#include <stdio.h>

int main() {

return 0;

}

for문

for 초기문; 조건문; 증감문;

for ( i = 0; i < 10; i++)

순으로 작성함 조건문은 스킵가능하며 for문 안에 if (조건) break;로

루프 탈출 가능

printf(출력할 문구);

루프 시 실행할 명령어를 안에 모두 적는다.

}

이중 , 삼중 for문도 가능하나 삼중까지는 CPU 과부하로 인해 거의 사용하지 않으며 왠만하면 2중으로 풀어서 사용하는게 좋다.

단항연산자 : --, ++ (증감, 증가)

++i , i++ 앞에 달리냐 뒤에 달리냐에 따라 처리하는 방법도 다름

후증가연산자 i++ 출력 후 증가 처리함

선증가연산자 ++i 증가 후 출력함(데이터를 덮어씌우므로 조금 더 빠름)

while문

whil(조건) {

명령문;

증감문;

}

식으로 사용한다.

do ~ while문 do문을 반드시 한번 실행한 후 반복문을 실행,

특이사항으로 반복이 실행하기전 무조건 do문 부분을 한번 실행한다.

do {

명령문;

} while (조건) ;

조건이 false일때 루프 탈출

참고자료 : Web Club :: 반복문(for문, while문, do-while문) (tistory.com)

'수업 일기장' 카테고리의 다른 글

수업 일기장 #피라미드 만들기  (0) 2021.01.15
수업 일기장 #반복문 활용 및 const  (0) 2021.01.15
수업 일기장 #조건문  (0) 2021.01.15
수업 일기장 #자료형  (0) 2021.01.15
수업 일기장 #Hello World  (0) 2021.01.15

조건문(Condition), 분기문(Branch)

변수는 만드는 즉시 초기화를 해줘 쓰레기값이 입력되는걸 막자

아직 정해져있지 않는 값이라도 해도 0이라는 값을 입력해주자

if문

if (조건) - 조건이 참(Ture)이면 아래 내용을 실행한다.

{} 중괄호가 없을 시 한줄까지만 표시

논리연산 : Ture(참), False(거짓) , 프로그래밍에선 거짓(0) 나머진 참

비교연산자 : == 같으면, != 다르면, <, >, <=, >= !:부정

if (hp >= 1 && hp<= 29) { // hp란 변수가 1보다 크거나 같고 29보다 작거나 같으면

printf("피 부족\n"); // 피 부족이라는 내용을 출력

} else { // 그외

printf("死\n"); // 死 출력

}

 

논리연산자(AND, OR, XOR..) (&&, ll , .. )

우선 순위 && > ll 소괄호 구분 필수

if문 간단 구조

if ~ else if ~ else

Swtich문

int num = 0; -변수-

switch (num) { -값-

case 0: -조건-

printf("num is 0\n); -실행-

break; -조건이 맞을 시 {} 중괄호를 벗어남-

case 1: -이후 반복-

printf("num is 1\n);

break;

default: -찾는 조건이 없을 시-

printf("num is %d\n", num);

break;

}

int num = 0; // 변수(조건에 쓰일 변수)

switch (num) { // 조건(찾아야할 조건)

case 0: // 조건(검사할 조건)

printf("num is 0\n); // 실행(검사 후 맞는 조건 일 시 실행)

break; // 조건이 맞을 시 } 중괄호를 벗어남

case 1: // 반복

printf("num is 1\n);

break;

default: // 마지막까지 찾는 조건이 없을 시

printf("num is %d\n", num);

break;

}

if와 swtich문 차이점

Swtich문은 조건에 변수 사용이 불가능하고 정수 사용 가능

그럼으로 간단하고 조건이 명확한 경우 switch문을 사용 그외 if문을 사용

Tip.

프로그래밍 타법 정리

헝가리안법 - 변수 이름 앞에 자료형을 표기

낙타법 - 변수 구문마다 대문자 사용

ex) int iHealMax = 100;

int fHealMax = 100.0f;

뱀법 - 다 소문자 사용 띄우기마다 _를 사용

ex)float heal_max = 100.0f;

int heal_max = 100;

'수업 일기장' 카테고리의 다른 글

수업 일기장 #피라미드 만들기  (0) 2021.01.15
수업 일기장 #반복문 활용 및 const  (0) 2021.01.15
수업 일기장 #반복문  (0) 2021.01.15
수업 일기장 #자료형  (0) 2021.01.15
수업 일기장 #Hello World  (0) 2021.01.15

'=' 복사 대입 연산자

자료형 변수 = 대입할 값

char c = 'a';

아스키 코드로 변환 하여 메모리에 기록 함

1Byte

short s = 3;

int 메모리 반임 자주 사용 안함

2Byte

int i = 30;

integer(정수), 연산이 제일 빠름 이유는 CPU 단위에 기준으로 int 값이 정해지기 때문

4Byte

long l = 300;

int보다 큼 메모리는 동일한데 이유는 예전에는 차이났는데 비트 체제가 바끼면서 같아짐 말그대로

int 쓰지 잘 안씀

4Byte

long long ll = 3000;

int 메모리 두배 사용

8Byte

float f =3.14f;

Floating-Point, 부동소수점 f붙이고 해야 데이터 손실이 안남 이유는 f를 안 붙일 시 더블의 메모리인 8Byte를 잡고 남은 4Byte는 손실남

4Byte

double d = 3.14;

Duble Precision Floating-Point 두배정밀도 부동소수점

8Byte

sizeof - 데이터 크기를 반환하는 명령어

자료형의 특징

Ascii Table (0~127, 128가지) A:65 a:97 위 c 변수에 입력되어있는 char 자료형은 메모리에 97이라는 숫자로 입력되어있다.

128 64 32 16 8 4 2 1 - 2진법

0 0 0 0 0 0 0 0 - 컴퓨터 표기법

음수의 표현

컴퓨터 계산 원래 계산

00000101 5

+ 10000101 -5

----------------- -----

10001010 0

-10 틀린 답이 나옴

그래서 2진법 계산은 2의 보수법을 사용

2의 보수법 *보수:반대되는 값

00000101 => 5

11111010 => 1의 보수법 (반대 값)

11111011 => +1 2의 보수법 (+1)

00000101

11111011

--------------

00000000 으로 0이란 답이 나옴 맨앞 1은 Memory Overflow로 메모리를 벗어난 숫자는 버려짐

-----

실수의 표현

정밀도가 높을 수록 실수를 길게 표현 가능

3 . 14 입력한 실수

부호(+-) l 정수부(m) l 실수부

ㅣ00000000ㅣ00000011ㅣ00000000ㅣ0001110ㅣ 실제 메모리에 들어가있는 실수

+-(1.m) * 2^e-127 - 컴퓨터의 실수 표현 수식

 

#include 

int main() {
float sum = 0.0f;

for (int i = 0; i < 1000; i++) {

sum += 0.001f;
}
return 0;
}

출력 시 0.999991 실제 답 : 1 이 차이를 부동소수점 오차라고 한다.

연산자(Operator)

사칙 연산

+, -, *, / 더하기 빼기 곱하기 나누기순으로 속도가 빠르다.

ex) /2 => *0.5 곱하기 더 빠름

연산자 우선 순위

*/% > +- 답이 다르면 안되니 () 소괄호로 구분하여 묶어준다.

복합 연산자

+= , -=, *=, /=

ex) iResult *= 2; 풀이 ) iResult = iResult *2;

자료형의 승격

float iDiv = 5 / 2 ; 계산 시 소숫점이 날라감

이유 : int값으로 저장되었다가 불러와 계산하여 int값인 값이 나오며 그 답을 다시 float 값으로 바꿔 표기해서

float fDiv = 5.0f / 2.0f 이런식으로 계산해야하지만

float fDiv = 5.0f / 2 이렇게 계산하여도 답은 같다.

이유: 정밀도가 높은것에 따라서 정밀도가 떨어지는 자료형쪽이 승격한다.

이걸 자료형의 승격이라고 한다.

% : 나머지 연산자 (정수만 가능)

iResult = 8%3;

'수업 일기장' 카테고리의 다른 글

수업 일기장 #피라미드 만들기  (0) 2021.01.15
수업 일기장 #반복문 활용 및 const  (0) 2021.01.15
수업 일기장 #반복문  (0) 2021.01.15
수업 일기장 #조건문  (0) 2021.01.15
수업 일기장 #Hello World  (0) 2021.01.15

비주얼 스튜디오 설치 - c++ 게임 체크 , C++ 설치 체크 - 빈 솔루션 - ctrl + Shift + A (새항목 단축키) C++ 파일 .cpp를 .c로 수정 c언어를 사용하기 때문에

줄 번호 표기 방법 : 도구 - 옵션 , 텍스트 편집기 - 언어 선택 - 줄 번호

코드 실행 : Ctrl + F5 (저장도 같이해줌)

빌드 : Ctrl + Shift + B

문장 이해

#~ : 전처리기(Pre-Processing) 무엇을 하기 전에 처리할 일이 있다.

참고자료: [C언어기초] 전처리기란? (tistory.com)

#~ : 뒤에오는 명령어를 의미하는것 같음

<> : C또는 C++가 설치되어 있는 경로 (현재 코드에선 stdio.h라는 이름, 파일 경로)

stdio : Standard Input/Output (표준 입력/출력) (이번 코드에서 전처리기가 미리 실행해야하는 파일 이름)

.h : Header File (확장명)

 

#include <stido.h>	// 전처리기가 stdio.h라는 파일을 불러옴

void main() {	// int main()을 넣어야함
printf("Hello, World!\n");	// 출력
return 0;
}

'수업 일기장' 카테고리의 다른 글

수업 일기장 #피라미드 만들기  (0) 2021.01.15
수업 일기장 #반복문 활용 및 const  (0) 2021.01.15
수업 일기장 #반복문  (0) 2021.01.15
수업 일기장 #조건문  (0) 2021.01.15
수업 일기장 #자료형  (0) 2021.01.15

+ Recent posts