본문 바로가기

Computer Engineering

[C] 0x07 조건문(Switch) From Evernote: [C] 0x07 조건문(Switch) 어제는 if 조건문 에 대해서 알아보았다. 어제에 이어서 조건문 Switch 에 대해 알아보자!! switch(변수값) { case 조건 : // 해당 조건에 만족할 경우 어떤 명령을 수행할지 명령문을 적어준다. break; } switch 문 : 변수에 해당하는 case 조건 ~ break문을 만나기 전까지 모두 수행한다. **주의사항** : if문과 다르게 case 조건 : => 이 부분에 비교 / 논리 연산자를 사용할 수 없다. 범위를 표현할 수도 없다. 그리고 조건에는 정수로 표현해야한다. (실수를 사용할 수 없다.) case 조건 : 의 예) case ch >= 'A' && ch > 31) { case -1 : puts(" - 값은.. 더보기
[C] 0x06 조건문(if) From Evernote: [C] 0x06 조건문(if) 오늘은 C언어에서 많이 쓰이는 조건문에 대해서 알아보도록 합시당. 말 그대로 이해하면 편하십니다. 해당 '조건'에 맞는 경우 if문을 통해 제어를 할 수 있다. if ( 조건문 ) { // 조건문이 참일 경우 이 부분에 있는 명령문을 실행 시킨다 } else // 조건문과 다른 경우 ( if문 안에 들어간 조건을 제외하는 모든 경우) => else 다음에는 조건문을 넣을 수 없다. 위에서 이야기 했듯이 if문의 조건을 제외하는 모든 경우를 말하는 것이기 때문이다. else 다음에 조건문을 사용하고 싶다면 else if ( 조건문) => 이런 형태로 if 문과 매칭해서 사용해야 한다. => 그러므로 조건이 여러개인 경우 사용하면 Good~~!! if.. 더보기
[C] 0x05 연산자(Operator) From Evernote: [C] 0x05 연산자(Operator) 오늘은 C언어에서 연산에 대한 부분에 대해서 이야기해보자!! 연산자는 수학책에서 많이 본 + - * / 이런 녀석들인데 C언어에서는 이런 연산자를 용도에 따라 구분을 해두었다. = 산술연산자 = (+ - * / %) 일반적으로 수학책에서 많이 본 부호들이닷 + - * / % / 와 % 에서 의아하게 생각할 수 있는데 각각 용도가 다르다 / 는나눗셈을 했을때의 몫을 계산해주는 연산자이다. %는나눗셈을 했을 때 나머지를 계산해주는 연산자이다. => 단 주의할 점은 실수는 %(나머지 연산자)를 사용하지 않는다. 왜냐하면 실수에서는 정수와 달리 소숫점아래자리까지 표현을 해주기 때문에 나머지라는 개념이 없다. = 대입연산자 = ( = ) a = .. 더보기
[Cube_OS] 플로피 디스크 구조 보호되어 있는 글입니다. 더보기
[C] 0x03 DataType(자료형) 오늘은 C언어를 공부하면서 여러가지 복잡한 대상을 단순화 시키는 ... 간략히 말하면 추상화라고 할 수 있겠죠? 추상화시켜서 크게 정수, 문자, 실수 이렇게 3가지 자료형( DataType ) 이 존재한다. 3가지 자료형을 살펴보면 아래와 같다. 자료형은 변수(variable)를 선언할 때에 반드시 필요한 것이므로 잘 알아두자. 간단하게 짚고 넘어가면 변수는 Data 를 저장할 공간의 이름을 말하는 것이다. = 자료형( DataType ) = - 정수 : 1, 99, -10 ... // short, int, long - 문자 : a, B, Z // char - 실수 : 정수 & 1.1, 99.9 => 정수와의 차이라면 소수점을 사용한다는 것이다. // float, double 위의 자료형을 이용해서.. 더보기
[C] 0x02 컴파일러(Compiler) , 링커(Linker), 이스케이프 문자열(Escape Sequence) ... = 컴파일러 = 컴파일러는 번역기라고 할 수 있는데 과연 '무엇'을 '무엇'으로 번역할까? 사람들이 알아볼 수 있는 '소스파일'을 기계가 알아볼 수 있는 '기계어파일'로 번역하는 것이다. 우리가 사용하는 언어 --> 기계어 | (통역을 해주는 역할) 이와 같이 컴파일(번역,통역)을 해주는 이유는? : '컴퓨터'라는 기계는 0과 1(이진수) 밖에 모른다. ON과 OFF 아니면 +, -밖에는 모르는 단순한 기계라고 할 수 있다. 반면 사람은 숫자나 문자로만 모든 것을 이해한다. 그래서 사람들은 자신들이 알아볼 수 있도록 숫자와 문자로 명령을 기록하는데, 이를 기계가 이해할 수 있는 언어인 기계어로 번역해주는 프로그램이 컴파일러입니다. 즉 ABC를 0과 1의 조합으로 바꾸어주는 것입니다. ex) first.c.. 더보기
[C] 0x01 FTP : 125.128.26.206 // student C언어를 공부하기 전에 기본적인 컴퓨터에 대한 상식(?)에 대해 공부를 해보자. 먼저 컴퓨터는 0과1만 아는 기계. 즉, 컴퓨터에서 사용되는 수는 사람들이 일반적으로 사용하는 10진수가 아닌 2진수이다. 0 || 1 => 일종의 ON || OFF 방식으로 생각하고 전기신호가 들어왔다. 나갔다. 이런식으로 이해하면 조금 쉬울수도? 컴퓨터라는 기계가 엄청난 Data 를 조금더 편리하게 처리하기 위해서 사용을 하는데 정작 컴퓨터에서는 Data 를 어떻게 처리하는지 알기 위해 조금 더 알아보자. 계속 Data(데이터) 이야기를 했는데 컴퓨터에서 Data 를 처리할 때 정보의 최소단위를 Bit(비트) 라고 한다. 1 bit => 0 || 1 이렇게 두 가지.. 더보기
[Lord of BOF] orge 정복기 이번 아이디어는 이전 몹(?)들을 물리치면서 겪은 경험상 떠오른 아이디어이다. gdb 를 이용해서 argv[0] 에 있는 값을 확인하면 실행파일의 절대경로가 들어갔던 것이 생각이 났다. 즉 절대경로를 이용해서 들어가는 것을 확인 할 수 있었다. 여기에 착안해서 확인을 해보자!! $ pwd [darkelf@localhost darkelf]$ pwd /home/darkelf 그리고 경로가 실제로 어떻게 확인하기 위해서 Test 파일을 생성해 보았다. [darkelf@localhost darkelf]$ vi path_test.c #include #include main ( int argc , char *argv[]) { int pathlen = strlen(argv[0]); printf("%s\n", ar.. 더보기
[Lord of BOF ] Darkelf 정복기 [wolfman@localhost wolfman]$ chsh Changing shell for wolfman. Password: New shell [/bin/bash]: /bin/bash2 Shell changed. [wolfman@localhost wolfman]$ exit logout // 일반 bash shell 에서는 \xff 가 나오면 멈춰버리는 오류가 있어서 chsh 명령어를 이용해서 bash2 로 shell 을 바꿔준다. login: wolfman Password: Last login: Mon Dec 26 17:13:10 from 192.168.148.1 // 다시 로그인 [wolfman@localhost wolfman]$ env PWD=/home/wolfman REMOTEHOST=192.1.. 더보기
[ESPC2] 0x08 Wolfman 정복기 보호되어 있는 글입니다. 더보기