본문 바로가기
반응형

전체 글607

[C언어] 배열 / 2차원 배열 배열 / 2차원 배열에 대해서 정리한다. 배열 자료형 배열이름[크기] = {값, 값, 값}; - 같은 자료형의 변수를 일렬로 늘어놓은 형태 - 반복문을 이용해서 연속적이고 반복되는 값을 쉽게 처리할 수 있다. - 배열내의 각 요소에 접근할때는 '배열명[index]' 형식을 이용해서 접근이 가능하다. ( 배열 index의 시작은 0부터 시작한다 ) - 배열안에 있는 요소의 갯수는 배열의 선언된 크기보다 작을수는 있지만 클수는 없다. ( 만약 배열안에 있는 요소의 갯수가 배열에 선언된 크기보다 작다면 나머지 요소에는 자동적으로 0으로 값이 채워진다 ) - 배열의 모든 요소를 0으로 초기할때는 '자료형 배열이름 = { 0, }' 형식으로 사용해주면 된다. ( 위 형식을 사용하면 0을 배열의 크기만큼 각 요소에.. 2017. 10. 14.
[C언어] 중첩 반복문 / goto 제어문 / FizzBuzz 문제 / 포인터 / 메모리 사용 중첩 반복문 / goto 제어문 / FizzBuzz 문제 / 포인터 / 메모리 사용하기에 대해서 정리한다. 중첩 반복문 - 중첩 반복문을 이용하면 2차원 형태의 값을 제어할 수 있다. goto 제어문 goto 레이블; 레이블: - 프로그램의 흐름을 원하는대로 바꿀때 사용한다. ( 중간의 코드는 무시하고 원하는곳으로 건너뛰게 된다 ) - 위아래 방향 상관없이 사용할 수 있다. - 에러처리를 할때 유용하게 사용할 수 있다. - goto를 너무 남발하면 유지보수와 가독성이 떨어지는 스파게티 코드가 될 수 있다. - 실행되는 레이블이 연속적으로 위치해있다면 switch문을 사용할때 case안에 break가 없으면 아래 case에 있는 실행코드들도 실행하는 것처럼 해당 레이블 실행이후에 종료 시키는 코드가 없다면.. 2017. 10. 14.
[c언어] 반복문( for, while, do.. while ) / 반복문 제어( break, continue ) 반복문( for, while, do.. while ) / 반복문 제어( break, continue )에 대해서 정리한다. 반복문( for ) for (초기식; 조건식; 변화식) { 반복할 실행코드 } - 반복되는 기능을 처리할때 사용 - 루프 선언문(loop statement)를 통해서 반복할 횟수와 조건을 지정하고 그 횟수만큼 루프 본체(loop body)의 코드가 실행된다. ( 조건식이 참이면 반복문을 계속 진행하고 거짓이면 반복문을 끝낸다 ) - 반복에 사용할 변수는 초기식에 선언해도 되고 밖에서 선언해도 된다. - 반복 횟수가 정해져있을때 유용하게 사용된다. - for에서도 마찬가지로 실행코드가 한줄일때는 중괄호를 생략할 수 있다. - for 반복문에 사용할 변수와 초기값이 설정되어있으면 초기식.. 2017. 10. 13.
[webhacking.kr] prob17 [webhacking.kr] prob17 [ 풀이과정 ] 문제에 접속해보면 입력폼과 전송버튼이 있는데 겉으로 생긴건 14번 문제와 똑같이 생겼다... 해당 페이지 소스를 보게되면 unlock이라는 변수에 여러개의 값을 여러 연산자를 이용해 계산된 값을 할당하고 있다.. 여기서도 입력폼에 입력을 한다음에 check 버튼을 누르게되면 sub() 함수가 동작하면서 입력폼에 입력된 값과 unlock 변수에 있는 값을 비교해서 같으면 해당 문제의 인증 password를 알아낼 수 있다.. 그렇다면 unlock 함수에 들어있는 값만 알아내 그 값을 입력해서 보내주게 되면 문제가 풀릴 것이다... 어차피 계산은 직접 하는게 아니기 때문에 개발자 도구에 console창을 이용해서 unlock값을 계산했고 쉽게 값을 알.. 2017. 10. 13.
[webhacking.kr] prob14 [webhacking.kr] prob14 [ 풀이과정 ] 문제에 접속하게 되면 입력폼과 전송버튼이 보인다... 해당 페이지 소스코드를 확인해보면 값을 입력하고 버튼을 눌렀을때 ck() 함수가 동작하면서 해당 입력값을 체크하게 된다. javascript 코드인 ck() 함수의 내용을 보면 ul 변수에 document.URL을 이용해 현재 주소를 가져와 넣은 다음 indexOf 메서드를 사용해서 ul에 ".kr"이 있는 인덱스를 반환한다.. ".kr"이 시작되는 인덱스가 18번째이여서 해당 반환값은 17이였다.. 코드에 나와있는대로 반환값에 30을 곱한 값과 입력폼에 입력된 값을 비교해서 서로 같다면 password를 경고창으로 알려준다.. 개발자 도구에 console창을 이용해서 이 부분을 계산해보면 ul.. 2017. 10. 12.
[c언어] 조건문( if ) / 비교 연산자, 삼항 연산자 / 논리 연산자 / bool 자료형 / 비트 연산자 / 연산자 우선순위 / switch문 조건문( if ) / 비교 연산자, 삼항 연산자 / 논리 연산자 / bool 자료형 / 비트 연산자 / 연산자 우선순위 / switch문에 대해서 정리한다. 조건문 ( if ) if ( 조건식 ) { 실행코드 } else if ( 조건식 ) { 실행코드 } else { 실행코드 } - 조건식을 만족했을때 해당 코드를 실행한다. - 조건식 뒤에 세미콜론이 붙는다면 중괄호 안의 코드는 실행되지 않고 if문이 끝나게 된다. ( 해당 실행코드가 정상적으로 실행되는 이유는 c언어에서는 코드를 중괄호로 묶을수 있기 때문이다 ) - 실행코드가 한줄이면 중괄호의 생략이 가능하다. - 조건식에서 비교할 변수와 값, 변수와 변수는 자료형을 맞춰주어야 한다. ( 실수의 경우에는 반올림 오차가 발생할 수 있으므로 반올림 오차.. 2017. 10. 12.
[C언어] 문자 자료형 / 상수 / 입력( scanf ) / 증감 연산자 / 자료형 확장, 축소 문자 자료형 / 상수 / 입력( scanf ) / 증감 연산자 / 자료형 확장, 축소에 대해서 정리한다. 문자 자료형 - char를 이용해서 하나의 문자를 저장가능 ( 부호없는 char는 보통 바이트 단위 데이터를 저장한다 ) - C언어에서는 작은따옴표를 이용해서 문자 하나를 묶는다. ( 작은따옴표를 이용해서 문자열을 묶을수는 없다 ) - char에 문자를 저장할 때는 문자 자체를 저장하지 않고 문자에 해당하는 정수값(ASCII)으로 저장된다. ( 서식지정자 %d를 이용해서 char 자료형 변수에 저장된 값을 불러오면 ASCII 코드의 10진수 값이 나온다 ) - char 문자에 있는 값을 서식지정자 %x를 이용해 16진수로 불러올때는 10진수와 헷갈리지 않도록 서식지정자 앞에 0x를 붙여준다. ( 8진.. 2017. 10. 12.
[C언어] 정수 자료형( 크기 및 범위, 최솟값과 최댓값 표현, 오버플로우, 언더플로우, 크기가 표시된 정수 자료형 ) / 실수 자료형( 최솟값과 최댓값 표현, 오버플로우와 언더플로우 ) / 자료형 .. [C언어] 정수 자료형( 크기 및 범위, 최솟값과 최댓값 표현, 오버플로우, 언더플로우, 크기가 표시된 정수 자료형 ) / 실수 자료형( 최솟값과 최댓값 표현, 오버플로우와 언더플로우 ) / 자료형 크기 구하기에 대해서 정리한다. 정수 자료형 - 소수점 이하 자리가 없는 숫자 정수 자료형의 크기 및 범위 정수 자료형의 오버플로우와 언더플로우 - 변수에 저장할 수 있는 범위보다 값이 작아지면 다시 최댓값부터 시작하는 언더플로우가 발생하고 반대로 저장할 수 있는 범위보다 값이 커지면 오버플로우가 발생해 최솟값부터 다시 시작하게 된다. - 부호 있는 정수에 오버플로우가 발생하면 최솟값(음수)부터 다시 시작, 언더플로우가 발생하면 최댓값(양수)부터 점점 작아진다. - 부호 없는 정수에 오버플로우가 발생하면 0부.. 2017. 10. 9.