알고리즘 공부를 시작하려 했지만, 기본적인 지식조차 없기 때문에 먼저 언어 하나를 정해서 공부하기로 생각했다.어떻게 공부를 해야 할지 찾아보다가 괜찮아 보이는 영상자료가 있기에 이 영상으로 시작하기로 결정했다!!C 언어 무료 강의 (입문부터 게임 개발까지)
단순히 영상을 보고 결과를 도출해 내서 넘어가기에는 궁금한 것이 많은 내가 도저히 버틸 수 없었다. 그래서 의문점들은 모두 해소하고 넘어가기로 했다. (앞으로 배울 모든 내용들도 내가 모르는 것 기준으로 전부 찾아서 작성할 생각이다.)화면에 출력하는 기능인 printf
\++ : 증가연산자\-- : 감소연산자증감연산자는 전위(++n)와 후위(n++)로 나뉜다.전위나 후위나 증감연산자가 사용된 후의 n을 출력하면 1이 증가된 값을 갖게된다.즉 n++ 이나 ++n 이나 n=n+1 과 n+=1 같은 기능을 수행한다는 것이다.전위일 때 :
if (조건) (...) else (...)초등학생(8-13) / 중학생(14-16) / 고등학생(17-19)으로 나누면?if / else if / else&& : 양쪽 조건이 모두 만족 할 때 if와 else는 한 번만 사용할 수 있지만, else if는 여러 번 사
srand(time(NULL)); // 난수 초기화int num = rand() % 3; // 0 ~ 2시드(seed) : 컴퓨터 프로그램에서 발생하는 무작위 수는 사실 엄격한 의미의 무작위 수가 아니다. 어떤 특정한 시작 숫자를 정해 주면 컴퓨터가 정해진 알고리즘에
\- 함수(Function) : 프로그램 코드의 일부로 특정한 기능에 필요한 코드를 모아 놓은 독립적인 부분 \- 함수 호출(Function Call) : 독립적 코드로 만들어 놓은 함수를 호출 하는 것필요성 : 컴파일러의 특성상, 함수는 호출되기 전에 정의되어야 한다
배열 배열을 사용하면 한 번에 여러개의 변수를 생성가능 잘못된 배열 인덱스가 배열의 크기를 벗어나게 되면 프로그램에 치명적인 오류를 발생시킨다. c어서는 프로그래머가 인덱스가 범위를 벗어나지 않았는지 확인하고 책임을 져야한다. 배열과 함수 함수의 매개변수로 배열의
C 언어 무료 강의 (입문부터 게임 개발까지)C 프로그래밍(입문부터 게임 개발까지) - 06
구조체 (기본, 사용, 배열, 포인터, 구조체 안의 구조체, typedef) 구조체의 정의와 구조체 변수의 선언을 동시에 할 수도 있습니다. 구조체 포인터를 이용하여 구조체의 멤버에 접근하는 방법에는 다음과 같이 두 가지 방법이 있습니다 참조 연산자(\*)를 이용
파일쓰기(fputs), 파일읽기(fgets)또 다른 파일읽기(fprintf), 또 다른 파일읽기(fscanf)파일의 데이터를 읽고 쓰기 메모리상에 저장이 된다. 프로그램을 끄면 메모리 에 저장된게 날라가기 때문에 그 변수값이 똑같이 유지안되지만 파일로 저장하면 변도의
C언어 무료 강의 완강 이후에 새롭게 공부할 내용을 찾다가 너무나도 좋은 자료를 찾아서 이번에는 다시 한번 C언어를 기초부터 탄탄하게 복습하는 느낌으로 공부해 보려고 한다.자료 정리가 너무 잘 되어있어서 문제 풀이 정도나 코드만 올릴 것 같다.씹어먹는 C 언어 시작하기
문제 1. N 줄인 삼각형을 출력한다. 단, 사용자로 부터 임의의 N 을 입력 받는다. 아래는 N = 3 일 때의 출력 예시 이다. 문제 2. 위와 동일한 형태를 취하되, 역 삼각형을 출력한다. 아래는 N = 3 일 때의 출력 예시 이다. 문제 3. 1000 이하의
jump table 은 프로그램 초기에 작성 되기 때문에 이미 switch 문이 실행되기 전에 jump table 이 작성되게 됩니다. 따라서, '값' 부분에 변수가 들어가게 되면 jump table 에 무엇이 올지 알 수 없으므로 변수를 사용하면 안되는 것입니다.만
이 문제의 핵심은 음수이거나 소수점 이하의 자리수가 없는 경우까지 잘 고려하여 항상 잘 동작하는 코드를 만드는것이다.대부분의 실수들은 정상 작동하는데 가끔 값이 이상하게 나오는 실수들이 있다.원래라면 위에서부터 차례대로 30, 40, 70 이 나와야하는데 저런식으로 한
단순히 학생들의 점수를 높은 순서대로 정렬하는게 아닌, 몇 번째 학생이 몇등인지 까지 정렬 하고 싶었지만 어려워서 못했다 강해져서 돌아와보자 배열이 마치 아파트 같기 때문이다'호'의 개념은 각 배열 속의 원소를 뜻하고,'층'의 개념은 그 원소들을 가진 배열이고,'동'의
10/18 보고 또 보고 또 봐도 제대로 이해를 하지 못했다. (특히나 12-3 중후반 부분에서 멘탈이 나가서 제대로 읽히지가 않았다.)가슴이 답답하고 마음 한 구석에 응어리가 있다. 내일 다시 12-1부터 3까지 다시 또 읽고 댓글도 읽고 또 읽을것이다.10/19\*
(난이도 : 못한다면 강좌를 다시 읽어보아야 할 것입니다)(난이도 : 下)(난이도 : 下)(난이도 : 下)(난이도 : 中)예) factorize(10); 출력결과 : 2 × 5factorize(180); 출력결과 : 2 × 2 × 3 × 3 × 5arg였다면 값을 복사
1. 위 10 개의 원소들 중 최대값 구하는 함수를 이용하여, 10 개의 원소를 입력 받고 그 원소를 큰 순으로 출력하는 함수를 만들어보세요. (난이도 : 中) 2. 2 차원 배열의 각 원소에 1 을 더하는 함수의 인자는 어떤 모양일까요? (난이도 : 中下)
1. 사용자로 부터 5 명의 학생의 수학, 국어, 영어 점수를 입력 받아서 평균이 가장 높은 사람 부터 평균이 가장 낮은 사람까지 정렬되어 출력하도록 하세요. 특히, 평균을 기준으로 평균 이상인 사람 옆에는 '합격', 아닌 사람은 '불합격' 을 출력하게 해보세요 (난이
(난이도 : 上)(const 를 붙인 이유)const char \*str = "abcdefghi"; 와 char str\[] = "abcdefghi"; 의 차이점const char \\\*strchar 형을 가리키는 char 형 포인터변수 이므로 char 형 변수의
1. 길이가 최대 100 인 문자열을 하나 입력 받아서 문자열을 역순으로 출력하는 함수를 만들어보세요. (난이도 : 下) 예를 들어서 "abcde" 입력 --> "edcba" 출력 2. 길이가 최대 100 인 문자열을 입력 받아서 소문자는 대문자로, 대문자는 소문자로
(난이도 : 下)(난이도 : 中下)if~else if 문에서 switch문으로 바꿔서 간결하게 바꿨다.(난이도 : 下)(난이도 : 中)예를 들어 책 제목이 "learnCfast", "learningC", "whatisC?" 일 때, learn 를 검색하면 "learnC
1. 구조체 안에 또다른 구조체 변수를 설정할 수 있을까요? (난이도 : 中) 구조체도 하나의 타입이기 때문에 구조체를 멤버로 가지는 구조체를 만들 수 있을 것 같습니다. 배열과 비슷하다는 관점에서 보면 배열 안에 배열 즉, 다차원 배열을 설정할 수 있듯이 구조체도
메모리 관리와 동적할당씹어먹는 C 언어 - <17. 변수의 생존 조건 및 데이터 세그먼트의 구조>
\[씹어먹는 C 언어 - <18 - 1. 파일 뽀개기 (헤더파일과 \[씹어먹는 C 언어 - <18 - 2. 파일 뽀개기 (헤더 파일 중복 방지
예를 들어서을 치면 15 가 나오게 하면 되지요.이 때, 5, +, 10 은 모두 다른 인자로 봐야하겠죠. 기초적인 단계 이므로 연산자는 하나만 써도 된다고 합시다.참고로 인자는 모두 문자열 형태로 오기 때문에 문자열로 된 수를 int 형으로 바꾸는 작업이 필요할 것입
(난이도 : 下)(난이도 : 中)(난이도 : 中下)
1. 위의 도서관리 프로그램에서 출력한 도서 목록을 입력 받아서 배열에 집어 넣는 작업을 만들어보세요. 참고로 도서 목록 출력 파일의 형식은 아래와 같다고 합시다. 와 같은 형식 이지요. 물론 파일에 도서 목록을 출력하는 작업도 수정해야 되겠지요. (난이도 : 中)