본문 바로가기

c37

구조체(쉽게 풀어쓴 C언어 EXPRESS) 용어정리 본문정리 구조체란 무엇인가? 구조체는 서로 다른 자료형들을 하나로 묶는 것이다.(여러 개의 같은 자료형을 묶는 것이 배열) 구조체의 선언, 초기화, 사용 구조체는 서로 다른 자료형의 변수들을 묶어서 새로운 자료형을 만드는 것이다. 태그란 구조체의 이름이다. 그 안에 있는 것을 구조체 맴버라고 한다. 구조체 선언은 구조체의 형태만 정의한 것이다. 즉 구조체를 이용하여 변수를 만들지 않았음을 알아야 한다. 구조체 변수의 초기화는 배열과 비슷하다. 구조체 맴버에 접근할 때는 맴버 연산자(.)를 이용하면 된다. struct student{ int number; char name[10]; double grade; }; // 끝에 ;이 붙는 것이 핵심이다. struct student s1 = { 24, ".. 2023. 1. 6.
문자와 문자열(쉽게 풀어쓴 C언어 EXPRESS) 용어정리 본문정리 문자와 문자열 문자열이란 일련의 문자들의모임이다. 문자열의 끝은 반드시 NULL 문자로 표시를 해주어야한다. 즉 문자 배열은 저장하고자하는 문자열의 크기보다 항상 하나 더 커야 한다. 초기화 하는 방식에는 2가지가 있다. char str[4] = { 'a', 'b', 'c', '\0' } ;//1번 방식 char str[4] = "abc"; //2번 방식 2번 방식은 자동으로 문자열의 끝에 NULL문자를 추가한다. char str[] = "abc"; //문자의 개수를 셀 필요가 없다 문자열 변경시 다음은 불가하다. char str[10] = "Hello"; str = "world"; // 불가 str은 주소이기 때문이다. 문자열 상수는 텍스트 세그먼트라고 불리우는 특수한 메모리 영역에 .. 2023. 1. 4.
포인터(쉽게 풀어쓴 C언어 EXPRESS) 용어정리 본문정리 포인터란? 포인터는 메모리의 주소를 가지고 있는 변수이다. &는 주소 연산자라 하며 변수명을 받아서 변수 주소를 반환한다. 간접 참조 연산자 * 간접 참조란 포인터를 통하여 값을 읽어오거나 값을 변경할 수 있기 때문이다. 포인터 사용시 주의할 점 초기화시 반드시 NULL을 이용하여야 한다. 포인터 연산 p가 어떤 자료형인가에 따라 증감연산자의 경우 2, 4 등으로 증가 할 수 있다.(주소 자료형에 영향을 받음) 가리키는 값을 증가시키고 싶을 때는 (*p)++처럼 괄호를 잘 이용해야 한다. 포인터와 함수 값에 의한 호출 : 복사본이 전달 참조에 의한 호출 : 원본이 전달 scanf()이 포인터를 이용하는 이유가 이것임, scanf()도 함수이기에 참조에 의한 호출을 이용해야 해당 주소에 .. 2023. 1. 3.
배열(쉽게 풀어쓴 C언어 EXPRESS) 용어정리 본문정리 배열이란? 배열이란 동일한 타입의 데이터가 여러 개 저장되어 있는 데이터 저장 장소이다. 메모리 연속적인 공간에 저장되고 서로 관련된 데이터를 차례로 접근하여서 처리할 수 있다. 반복문을 사용하여서 배열의 요소를 간편하게 처리할 수 있다. 배열의 초기화 초기값을 부여하는 것이 원칙이다. 개수를 구하는 방식은 sizeof(배열명) / sizeof(배열 첫번째 요소) 이다. 배열과 함수 배열은 원본이 매개 변수를 통하여 전달된다. 배열 요소는 복사본이 전달된다. 배열의 원본을 훼손시키고 싶지 않다면 매개변수에 const를 붙이면 된다. 정렬 선택 정렬은 가장 작은 수를 가장 왼쪽과 바꾸는 방식이다. 탐색 순차 탐색은 배열의 원소를 순서대로 하나씩 꺼내서 탐색키와 비교하여 원하는 값을 찾아가.. 2023. 1. 1.
함수(쉽게 풀어쓴 C언어 EXPRESS) 용어정리 본문정리 함수란? 함수는 3가지 특징을 가지고 있다. 서로 구별되는 이름, 특정한 작업을 수행, 입력을 받을 수 있고 결과를 반환 가능 함수의 종류에는 라이브러리 함수, 사용자 정의 함수가 있다. 라이브러리 함수란 컴파일러에서 지원되는 함수이다. 사용자 정의 함수란 개발자가 직접 만들어서 사용하는 함수이다. 함수 정의 구성 요소에는 반환형, 함수이름, 매개변수, 함수몸체로 구성되어 있다. 여기서 함수 몸체를 제외하고 나머지를 함수 헤더라 한다. 함수 호출이란 함수의 이름을 써주는 것이다. 매개 변수와 반환값 인수란 호출 프로그램에 의하여 함수에서 실제로 전달되는 값이고 매개 변수란 이 값을 전달받는 변수이다. 이때 인수와 매개변수 타입은 일치해야하고 개수가 일치해야한다. 반환되는 값이 없다면 r.. 2022. 12. 30.
반복문(쉽게 풀어쓴 C언어 EXPRESS) 용어정리 본문정리 반복의 개념 구성은 초기식, 조건식, 증감식으로 되어 있다. while 문 반복 루프에서 보초값 사용하기 센티널 값이란 데이터의 끝을 알리는데 사용되는 데이터 값이다. do - while 문 for 문 break와 continue 본문제 Q1. #define _CRT_SECURE_NO_WARNINGS #include int main(void) { int a; printf("카운터의 초기값을 입력하시오: "); scanf("%d", &a); while (a) { printf("%d ", a); a--; } printf("\a"); return 0; } Q2. #define _CRT_SECURE_NO_WARNINGS #include int main(void) { int a = 0, sum .. 2022. 12. 30.
조건문(쉽게 풀어쓴 C언어 EXPRESS) 용어정리 본문정리 제어문 제어문에는 조건문과 반복문이 있다. 제어 구조에는 순차 구조, 선택 구조, 반복 구조가 있다. if 문 복합문은 블록이라고도 하며 단일문이 여러 문장으로 구성되어 있는 것을 의미한다. if - else 문 다중 if 문 if는 많이 들어있는 한편 else가 한번만 들어있을 수 있다. 이때는 가까운 if에 매치된다. switch 문 default, break가 들어가야 함을 잊으면 안된다. 또한 제어식의 값은 반드시 정수값으로 계산되어야 한다. goto 문 쓰지말자 본문제 Q1. #define _CRT_SECURE_NO_WARNINGS #include int main(void) { char c; printf("문자를 입력하시오: "); scanf("%c", &c); switch (.. 2022. 12. 29.
수식과 연산자(쉽게 풀어쓴 C언어 EXPRESS) 용어정리 본문정리 수식과 연산자 수식은 연산자와 피연산자로 구성되어 있다. 산술 연산자 산술 연산자(덧셈, 뺄셈, 곱셈, 나눗셈, 나머지), 부호 연산자, 증감 연산자 대입 연산자 왼쪽은 변수여야 한다. 관계 연산자 ==, !=, , = 논리 연산자 &&, ||, ! 단축 계산을 신경써야 한다. 조건 연산자 ? : 콤마 연산자 , 왼쪽에 있는 식 먼저 수행한다. 비트 연산자 &, |, ^, , ~ 형변환 자동적과 명시적이 있다. 연산자의 우선 순위와 결합 규칙 다 필요없고 괄호만 잘 쓰자 본문제 Q1. #define _CRT_SECURE_NO_WARNINGS #include int main(void) { int x, y; printf("2개의 정수를 입력하시오: "); scanf("%d %d", &x, .. 2022. 12. 29.
변수와 자료형(쉽게 풀어쓴 C언어 EXPRESS) 용어정리 본문정리 변수와 상수 변수는 메모리에서 만들어진다. 즉 변수를 사용하지 않으면 메모리의 주소를 가지고 데이터를 저장하여야 한다. 숫자, 하나의 문자, 문자열 모두 상수가 될 수 있다. 상수에는 리터럴 상수(이름이 없는 것)와 기호 상수(이름을 이용한 것)가 있다. 자료형, 정수형 기호 상수는 #define과 const를 이용하여 만들 수 있다. 컴퓨터는 계산시 2의 보수를 사용한다. 부동 소수점형 32비트를 상용하여 실수를 표현하면 16비트는 소수점 이상을, 나머지는 소수점 이하를 표현하는데 이를 고정 소수점 방식이라 한다. 부호 비트, 가수 부분, 지수 부분으로 구성되는 것을 부동 소수점 방식이라 한다. float는 32비트, double과 long double은 64비트를 사용한다. 본문제 .. 2022. 12. 29.