study/C언어 17

[C언어] printf 함수와 scanf 기본적인 이해

printf 함수를 이용한 정수의 출력과 서식문자 printf 함수를 이용하면 문자열 이외의 데이터를 다양한 형태로 출력하는 것이 가능하고, 정수를 출력하는 것도 가능하다 예졔) printfOne.c #include int main(void){ printf("Hello EvreyOne \n"); printf("%d\n", 1234); printf("%d %d\n", 10 , 20); return 0; } 아래의 그림을 보시면 문자열의 첫 번째로 등장하는 것이 %d이다, 이러한 문자를 가르켜 '서식문자'라 하는데, 이는 출력의 형태를 지정하는 용도로 사용된다. %d는 10진수 정수를 가르키는 출력의 형태이고 1234를 전달받아 화면의 출력하는 식으로 printf가 이루어 진다. Scanf 함수를 이용하여 ..

study/C언어 2019.12.20

[C언어] 주석처리

주석(Comment)은 프로그램 내에 삽입된 메모를 뜻하는데요. 컴파일 대상에서 제외가 되기 때문에 주석의 유무는 프로그램의 실행결과에는 영향을 미치지 않습니다. 주석의 필요성 C언어가 사람이 이해하기 쉬운 언어라 할지라도, 그 내용을 분석하는 데는 상당한 시간이 걸립니다. 다른 사람이 구현한 코드라면 100줄이 안 되는 분량의 코드를 분석하는 데에도 적지 않은 시간이 걸린다. 코드에서 주석은 선택이 아닌 필수로 넣는 것을 권장합니다. 블록 단위 주석 C언어에서 주석을 다는 방식은 두가지가 있는데, 그 중 하나는 주석의 시작과 끝을 명시하는 방식입니다. 시작은 /* 으로 명시하고, 끝은 */ 으로 명시합니다. /* 주석 처리된 문장 */ 두줄 이상의 주석처리하는데 사용합니다 /* 주석 처리된 문장1 주석..

study/C언어 2019.12.20

[C언어] 1. HelloWorld

Visual C++ 2010 Express Edtion으로 작성 되었습니다. C프로그램 완성과정의 흐름도 첫 번째 단계 : 프로그램 작성 두 번째 단계 : 작성한 프로그램의 컴파일 세 번째 단계 : 컴파일 된 결과물의 링크 이 중에서 세 번째 단계인 링크는 보통 컴파일의 과정에서 함께 진행되기 때문에, 프로그램 완성과정을 '프로그램 작성'과 '컴파일'의 두 단계로 줄여서 이야기하기도 합니다. 프로그램 작성 1단계 : 작업공간 마련 작성된 코드를 가르켜 '소스코드(Sourcecode)'라 하며, 소스코드를 만들어가는 과정을 가르켜 '코딩(Coding)'이라 합니다. VC++에서 새 프로젝트를 클릭 하세요 클릭하게 되면 아래와 같은 화면이 나옵니다. 여기서 'Win32 콘솔 응용 프로그램'을 선택하고 다음과..

study/C언어 2019.12.20

[C언어] 테트리스

테트리스가 어떤 흐름으로 구성이 되는지 알아보도록 하겠습니다. 테트리스 게임은 안해본 사람이 없을 정도로 쉽게 접근할 수 있는 게임이라고 생각이 듭니다. 게임 설명 - 게임 일시정지 가능 (P, p키) - 각 레벨에서 10줄을 없애는 경우 레벨업합니다. - 레벨업시에 보상으로가장 클리어한 레벨의 숫자만큼 아래쪽 줄을 지워줍니다. - hard drop(space key)시 추가 보너스점수가 있습니다. 헤더 선언 && 매크로 함수 정의 #include //입출력 함수를 제공하는 헤더 #include //windows 함수를 제공하는 헤더 #include //콘솔 입출력 함수를 제공하는 헤더 #include //시관 관련 함수를 모아놓은 라이브러리 헤더 #include //문자열 변환,의사 난수생성, 동적 메..

study/C언어 2019.12.20

[C언어] 2차원 배열 회전 알고리즘

2차원 배열을 90도 단위씪 오른쪽으로 회전하며 이떄 4n번(360도) 회전하면 원 배열과 결과값이 같아진다 그림 1-1 원 배열은 행과 열의 수가 같은 정방향 배열이라고 가정하고 하겠습니다. 2차원 배열은 90도 단위로 회전하게 됩니다. 90도 , 180도, 270도, 360도 회전한 결과는 원 배열과 같으며 이후에는 4개의 형태를 반복한다. 간단한 예제를 통해서 좀더 이해가 가도록 알아가 보도록 하겠습니다. - 90도 회전 #include void array_rotate(){ char A[5][5], B[5][5]; int i,j; char alphabet='A'; for(i=0; i

study/C언어 2019.12.17

다차원 배열(2차원 배열, 3차원 배열)

다차원 배열은 1차원 그 이상의 배열입니다. 그 배열 중에 2차원 배열과 3차원 배열이 다차원 배열에 속합니다. int arr[4]; //길이가 4인 1차원 int형 배열 int arr[4][4]; //가로가 4, 세로가 4인 2차원 int형 배열 int arr[4][4][4]; //가로가 4, 세로가 4, 높이가 4인 3차원 int형 배열 1-1 그림 이러한 개념이라고 보시면 됩니다. 1) 2차원배열 말 그대로 가로 세로를 가진 배열이라고 보시면 됩니다. 2차원 배열 선언 방식 자료형 배열 이름[세로 길이][가로길이]; 예) int arr [3][4]; "int arr [2][4]"이라는 배열을 선언했다고 가정을 해본다고 합시다. 위의 그림처럼 배열이 생성이 됩니다. 이 배열을 초기화해보겠습니다. 위와..

study/C언어 2019.12.17

C언어로 야구게임 만들기

컴퓨터는 0~9사이의 숫자중에서 서로 다른 세개의 수잦를 고르고, 사용자는 이것을 맞추는 게임이다. 중요한 것은 숫잦는 순서까지 정확히 맞춰야 한다는 것이다. 단, 사용자가 예상한 숫자를 입력할때마다 컴퓨터는 입력된 숫자와 컴퓨터 자신이 생각한 숫자가 비슷한지를 알려준다. 실제 게임에서도 out이라는 것이 있기 떄문에 out이 되면 숫자가 모두 일치 하지 않은 것을 의미한다 예) 컴퓨터가 고른숫자가 "1 4 9" 이고 사용자가입력한 숫자가 " 4 0 9"라고 하면 두개의 숫자 4와 9가 일치한다 여기서 9는 숫자와 위치까지 일치(Strike)하지만, 4는 숫자만 일치(BALL)한다. 이떄 컴퓨터는 "1SRIKE 1BALL"이라고 출력한다. 사용자는 9번에 도전기회를 가지고 도전기회를 9번 이상되면 프로그..

study/C언어 2019.12.16