목록C언어/C언어 기본문법 (17)
코린이

오늘은 함수에 대해 배워 보았습니다. 함수를 정의할 때는 반드시 다른 함수 바깥에 정의를 해줘야 합니다. 특정 역할을 하는 코드들을 독립적으로 모아둔 집합체로 기능별로 함수를 나누면 기독성이 좋아지고 유지 보수가 용이합니다. 함수의 정의 반환형: 함수 내용의 작업을 마치고 값을 반환해 줄 때 사용할 자료형 함수 이름: 함수를 사용하기 위해 호출할 때 사용할 이름 매개 변수: 함수를 호출할 때 값을 전해줄 수 있는데, 이때 값을 저장하는 변수 함수 기능: 함수의 기능을 맡아줄 코드들이 작성되는 영역 함수의 호출 반환값을 저장할 변수: 함수가 반환해 주는 값을 저장할 변수 호출할 함수 이름: 정의된 함수 중 사용할 함수의 이름 인수: 함수가 동작할 때 필요한 값 반환값을 저장할 변수 = 호출할 함수 이름(인..

어제는 문자열 입력 함수를 배웠다면 오늘은 문자열의 관련 함수를 배웠다. 문자열 관련 함수를 사용할 때는 string.h 헤더 파일을 선언해 줘야 한다. 문자열 관련 함수 strlen(문자열):넘겨준 문자열의 길이를 반환해 주는 함수 (반원 해주는 길이는 NULL 문자를 제외한 길이이다.) strcmp(문자열 1, 문자열 2): 넘겨준 두 개의 문자열을 비교하고 같으면 거짓, 다르면 참을 반환해 주는 함수 (문자열이 다를 경우, 문자열 1이 사전 편찬 순으로 빠르면 -1, 느리면 1을 반환) strcpy(문자열을 저장할 공간, 복사할 문자열): 문자열을 저장할 공간에 복사할 문자열을 복사해 주는 함수 strcat(문자열을 붙일 공간, 붙일 문자열): 문자열 붙일 공간 뒤에 넘겨받은 문자열을 덧붙여주는 함..

오늘은 문자열 입력받는 방법에 대해 배웠다 scanf() 함수를 통해 문자열을 입력받을 때는 배열 이름 앞에 &나 배열의 뒤에 인덱스를 작성하지 않는다. 문자열의 끝에는 항상 문자열의 끝을 알려주는 NULL 문자가 들어간다. 문자열을 배열에 저장할 때는 반드시 NULL 문자의 크기까지 고려해 줘야 한다. 그리고 NULL 문자를 표기할 때는 정수 0, 문자 '\0', NULL로 표기 할 수 있다. 문자열을 담을 배열을 초기화 할 때는 ""안에 문자열을 작성 해 주면 된다. ex) char str[6] = "Hello"; 문자열을 담을 배열을 NULL 문자로 초기화 할 때는 char str[10] = {0, }; 형식으로 진행할 수 있다. 그럼 문제로 문자열을 마저 공부해 보겠다. Q1) Hello라는 문자..

2차원 배열 1차원 배열 도는 다시 배열로 선언함으로써 여러 개의 배열을 다시 배열로 만드는 방식 2차원 배열 선언 방법: 자료형 배열명[행 크기][열 크기] 2차원 배열을 초기화할 때는 {}와 개행을 적절히 사용해 준다. int arr[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; 2차원 배열을 사용하고 접근할 때는 보통 이중 반복문을 이용해서 접근한다. #include int main(){ int arr[3][3]; arr[2][1] = 10; printf("출력: %d\n",arr[2][1]); retrun 0; } #include int main(){ int arr[3][3] = { {1,2,3}, {4,5,6}, {7,8,9} }; for (int i = 0; ..

배열 오늘 배울 것은 배열이다. 배열은 일정한 간격을 두고 붙여놓은 것으로 특정 자료형을 가진 변수를 여러 개 선언하는 개념이다. 배열을 선언하는 방법은 자료형 배열명 [공간의 개수];으로 선언해 준다. 배열에는 각각의 공간을 나타내주는 숫자들이 있는데 이를 index(인덱스)라고 부른다. 인덱스는 0~ (선언한 공간의 개수 -1)까지 갖고 있다. 그 이유는 0부터 시작하기 때문이다! int arr[n-1]까지의 공간의 개수가 있다. 그리고 배열을 사용할 때는 반복문을 적절하게 사용해 줘야 한다. 배열을 선언하면서 초기화를 진행할 수 있는데 이때는 int arr[5] ={3,1,4,6,8}; 이러한 형식으로 초기화 값을 정해줄 수 있다. int arr[5] = {0, }; 형식으로 하면 모든 공간을 0으..

오늘은 Day1부터 Day11까지 배운 내용을 응용하여 문제 하나를 만들었다. 문제를 풀기 전에 함수 2가지를 배웠다. system("명령어") 이 함수는 콘솔 환경에서 사용되는 명령어를 실행시켜주는 함수로 cls 콘솔을 지워준다. Sleep(멈추는 시간) 시간 단위는 1/1000초로 콘솔 창을 잠깐 재워주는 함수이다.(멈춰 준다고 볼 수 있다.) system, Sleep 두 함수를 사용하기 위해서는 windows.h 헤더 파일을 선언해 줘야 한다. Q1) 카드 잔액을 충전 및 사용할 수 있는 프로그램을 만드시오.(처음 초기 금액은 만 원이 있는 상태로 진행) #include #include int main() { int num = 10000; int choice; int sum; int use; whi..

