2021.02.16.화 ✔ 문자열과 관련된 함수를 가진 헤더 파일로, 문자열 관련 함수를 사용하기 위해 반드시 전처리할 것. ✔ 아래는 문자열과 관련된 자주 사용되는 함수의 정리. 1. 문자열 복사 함수 strcpy(str1, str2) str1에 str2의 문자열을 복사 strncpy(str1, str2, n) str1에 str2의 문자열을 n만큼 복사 #include #include //문자열 관련 함수를 가진 헤더파일 int main(void) { //strcpy 예제 char str1[10] = "apple"; printf("%s\n", str1);//apple strcpy(str1,"banana"); printf("%s\n", str1);//banana //strncpy 예제 char str2[..
2021.02.16.화 char형 배열 char 배열명[크기] = "문자열" ; ✔ 문자열은 문자와 문자의 조합이므로, char형 배열을 사용해 저장한다. ✔ 문자열을 대입연산자를 사용하여 위와 같이 배열에 저장하고자할 때는 반드시 선언과 동시에 초기화를 해주어야한다. ✔ 이미 선언된 배열에 문자열을 저장하고자 한다면 배열의 요소에 문자를 하나하나 저장해야한다. char str[6]; str[0] = 'a'; str[1] = 'p'; str[2] = 'p'; str[3] = 'l'; str[4] = 'e'; ✔ 문자열의 길이는 알 수 없으므로, 배열의 마지막에 null(\0, null 종단 문자)을 저장하여 문자열이 끝났음을 알린다. ✔ 즉, 배열의 크기는 문자열의 길이 +1이 되어야한다. char st..
2021.02.15.월 배열의 선언 자료형 배열명[크기]; ✔ 배열은 데이터를 연속적으로 저장하고 사용할 수 있는 방법이다. ✔ 어떤 데이터를 연속적으로 저장할 지, 그리고 몇 개의 데이터를 저장할 지를 배열 선언 시에 설정한다. int arr[5]; ✔ 위의 코드는 int형 값을 5개 저장할 수 있는 배열 arr를 선언하겠다는 의미이다. 배열의 선언과 초기화 //선언과 초기화를 함께 int arrA[5] = { 1, 2, 3, 4, 5 } //선언과 초기화를 분리 int arrB[5]; arrB[0] = 1; arrB[1] = 2; arrB[2] = 3; arrB[3] = 4; arrB[4] = 5; ✔ 변수와 마찬가디로 배열도 선언과 초기화를 함께할수도, 분리해서 따로 할 수 도 있다. ✔ 다만, 중..
2021.02.15.월 재귀 호출 함수 void hi(){ printf("hi\n"); hi(); } ✔ 함수는 일반적으로 main함수 내부에서 호출되어 사용된다. ✔ 재귀 호출 함수는 함수가 스스로 자기 자신을 호출해서 사용하는 함수를 말한다. ✔ 위와 같이 hi() 함수의 내부에서 hi()가 한번 더 호출되는 경우가 재귀 호출 함수이다. hi hi hi hi hi hi hi hi hi hi hi hi hi hi hi hi hi hi hi hi hi hi hi hi hi hi hi hi.... ✔ 함수는 호출될 때마다 stack영역에 쌓이고 종료 조건이 없는 재귀 함수는 stack overflow가 발생한다. ✔ 즉, 재귀 함수는 종료 조건을 설정하지 않으면 결국 메모리의 한계에 봉착하며 프로그램이 강..
1562. int 형 정수 두 개를 입력 받아 그 중 작은 값을 출력하시오. 단, 함수형 문제이므로 함수 min()만 작성하여 제출하시오. 입력. 123 출력. 456 //함수 부분 int min(int n, int m){ if(n>m) {return m;} else {return n;} } //전체 코드 #include int n, m; int min(int n, int m){ if(n>m) {return m;} else {return n;} } int main() { scanf("%d%d", &n, &m); printf("%d\n", min(n, m)); }
2021.02.10.수 함수 정의 반환값자료형 함수명(매개변수) { 명령문; return 값; } ✔ 어떠한 기능을 수행하기 위한 특정 용도의 코드를 한 곳에 모아놓은 것으로 main함수 바깥에 정의한다. ✔ 반환값자료형 : 최종적으로 함수가 return할 값의 자료형을 넣어준다. ✔ 함수명 : 함수의 기능에 기반하여 함수명을 정한다. ✔ 매개변수 : 함수가 실행되기 위해 필요한 값과 자료형을 미리 선언하고, 필요한 값을 받아올 수 있다. ✔ 명령문 : 함수의 기능을 수행하기 위한 코드 ✔ return 값 : 최종적으로 함수가 return하는 값 int sum(int a, int b){ int result=a+b; return result; } ✔ 정수 a와 b의 합을 구하는 함수는 위와 같다. ✔ 반환..
2021.02.09.화 for문 for(초기식; 조건식; 증감식) { 명령문; } ✔ 초기식 : for문 내부에서 사용할 변수를 선언 및 초기화 ✔ 조건식 : 조건이 참(true)인 경우 for문 내부의 명령문이 실행 ✔ 증감식 : 명령문이 실행된 후, 증감식이 진행 ✔ 하나의 for문에서 여러 변수를 사용할 수 있는데, 필요하다면 조건식과 증감식도 추가할 수 있다. [참고 링크] C언어 코딩 도장 ✔ 초기식, 조건식, 변화식을 모두 생략하면 무한루프가 가능하다 (예) for(;;) {명령문;} ✔ for문 내부에서 초기식을 선언과 초기화를 함께 하는 것은 C99 방식 (GCC는 C99가 기본 설정이 아니므로 에러 발생) ✔ for문 외부에서 초기식을 선언하는 것은 C99 이전의 방식 ✔ 컴파일 방식에 ..
2021.02.09.화 if문 if(a>0){ printf("%d는 0보다 크다",a); } ✔ if문의 조건식이 참이면 중괄호{ } 내부의 명령문이 실행된다. if ~ else문 if(a>0){ printf("%d는 0보다 크다",a); }else{ printf("%d는 0보다 작거나 같다",a); } ✔ if문의 조건식을 만족하지 못하는 경우 else문 명령문이 실행된다. ✔ if문의 조건을 만족하지 못하는 경우 else문이 실행되기 때문에, else문에는 별도의 조건식이 필요하지 않다. ✔ if문의 조건식이 참인 경우, if문의 명령문이 실행되며 else문은 실행되지 않는다. if ~ else if ~ else문 if(a>0){ printf("%d는 0보다 크다",a); }else if(a==b){..
2021.02.08.월 조건 연산자 (조건식) ? a : b ✔ 조건식이 참이면 a를 실행, 거짓이면 b를 실행한다. ✔ 조건 연산자는 간단하게 조건문을 구현할 수 있다는 장점이 있으나, 가독성이 떨어지기 때문에 필요할 때만 사용해야 한다. #include int main(void){ int result=0; int a=10, b=20; (a > b) ? (result=a) : (result=b) ; printf("%d와 %d 중 큰 값은 %d 입니다",a,b,result); //10과 20 중 큰 값은 20 입니다 return 0; } 비트 연산자 비트 연산자 비트 연산자 & 비트 AND &= 비트 AND 연산 후 할당 | 비트 OR |= 비트 OR 연산 후 할당 ^ 비트 XOR ^= 비트 XOR 연산..