분류 전체보기 1097

포인터 (기본 이해하기)

포인터에 대해서 공부해보겠습니다. 우선 메모리 주소에 대해서 살짝 보고 가겠습니다. 철수라는 변수의 메모리 주소를 출력하는 방법은 &변수 입니다. 위의 코드를 실행하면 다음과 같은 결과물을 확인할 수 있습니다. 철수, 영희, 민수 모두 확인해 보겠습니다. 다음과 같이 출력되는 것을 확인할 수 있습니다. 그런데, 여기서 미션맨이 등장합니다. (포인터를 쉽게 이해하기 위한 미션맨) 포인터 변수의 생성은 * 를 앞에 붙여서 생성합니다. 포인터 변수에게 철수의 주소 값을 가지도록 초기화합니다. 그러면, 포인터 변수를 통해 철수의 주소와 주소에 들어있는 값을 참조할 수 있습니다. 출력된 값을 보면 미션맨이 철수의 주소와 암호를 알고 있는 것을 알 수 있습니다. 이번에는 미션맨이 영희의 주소값을 가지고 있다고 가정..

랜덤(난수)

난수를 뽑을 때 주의해야 할 점은 난수 초기화를 꼭 해주어야 한다는 점이다. 난수 초기화를 하지 않을 경우의 예시를 보겠습니다. 난수 초기화를 하지 않은 난수 뽑기 프로그램을 반복 실행시켜보겠습니다. 그러면 놀랍게도 랜덤으로 뽑힐 것이라고 예상되는 숫자들이 랜덤이 아니라 같은 값들이 반복해서 출력되는 것을 볼 수 있습니다. 프로그램을 여러번 반복시켜도 마찬가지입니다. 난수 초기화를 시켜주게 되면 프로그램이 실행될 때마다 정상적으로 숫자들이 랜덤으로 뽑히는 것을 확인할 수 있습니다.

피라미드 쌓기 { for, while, do while }

loop.c 라는 파일을 우선 만들고 main 함수를 만들어서 실행을 해보면 다음과 같은 오류가 발생하는 것을 알 수 있습니다. 이는 이미 main 이라는 이름의 함수를 printfscanf 파일에서 만들었기 때문에 발생하는 오류로, printfscanf 파일의 main 함수를 다른 이름으로 수정하겠습니다. main_printfscanf 로 함수 이름을 변경시키면 문제없이 코드가 동작하게 됩니다. For for 문 자체는 java와 다를게 없네요. While while 문도 java 와 다를게 없습니다. do while do while 문도 java 와 동일하네요. 피라미드 쌓기 자바에서 비슷한 문제를 풀어본 기억이 있어서 금방 풀 수 있었습니다.

HTML 핵심 요소 { input, label, button, textarea, select, form }

input 태그는 사용자에게 데이터를 입력 받을 때 사용한다. type 속성으로 입력 받을 데이터의 형태를 지정한다. (text, password, checkbos, radio) value 속성을 사용하면 입력 받을 값을 미리 지정해 놓을 수 있다. disabled 속성을 추가하면 비활성화 시킬 수 있다. 날짜 입력은 예를 들어 예약 정보를 받을 때 많이 사용합니다. 데이터 형태 중에 가장 까다로운 것이 날짜 타입인데, 왜냐하면 지정된 포멧이 있기 때문에 포멧을 꼭 지켜서 데이터를 입력받아야 하기 때문이다. 그래서 날짜 타입을 사용자로부터 입력받을 때는 꼭 포멧을 지켜야 한다. label 태그는 입력 필드에 이름표를 붙이는 역할을 수행한다. 입력 필드 (input 태그)의 id 를 지정한 다음 label..

0. 리눅스 수업 소개

수업소개 인터넷과 함께 웹이 폭발적으로 성장하면서 저렴한 운영체제에 대한 수요가 폭발적으로 증가했습니다. 클라우드 컴퓨터가 등장하면서, 이제 컴퓨터는 필요할 때 사용하고, 필요 없을 때 언제든지 버려질 수 있는 소모품이 되고 있습니다. 사물 인터넷의 시대가 열리고 있습니다. 전구나 화분과 같이 지금까지는 사물이라고 생각했던 것들에 초소형 컴퓨터가 들어가고, 자연스럽게 이 컴퓨터를 제어할 수 있는 운영체제에 대한 수요가 폭발적으로 증가하고 있습니다. 이러한 맥락에서 오픈소스이고, 무료이면서, 커뮤니티에 의해서 빠른 속도로 발전하고 있는 리눅스의 수요가 폭증하고 있습니다. 공공재로서 확고한 위치를 차지하고 있는 운영체제인 리눅스는 그런 점에서 미래 지향적인 운영체제라고 할 수 있습니다. 수업내용 본 수업에서..

경찰서 조서쓰기 { 프로젝트 }

경찰서 조서쓰기 프로젝트 배운 것을 토대로 경찰관이 범죄자의 정보를 입수하는 조서쓰기 프로그램을 만들어보겠습니다. 경찰관이 물어볼 목록은 이름, 나이, 몸무게, 키, 죄명 등이 있을 수 있겠습니다. 순서대로 데이터를 입력받은 다음 출력하는 간단하지만 중요한 프로그램을 만들어보았습니다. 출처 : 유튜브 나도코딩 https://www.youtube.com/watch?v=q6fPjQAzll8

경찰서 조서쓰기 3 { printf, scanf }

printf printf 는 우리가 이전에도 계속 사용했기 때문에 아주 상세하게 다루지는 않을 겁니다. printf 안에 값을 바로 넣어줄 수도 있고, 계산된 값을 사용할 수도 있습니다. scanf scanf 에 대해서 알아볼까요. scanf 는 키보드 입력을 받아서 저장을 받는 역할을 합니다. 우선 &input 에서 & 가 의미하는 바는 input 이라는 변수에 입력받은 값을 대입하겠다는 것을 의미합니다. 그래서 위 코드를 실행시키고 값을 입력한 후 엔터를 치면 input 변수에 입력한 값이 대입되고 값이 대입된 input 변수를 출력할 수 있게 됩니다. 조금 더 복잡한 것을 해보겠습니다. 입력 값을 줄 때는 스페이스로 각 값을 구분해도 되고, 엔터를 세 번 눌러도 됩니다. 문자(character) 로..

경찰서 조서쓰기 2 { 실수형 변수, 상수 }

실수형 변수 실수형 변수는 float을 사용합니다. 46.500000 으로 출력된 것을 볼 수 있는데, 0이 많이 출력된 것이 보기 싫다면 다음과 같이 코드를 수정해 줄 수 있습니다. 위와같이 .2 를 추가해주면 소수점 2째 자리까지만 출력됩니다. 소수형 자료형에는 double 형도 있습니다. double 형을 출력할 때는 long Float 이라는 의미로 lf를 사용합니다. 또한 float 과 마찬가지로 소수점 자리수를 지정해줄 수 있습니다. 소수점 자리 수는 자동으로 반올림되어 표현됩니다. 상수 상수는 변하지 않는 수를 의미합니다. 그래서 한번 정해진 상수는 값이 변하지 않습니다. 그리고 상수는 보통 대문자로 처리합니다. 우선 상수가 왜 필요한지 이해하고 진행하겠습니다. 태어난 년도를 변수에 지정을 ..