반복문 오늘은 while() 문을 공부하였다. while() 문에서 초기식은 while() 문 바깥에 존재해야 하고, 변화식은 종속 문장과 같이 존재해야 한다. 그리고 while() 문에서 종속 문장이 한 줄 일 때는 {}를 생략해 줄 수 있지만 종속 문장에 변화식이 같이 작성되기 때문에 {}를 생략하는 경우는 거의 없다. while() 문을 무한 루프를 사용할 때는 조건식에 1을 작성해 주면 된다. while()문의 원형: 초기식; while(조건식) { 종속문장 및 변화식; } while() 문에는 do ~while() 문이 있는데 do ~ while() 문은 while() 문과 전체적으로 비슷하지만 종속 문장을 최소 한 번은 실행시킨다는 특징을 갖고 있다. while() 문과같이 무한 루프를 사용할..
반복문 반복문은 조건식을 비교하면서 참일 경우 종속 문장을 실행시키고 변화식을 거쳐 조건식을 또 다시 비교하는 문법으로 for(), while(), do ~ while() 3가지 존재한다. 오늘은 for() 문에 대해 공부하였다. for문의 기본 원형: for(초기식; 조건식; 변화식) { 종속 문장; } for 문의 원형으로 초기식이 먼저 실행하고 그 뒤에 조건식에 맞으면 true 면 종속 문장을 실행시키고 false 이면 for 문을 종료한다. 마지막 변화식은 실행을 시킨 후에 다시 조건식을 반복한다. for 문 실행 순서 초기식 -> 조건식 -> 종속 문장 -> 변화식 -> 조건식 -> 종속 문장 -> 변환식 -> ... 순으로 진행된다. #include int main(){ for (int i =..
조건문 swith ~ case 오늘은 swith ~ case 문에 대해 설명하겠습니다. swith 문은 전에 공부했던 if 문과 같은 조건문이지만 if 문에서 ,=같은 부등식은 사용이 불가능하다. switch ~ case의 원형: swith(비교할 값) { csae 해당 값://각 조건 종속 문장; break; } default://나머지 종속 문장; break; 괄호 안에 비교할 값 공간에는 정수, 정수로 변환할 수 있는 값, 정수가 저장된 변수만 작성할 수 있다. 변수의 값에 따라 case에서 실행하는 값이 나온다.(case에 작성되는 값은 반드시 상수로 작성해 줘야 한다.) swith ~ case 문에서 break 키워드는 해당 문법을 탈출하는 용도로 사용되지만 프로그래머가 의도적으로 break를 ..
조건문 조건식을 비교하고 해당 조건식이 참이면 종속 문장을 실행하고, 거짓이면 탈출하는 것을 조건문이라고 한다. 조건문에는 if ~ else와 swith ~ case 두 개가 존재한다. 오늘은 if ~ else 문을 알아보겠다. if ~ else의 원형: if(조건식)//조건문의 시작 { 종속 문장; } else if(조건식)//조건문을 추가 { 종속 문장; } else//나머지 { 종속 문장; } 위에 코드가 if ~else 문의 기본 구조이다. 먼저 if(조건식)은 조건 문의 시작을 의미하고 else if(조건식)은 조건문을 추가로 생성하여 입력한다. 마지막으로 else를 넣어 나머지 종속 문장을 입력해 준다. if ~ else 문에서 조건식 뒤에 ;(세미 콜론)을 작성하게 되면 종속 문장이 사라지게..