전체글397 C언어 - 1차원 배열 배열이란? 단순하게 "둘 이상의 변수를 모아 놓은 것"이다. 배열은 다수의 데이터를 저장하고 처리하는 경우에 유용하게 사용할 수 있다. 배열은 1차원 배열뿐만 아니라 2차원, 3차원 등 다차원 배열이 있다. 우선 1차원 배열에 대해서 알아본 후, 나중에 다차원 배열에 대해 설명하겠다. 1차원 배열 선언 배열을 선언하는 데에는 3가지 요소가 필요하다. int //배열을 이루는 요소의 자료형 arr //배열의 이름 [4] //배열의 길이 즉, 위의 배열이 선언하는 바는 "int형 변수 4개로 이루어진 arr이라는 이름의 배열을 선언해라"이다. 다른 배열을 예시로 더 들어보겠다. double arr[3]; // double형 변수 3개로 이루어진 배열 arr char str[5]; // char형 변수 5개로.. Programming/C 2021. 9. 23. C언어 - 지역변수와 전역변수 변수는 선언되는 위치에 따라서 "전역변수"와 "지역변수"로 나뉜다. 둘의 차이점으로는 다음과 같은 것이 있다. 메모리상에 존재하는 기간 변수에 접근할 수 있는 범위 지역변수 지역변수에서 "지역"이란 중괄호로 인해 생성된 영역을 말한다. 따라서 지역변수란 중괄호 안에 선언된 모든 변수를 말하는 것이다. 지역변수는 "선언된 지역 내에서만 유효하다"는 특성을 가진다. #include int SimpleFuncOne() { int num = 10; num++; printf("SimpleFuncOne num: %d\n", num); return 0; } int SimpleFuncTwo() { int num1 = 20; int num2 = 30; num1++; num2--; printf("num1 & num2: %.. Programming/C 2021. 9. 22. C언어 - 함수(Function) 함수를 만드는 이유 해결해야 할 규모가 크거나 형태가 복잡한 경우 구현에 필요한 기능들을 분석하고, 그 분석 결과를 바탕으로 작은 크기의 함수들로 구현한다. 한마디로 "하나씩 천천히 해나가는 것"이다. 기능들을 나눠놓으면 문제의 발생 및 프로그램의 요구사항 변경으로 인한 소스코드의 변경이 필요할 때, 변경의 범위를 축소 및 제한할 수 있다. 함수에는 전달 인자의 유무와 반환 값의 유무에 따른 네 가지의 형태가 있다. 1. 전달인자가 있고, 반환 값이 있다. 2. 전달인자가 있고, 반환 값이 없다. 3. 전달인자가 없고, 반환 값이 있다. 4. 전달인자가 없고, 반환 값이 없다. 이러한 유형들의 함수들을 정의해 보겠다. 1. 전달인자와 반환 값이 모두 있는 경우 int Add(int n1, int n2) .. Programming/C 2021. 9. 22. 코틀린(Kotlin) - 예외 처리 Kotlin에서 예외 처리하는 방법은 Java와 비슷하다. 예외 처리하는 방법에는 두 가지가 있다. throw로 예외를 던지는 방식과, try, catch로 예외를 잡아서 처리하는 방식이다. throw 예외를 던질 때 throw 키워드를 사용한다. 이 때 발생한 예외를 잡아주지 않으면 함수를 호출 스택을 거슬러 올라가 예외를 처리해주는 부분까지 다시 예외를 던진다. - Java달리 Kotlin에서는 throw가 식으로 쓰여 다른 식에 포함될 수 있다. fun main() { var n = 10 if(n !in 0..5) { throw IllegalArgumentException("A percentage value must be between 0 and 5: $percentage") } else print.. Programming/Kotlin 2021. 9. 19. 코틀린(Kotlin) - enum, 제어문(if, when, while, for) enum enum 키워드는 Enumerated Type으로 서로 연관된 상수 값들의 집합이다. Java에서는 enum을 사용하지만 Kotlin에서는 enum class를 사용한다. enum class Subject { MATH, KOREAN, ENGLISH, SCIENCE } 여기서 enum은 혼자 사용할 수 없는 소프트 키워드이다. 또한 class 앞에 붙어야만 의미를 가지게 된다. *class 앞에 붙지 않을 시 변수명으로 사용 가능하다. enum의 장점 인스턴스 생성을 안 해도 되어 값에 대한 안정성이 보장된다. 코드가 간단해져 가독성이 좋다. 프로퍼티와 메서드가 있는 enum class 선언 enum에서도 class와 같이 프로퍼티, 메서드를 선언할 수 있다. 여기서 특이한 점은 Kotlin에서는.. Programming/Kotlin 2021. 9. 19. 코틀린(Kotlin) - 클래스(Class)와 프로퍼티(Property) 프로퍼티(Property) 프로퍼티란 필드(변수)와 접근자를 통칭하는 말이다. 읽기 전용으로 사용할 프로퍼티의 선언은 val로 하고, 수정이 가능하도록 사용할 프로퍼티의 선언은 var로 한다. 프로퍼티에는 getter와 setter의 역할을 하는 get(), set() 함수가 내장이 되어 있어 자바보다 간략한 코드를 만들 수 있다. 클래스(Class) // Kotlin class Person(val name: String, var isMarried: Boolean) // Kotlin은 public이 기본 가시성이다. // Java public class Person { private final String name; private boolean isMarried; public Person(String n.. Programming/Kotlin 2021. 9. 17. C언어 - 흐름의 분기(if, else, continue, break, switch) if문을 이용한 조건적 실행 분기의 가장 기본은 if와 else로 구성이 된 if~else이다. 이 중 if는 독립적으로 사용되어 "조건적 실행"을 가능하게 한다. if(num1 > num2) { printf("num1이 num2보다 크다.\n"); printf("%d > %d\n", num1, num2); } 위 사진처럼 if문은 위에서부터 순서대로 흐름이 진행된다. if문을 통해 선택적인 사칙연산 프로그램을 만들어보자. #include int main() { int select = 0; double num1 = 0, num2 = 0, result = 0; printf("1. 덧셈, 2. 뺄셈, 3. 곱셈, 4. 나눗셈\n"); printf("어떤 연산을 하겠습니까? "); scanf("%d", &se.. Programming/C 2021. 9. 17. C언어 - 반복문(while문, do~while문, for문) "Hello World!"라는 문자열을 10번 출력한다고 하자. 반복문이 없다면 printf 함수 호출문을 열 번 실행시켜야 한다. 이를 간단명료하게 표현할 수 있도록 해주는 것이 반복문이다. 반목문에는 총 3가지의 종류가 있다. while문 do~while문 for문 1. while문 while문은 특정 조건을 주고 그 조건을 만족하는 동안 특정 영역을 계속해서 반복하는 구조이다. #include int main(){ int num = 10; while(num != 0) printf("%d ", num--); return 0; } // 출력: 10 9 8 7 6 5 4 3 2 1 위의 코드를 보면 while문 내에서 num--를 통해 num의 값을 1씩 줄이다 num의 값이 0이 됐을 때 반복문을 벗어.. Programming/C 2021. 9. 15. C언어 - 상수, 자료형 자료형이란? 데이터를 표현하는 기준 -> 변수, 상수 모두 자료형에 근거한다. 위의 사진을 보면 같은 정수 또는 실수 자료형이라도 사용되는 바이트 크기가 클수록 표현할 수 있는 값의 범위가 넓어진다. 자료형의 크기가 헷갈릴 때는 sizeof 연산자를 사용하면 된다. sizeof 연산자 : 메모리 공간에서 소모하는 메모리의 크기를 바이트 단위로 계산해서 반환해주는 연산자로 변수와 상수뿐만 아니라 자료형의 이름도 올 수 있다. #include int main(){ char c = 9; int n = 10; double dn = 1.2; printf("변수 c의 크기 : %d\n", sizeof(c)); printf("변수 n의 크기 : %d\n", sizeof(n)); printf("변수 dn의 크기 : %.. Programming/C 2021. 9. 14. C언어 - 변수(Variable)와 연산자(Operator) 변수 : 값을 저장할 수 있는 메모리 공간에 붙은 이름 또는 메모리 공간 자체 수학에서의 방정식(2x + 4 = y)이 있다고 하자. 여기서 임의의 값을 대입할 수 있는 문자를 변수라고 한다. C언어에서의 변수도 이와 같은 역할을 한다. 따라서 변수를 선언하면, 그 변수명을 통해 값의 저장 및 참조, 저장된 값의 변경이 가능하다. int main(){ int num; // num이라는 이름의 변수를 선언 . . . . } 여기서 num은 변수의 이름이고, int는 num이라는 변수의 저장타입이다. int main(){ int num; num = 10; printf("%d", num); // 출력: 10 return 0; } 위의 코드에선 num변수를 선언한 후 10이라는 값을 저장한다. 따라서 출력을 하.. Programming/C 2021. 9. 13. C언어 - 헤더파일, printf, scanf 헤더파일 선언의 필요성 c언어를 사용하며 프로그래밍을 한다면 prinf, scanf라는 함수를 사용하게 된다. 이러한 표준 함수를 호출하기 위해서는 함수와 관련된 헤더파일을 선언해야 한다. #include 이는 확장자가 .h로 끝나는 헤더파일을 포함하라는 의미의 선언이다. 표준 라이브러리에는 다양한 표준 함수가 존재하여 헤더파일도 다양하게 존재한다. 때문에 필요에 따라 적절한 헤더파일 선언문을 삽입해야 한다. 헤더파일 선언은 main함수를 정의 하기 이전인 소스코드 맨 앞에 와야 한다. printf printf 함수는 문자열 이외의 데이터를 다양한 형태로 출력하는 것이 가능하다. #include int main() { printf("C Programming\n"); // \n은 개행을 의미한다.(줄바꿈).. Programming/C 2021. 9. 12. C언어 - 기본 단위인 함수(Function)의 이해, 기초 C언어를 접하게 되었다면 함수에 대해 많이 듣게 될 것이다. 흔히 C프로그래밍을 함수로 시작해서 함수로 끝난다고 한다. 함수에 대해 구체적으로 들어가기 위해서는 알아야 될 것들이 많으니 다음에 정리하도록 할 것이다. 우선 함수란 무엇인가? 예를 들어 5x + 15 = y라는 함수가 있다고 하자. 이때 x에 3을 대입하면 y값은 30이 된다. 즉 x에 대입한 값을 "입력"이라 하며 얻게 된 y의 값을 "출력"이라 한다. 이와 같이 입력과 출력이 존재하는 것을 함수(Function)이라 한다. 처음에도 말했듯이 C프로그래밍은 함수로 시작해서 함수로 끝난다. 정해진 순서에 따라 진행되는 함수의 호출이 프로그램의 흐름이 되는 것이다. C언어에서 제일 먼저 호출되는 함수는 main이라는 함수이다. int main.. Programming/C 2021. 9. 12. 이전 1 ··· 30 31 32 33 34 다음 728x90