p4c

-keyword- 1, 2, 3차원 배열, 1, 2, 3차원 배열 포인터, 다차원 배열 포인터 메모리 동적 할당 Unit 36. 배열 사용하기 -배열(Array)- c언어의 배열은 파이썬의 list와 비슷한 기능을 한다. 여러 값들을 한 변수에 저장하는 것이다. 파이썬과 똑같이 0부터 시작하는 인덱스를 갖고 여러 개의 값을 한 변수에 사용이 가능하다. 단 파이썬과 달리 c언어에서의 배열은 같은 자료형의 값들만 저장할 수 있다. 이 배열은 파이썬과 비슷하게 반복문으로 값을 한꺼번에 저장하거나 빼낼 때 주로 사용한다. 앞서 코드업에서 바둑판, 격자판 등도 이 배열을 이용해서 풀었다. 사용은 [] = {};로 한다. 꼭 배열을 선언하자마자 크기만큼 값들을 넣어줄 필요 없이 선언만 하고 나중에 값들을 넣어줘도 ..
// 날짜 대신 Unit 명을 써주고 문제들은 맨 아래에 모아서 풀이를 적어봤습니다. -keyword- 포인터, 역참조, 메모리 할당, malloc, free, 스택, 힙, memset Unit 34. 포인터 사용하기 -포인터(pointer)- 포인터란 c언어에서 메모리 주소값을 저장하는 변수다. 포인터 변수라고도 부른다.(참고 : tcpschool) int a = 1; 위는 간단하게 1로 초기화되는 int형 변수 a를 선언한 코드다. 사실 변수를 선언했을 때 마법처럼 짠하고 변수가 생성되는게 아닌 컴퓨터의 메모리에 일정 공간을 확보해서 그 공간에 변수의 값을 저장하고 가져오는 것이다. 이 메모리에서 해당 변수의 주소(위치)를 메모리 주소라고한다. 즉 위 int a = 1;이라는 코드가 실행될 때 컴퓨터..
-Summary- CodeUp 11문제(1081번, 1082번, 1091번 ~ 1099번) c언어 풀이 Write Up -1081- 주사위 2개의 면의 개수가 입력되는데, 그 입력을 바탕으로 나올 수 있는 모든 수의 조합을 출력하는 것이 목적이다. #define _CRT_SECURE_NO_WARNINGS // 취약한 scanf 함수를 오류 없이 사용하기 위해 작성 #include int main() // 메인 함수 { int m, n; // 입력 값을 담을 변수 선언 scanf("%d %d", &m, &n); // 입력 for (int i = 1; i
-Summary- 연산자 우선 순위, switch for while do while 반복문, break continue, 계단식 별 출력, goto, FizzBuzz 02-19 (Unit 24.1 ~ Unit 27.12) -2의 거듭제곱- 시프트 연산자를 사용한다면 2의 거듭 제곱을 빠르게 구할 수 있다.(아마 컴퓨터 입장에서 연산하기 쉬운 2진수로 연산해서 그런 것 같다.) **으로 제곱 연산을 할 수 있는 파이썬과 달리, math.h를 include하지 않는 이상 c언어는 거듭제곱 연산자를 제공하지 않으므로, 이 시프트 연산자를 이용해서 거듭제곱을 하면 된다. 위 코드처럼 1을 왼쪽으로 지수만큼 시프트 연산을 수행하면 해당 지수만큼 2가 거듭제곱되서 출력된 것을 볼 수 있다. 2^2 = 1 2 같은 ..
-Summary- 사칙 연산, 증감 연산자, 자료형 확장-축소, if else if else 조건문, 비교 연산자, bool 자료형, 비트 단위 연산자 02-17 (Unit 12.1 ~ Unit 19.5) -+, -- +, -는 파이썬과 동일하게 더하고 빼주는 기능의 연산자다. + - 이런식으로 써줄 수 있고 이런식으로 변수끼리의 연산도 가능하다. 또한 = - 또는 = + 이라면 파이썬에서 배웠던 것 처럼 +=, -=으로 줄여쓸 수 있다. += -= 이런식으로 +, -를 이용해 값과 변수끼리 플러스 마이너스 연산이 가능하다. 실수도 역시 동일한 방법으로 가능하다. 값이나 변수를 더할 때는 = + 로 써주면 된다. b : num1과 더할 값이 없다. + num1이 되야한다. X 답 : b num1의 값을 ..
-Summary- c언어 배경지식, printf 함수, c언어 기본 문법, 변수, 정수-실수-문자 자료형, 상수, scanf 함수 02-15 (Unit 1.1 ~ Unit 6.1) //Unit 1.1 ~ Unit 3.2까지는 파이썬 코딩도장과 겹치는 부분도 있고, 환경 구성 부분이라 중요한 부분 빼고는 생략했습니다. -c언어의 역사- c언어는 1972년 켐 톰슨과 데니스 리치가 유닉스 운영체제를 만들기 위해 고안한 프로그래밍 언어다. 메모리와 하드웨어를 직접 제어할 수 있다는 특징이 있다. 이 때문에 Windows, Linux, Android, iOS 운영체제의 커널은 c언어로 만들어져 있다. 운영체제 말고도 Oracle, MySQL 등의 데이터 베이스도 c와 c++로 만들어져 있고, 에어컨, 세탁기 등..
-Summary- try except else finally 예외처리, iterater-iteraterble, 정규 표현식 02-12 (Unit 38.1 ~ Unit 38.7) -exception(예외) 처리- 예외 처리란 예외가 발생했을 때, 실행을 중지하지 않고 계속 실행하게 해주는 것이다. -exception(예외) 예외란 코드를 실행하는 도중에 발생한 에러를 뜻한다. 첫 번째 2/0은 ZeroDivisionError(0으로 나눠져서 생기는 에러) exception을 일으키고, 두 번째는 ValueError exception을 일으킨다. ZeroDivisionError, ValueError 등 실행 중에 발생하는 에러는 모두 예외에 해당된다. -try, except try, except는 예외 처리..
-Summary- 의미론적 태그, 구글 검색엔진 최적화 가이드 02-10 (의미론적 태그 ~ 검색엔진 최적화 3) 의미론적 태그는 기능은 없지만 웹을 만들 때 사용되는 구조에 의미를 부여해준다. 의미론적 태그는 생활코딩 사이트에서 캡처한 위 사진처럼 여러가지가 있다. 이중에서 header, footer, nav는 학교에서 정보처리 산업기사 수업을 할 때 구역을 구분해주는 역할로 많이 접했었다. header는 머리라는 뜻에 걸맞게 가장 위쪽에 위치하는 것들을 의미하며, 해당 사이트 전체에 대한 정보가 들어있는 부분이다. 네이버 웹사이트로 예를 들자면 빨갛게 표시된 이 위쪽 부분이 header 부분인 것 같다. 이 위쪽에는 naver 광고가 있는데, 이부분도 header에 포함될 것 같지만 광고기 때문에 a..
-Summary- 버튼 태그, , , , get-post 방법, 파일 upload, , 02-08 (버튼 ~ 컨트롤의 제목 - label) -input type- -button input 태그의 type에 button 속성을 준다면 버튼을 구현할 수 있다. 앞서 배웠던 submit 역시 버튼이지만 이 submit 버튼은 동작이 정해져(form의 action 속성의 주소로 데이터 전송) 있는 반면, 이 button 속성은 동작을 정해줄 수 있다. 이 동작 같은 경우는 onclick 속성에 자바스크립트 등을 통해 작성해야한다. 또한 input tyoe="button"에 value 속성을 준다면 버튼안에 텍스트를 넣을 수 있다. 위는 input type을 button으로 주고 value에 '버튼'이라는 텍스트..
-Summary- HTML 배경 지식, , , , , , , 선택 태그 02-04 (생활코딩 HTML 기술소개 ~ 기본 문법) HTML은 HyperText Markup Language의 약자로 하이퍼텍스트(링크 등)을 가장 중요한 특징으로 하고 마크업이라는 형식을 가진 컴퓨터 프로그래밍 언어다. 여기서 언어란 약속이다. 사람들이 소통할 때 쓰는 한글, 영어 등 미리 약속 된 표현으로 소통을 하는데, 이를 언어라 하는 것이다. 프로그래밍 언어란 사람과 컴퓨터 간의 약속 된 표현이다. 여기서 HTML은 사람과 웹페이지 간의 약속이라 할 수 있다. 위 사진은 naver 웹사이트에서 오른쪽 버튼을 누르고, 페이지소스를 클릭해서 나온 사진이다. 위의 코드들이 HTML이다. html 코드 작성 방법은 간단하다. 메..
dyp4r
'p4c' 태그의 글 목록 (5 Page)