일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- libft
- else if
- Double
- 42
- for
- 동적할당
- While
- iF
- cout
- ft_server
- Class
- 2차원배열
- 42Seoul
- list
- 42cursus
- C++
- float
- jupyter 단축키
- python
- C언어
- phpmyadmin
- vs코드 단축키
- 포인터
- 함수
- 자료형
- docker
- nginx
- 패킹
- 구조체
- 42서울
- Today
- Total
목록Programming Language (39)
Developer
변수를 선언하면 컴퓨터의 메모리에 변수의 공간이 생성된다. int a=100; 을 수행했을때 동작을 보자 그림과 같이 일정 공간 변수를 위해 공간을 확보하고 값을 저장하거나 사용한다. 그럼 변수a의 주소는 무엇일까? 이미 scanf를 배울때 변수의 주소를 얻는 방법을 배웠다. 바로 &(주소 연산자)이다. #include int main(){ int a=100; printf("%p\n",&a); return 0; } 포인터용 서식 지정자 %p를 사용해 출력해보았다. 위의 실행 결과에 나오는 a의 주소이다. 이 주소는 컴퓨터마다, 실행마다 매번 다르게 정해진다. 그리고 출력된 포인터를 보면 16자리 인것을 알 수 있다. 지금 컴퓨터가 64비트 컴퓨터 이기때문이다. 32비트라면 8자리로 나올것이다. 주소를..
반복문은 같은 코드를 여러번 수행하기위해 사용한다. for for(초기식; 조건식; 변화식) { 코드 } for(초기식;조건식;변화식) 부분을 루프 선언문이라 하고 중괄호 부분을 루프 본체라고 부른다. 만약 반복할 코드가 한 줄이라면 괄호는 생략 가능하다. for 반복문이 반복을 수행하는 동작 절차는 다음과 같다. 1.초기식과 조건식을 비교 2.참이라면 코드 실행 / 거짓이라면 루프 본체 아래의 코드 진행 3.변화식 적용 4.조건식 비교 2번 으로 돌아감 #include int main(){ int i; for(i=0;i
조건문이란 특정 조건일 때 코드를 실행 시키는 것이다. 예를들어 만약 3천원이 있다면 pc방에 간다와 같은 느낌이다. 조건문에는 if, switch ,삼항연산자가 있다. 비교 연산자 조건으로 비교연산자가 사용될 수 있다. 연산자 설명 변수1 == 변수2 변수1,2가 같다면 참 변수1 != 변수2 변수1,2가 같지 않다면 참 변수1 = 변수2 변수1이 변수2보다 크거나 같다면 참 주의할 점은 이상 이하를 표시하는 연산자인데 항상 등호(=)가 뒤에 나와야 한다. if 조건문 if조건문은 해당 조건이 참일 때 아래의 코드를 실행하는 것이다. if(조건) { 코드; } if(조건) 뒤에는 세미콜론을 붙이..
C언어에는 값을 논리적으로 판단하는 논리 연산자와, 비트 단위로 연산을 수행하는 비트 연산자가 존재한다. 논리 연산자 논리 연산자는 True(참), false(거짓)으로 연산을 수행하는 것이다. C에서는 0은 거짓 이고, 0이외의 모든 값은 참으로 인식한다. 논리 연산에는 AND(논리곱),OR(논리합),NOT(논리 부정) 가 있다. AND는 양쪽 모두 참일때 참, OR는 양쪽 중 하나만 참이면 참, NOT은 참이라면 거짓으로, 거짓이라면 참으로 변화 이제 직접 C에 있는 논리 연산자를 살펴보자 C에서 AND는 && OR는 || NOT은 ! 연산자를 사용한다. #include int main(){ printf("논리곱\n"); printf("%d\n",0&&0); printf("%d\n",0&&1); pr..
이전 글에서 정수끼리의 연산에서는 정수 결과가 나오고, 실수끼리의 연산에서는 실수 결과가 나오는것을 확인하였다. 다른 자료형끼리 계산하면 어떻게 될까? C에서는 자료형을 섞어서 사용하면 자료형의 크기가 크거나 표현의 범위가 큰 자료형으로 자동 변환되어 연산된다. 이를 암시적 형 변환이라고 한다. 데이터의 손실을 최소화 하기위한 방법이다. #include int main(){ int a=8; float b=3.2f; printf("%f\n",a+b); printf("%f\n",a*b); return 0; } 정수형 변수 a와 실수형 변수 b를 연산해 출력해보았다. 코드1 처럼 자료형이 다른 두 변수가 연산을 수행하게되면 범위가 크거나, 자료형의 크기가 큰 쪽으로 형변환된다. a+b에서는 정수a가 포현 범위..
C언어에는 여러가지 연산자가 존재한다. 기본 적인 사칙 연산부터 증감 연산자 등 여러가지 연산자가 존재한다. 사칙연산 #include int main(){ int a,b,c,d; a=1+1; b=8-2; c=8*2; d=8/2; printf("%d %d %d %d\n",a,b,c,d); return 0; } 코드1 처럼 +, -, *, / 한 값의 결과를 변수로 저장할 수 있다. 물론 변수끼리도 연산을 수행할 수 있다. #include int main(){ int a=8,b=2; int c,d,e,f; c=a+b; d=a-b; e=a*b; f=a/b; a=a+2; b=b-2; printf("%d %d %d %d %d %d\n",a,b,c,d,e,f); return 0; } a에 8 b에 2가 들어있는 상..
지금까지 printf로 원하는 것을 출력하는 것과 변수를 선언해 변수에 값을 할당하는 것을 해보았다. 그러면 프로그램이 동작중 일때 키보드로 입력한 값을 변수에 넣어서 사용할 수는 없을까? scanf 함수를 사용하면 된다. printf함수로 콘솔에 출력하는 방식을 표준 출력(standard output)이라고 하고, 콘솔에서 입력을 하는 방식을 표준 입력(standard input, stdin) 이라고 한다. scanf 함수도 printf와 마찬가지로 stdio.h 헤더 파일에 선언이 되어있다. scanf는 다음과 같은 형태로 사용할 수 있다. scanf(서식,변수의 주소); #include int main(){ int num; printf("입력하세요: "); scanf("%d",&num); print..
상수는 변하지 않는 값을 뜻한다. 상수에는 2가지 종류가 있는데 리터럴(literal) 상수와 심볼릭(symbolic) 상수 이다. 리터럴 상수는 1, 3, 'A' 와 같은 이름이 없는 상수를 말하고 심볼릭 상수는 이름이 있는 상수를 말한다. int num = 8; 을 예로 들면 num 은 변수이고, 8은 리터럴 상수인 것이다. 그렇다면 심볼릭 상수는 무엇일까? 상수는 변하지 않는 값인데 이름이 존재하다니.. C언어 에서는 이름 const 키워드를 통해 심볼릭 상수를 만들 수 있다. const int num = 8; 위에 선언한 변수와 차이점은 앞에 const라는 키워드가 붙은것인데 이는 num을 상수로 선언한다는 뜻이다. 하지만 보통 변수 선언과 다르게 주의할 점이 있는데 상수는 선언과 동시에 초기..