C, C++/C Basic
소개
![category 대표 이미지](https://blog.kakaocdn.net/dn/dWcW5z/btsDKdfFVll/efe2rEuS7DIdwREYOeLFyk/img.png)
-
① 배열의 개요 5명의 학생이 있는 한 학급에서 국어, 수학, 사회, 과학의 시험 점수를 프로그램으로 관리한다고 생각해보자. 학생 한 명당 4개의 값을 저장해야 하므로 20개의 변수가 필요하다. 만약 학생 수가 500명이라면 2,000개의 변수를 생성해서 관리해야 한다. 이렇게 프로그램을 작성하는 것은 번거로운 작업이 아닐 수 없다. 이런 경우에 배열을 사용하면 편한데, 배열을 사용하면 한 번에 많은 수의 변수를 생성할 수 있다. 배열은 동일한 특성을 가지며 일정한 규칙에 따라 몇몇 요소가 나열되어 있는 데이터 집합을 의미한다. 예를 들어, 5개의 값을 저장할 수 있는 배열 a의 구조를 도식화 하면 다음과 같다. 소괄호 안의 수를 첨자라 하는데 언어에 따라 0으로 시작되기도 하고 1로 시작되기도 한다. ..
# C언어 예제, 과제 6 (정답)① 배열의 개요 5명의 학생이 있는 한 학급에서 국어, 수학, 사회, 과학의 시험 점수를 프로그램으로 관리한다고 생각해보자. 학생 한 명당 4개의 값을 저장해야 하므로 20개의 변수가 필요하다. 만약 학생 수가 500명이라면 2,000개의 변수를 생성해서 관리해야 한다. 이렇게 프로그램을 작성하는 것은 번거로운 작업이 아닐 수 없다. 이런 경우에 배열을 사용하면 편한데, 배열을 사용하면 한 번에 많은 수의 변수를 생성할 수 있다. 배열은 동일한 특성을 가지며 일정한 규칙에 따라 몇몇 요소가 나열되어 있는 데이터 집합을 의미한다. 예를 들어, 5개의 값을 저장할 수 있는 배열 a의 구조를 도식화 하면 다음과 같다. 소괄호 안의 수를 첨자라 하는데 언어에 따라 0으로 시작되기도 하고 1로 시작되기도 한다. ..
2023.07.06 -
07/05(수) 22시까지 요약 문제를 네이버 카페에 팀과 스터디팀 으로 공부된 내용을 개인별로 제출하세요. 그리고 네이버 카페에 제출한 화면을, 전체 스크린샷으로, 07/05(수) 22시까지 LMS에 제출하시면 됩니다. 요약18 파이썬 코드블럭과, C언어 코드블럭을 구분하는 방법의 차이점에 대하여 들여쓰기와 중괄호 구분자 사용 방법에 대해 설명하세요. 요약19 변수와 상수, 리터럴에 대해 설명하세요. - 딱히 요약 문제를 만들 부분이 없어서, 추가 문제로 대체합니다. - 모든 문제는 정렬 사용 안됨! 요약20 교재, "C프로그래밍 응용 및 실습" P38 4단계 "나도 이런 프로그램을 만들 수 있다." 문제 1번 삼각형 모양 출력하기: 사용자로부터 정수 하나를 입력받아 다음 실행 예와 같은 도형을 출력하..
# C언어 예제, 과제 407/05(수) 22시까지 요약 문제를 네이버 카페에 팀과 스터디팀 으로 공부된 내용을 개인별로 제출하세요. 그리고 네이버 카페에 제출한 화면을, 전체 스크린샷으로, 07/05(수) 22시까지 LMS에 제출하시면 됩니다. 요약18 파이썬 코드블럭과, C언어 코드블럭을 구분하는 방법의 차이점에 대하여 들여쓰기와 중괄호 구분자 사용 방법에 대해 설명하세요. 요약19 변수와 상수, 리터럴에 대해 설명하세요. - 딱히 요약 문제를 만들 부분이 없어서, 추가 문제로 대체합니다. - 모든 문제는 정렬 사용 안됨! 요약20 교재, "C프로그래밍 응용 및 실습" P38 4단계 "나도 이런 프로그램을 만들 수 있다." 문제 1번 삼각형 모양 출력하기: 사용자로부터 정수 하나를 입력받아 다음 실행 예와 같은 도형을 출력하..
2023.07.04 -
① 함수의 개요 다음과 같이 기능A를 3번 수행하는 프로그램에 대해 생각해보자. 똑같은 일을 3번 반복하고 있는데, 이런 경우 기능A를 수행하는 일을 담당하는 별도의 단위를 만들고 이 단위가 수행되도록 명령하면 프로그램이 간결해지고 이해하기가 쉬워질 것이다. 이와 같이 하나의 단위로 만들어진 기능을 함수라 한다. 위 그림을 일반적인 용어로 나타내면 다음과 같은데, 만들어진 함수A를 ‘함수 정의’라 하고 함수A가 실행되도록 명령하는 문장인 ‘함수A 호출’을 ‘함수 호출’이라 한다. ①.① 함수를 호출하면 함수가 실행되고, 실행이 끝나면 호출한 부분으로 되돌아 와 호출 다음 부분을 실행한다. 그리고 이에 대한 C 프로그램과 실행 결과는 다음과 같다. ①.② 함수를 호출할 때 값을 전달할 수 있는데 이런 값을..
# C언어 예제, 과제 5 (정답)① 함수의 개요 다음과 같이 기능A를 3번 수행하는 프로그램에 대해 생각해보자. 똑같은 일을 3번 반복하고 있는데, 이런 경우 기능A를 수행하는 일을 담당하는 별도의 단위를 만들고 이 단위가 수행되도록 명령하면 프로그램이 간결해지고 이해하기가 쉬워질 것이다. 이와 같이 하나의 단위로 만들어진 기능을 함수라 한다. 위 그림을 일반적인 용어로 나타내면 다음과 같은데, 만들어진 함수A를 ‘함수 정의’라 하고 함수A가 실행되도록 명령하는 문장인 ‘함수A 호출’을 ‘함수 호출’이라 한다. ①.① 함수를 호출하면 함수가 실행되고, 실행이 끝나면 호출한 부분으로 되돌아 와 호출 다음 부분을 실행한다. 그리고 이에 대한 C 프로그램과 실행 결과는 다음과 같다. ①.② 함수를 호출할 때 값을 전달할 수 있는데 이런 값을..
2023.07.04 -
① 순서도 논리 구조 ② 순서도 기호 ③ 반복 구조의 예시 1부터 5까지의 수를 sum에 더하는 절차는 다음과 같다. 소스코드를 작성하는데 큰 문제가 없다. 그러나 만약 1부터 10000까지의 수를 sum에 더하는 절차를 위와 같이 나타낸다면 동작을 반복해 해결하는 것이 바람직하다. 반복 구조란 특정한 부분을 반복해서 실행되게 하는 구조를 의미한다. ③.① while형 반복 구조 조건이 참이면 문장을 실행하고 다시조건이 참인지 판단하여 조건이 참인 동안 문장을 반복해서 실행한다. 다음은 반복 구조를 이용해서 *을 다섯 번 출력하는 순서도와 C 프로그램이다. *을 출력하는 문장을 count 변수 값이 5 이하인 동안 반복해서 실행한다. 결국 *을 출력하는 문장이 다섯 번 실행된다. while 조건식이 참인..
# C언어 예제, 과제 3 (정답)① 순서도 논리 구조 ② 순서도 기호 ③ 반복 구조의 예시 1부터 5까지의 수를 sum에 더하는 절차는 다음과 같다. 소스코드를 작성하는데 큰 문제가 없다. 그러나 만약 1부터 10000까지의 수를 sum에 더하는 절차를 위와 같이 나타낸다면 동작을 반복해 해결하는 것이 바람직하다. 반복 구조란 특정한 부분을 반복해서 실행되게 하는 구조를 의미한다. ③.① while형 반복 구조 조건이 참이면 문장을 실행하고 다시조건이 참인지 판단하여 조건이 참인 동안 문장을 반복해서 실행한다. 다음은 반복 구조를 이용해서 *을 다섯 번 출력하는 순서도와 C 프로그램이다. *을 출력하는 문장을 count 변수 값이 5 이하인 동안 반복해서 실행한다. 결국 *을 출력하는 문장이 다섯 번 실행된다. while 조건식이 참인..
2023.06.29 -
이전 예제와 과제에서는 위에서부터 아래로 순차적으로 실행되었다. 그러나 이번 예제, 과제부터는 선택 구조나 반복 구조 등의 제어문을 이용해 프로그램 실행 순서에 변화를 가져올 수 있다. ① 순서도 논리 구조 ② 순서도 기호 ③ 선택 구조의 예시 경시대회 시상 기준에 대해 시상 내역을 구하는 프로그램을 작성하는 경우와 같이, "시상 기준"과 같은 조건에 따라 처리되는 내용이 달라지는 경우에 선택 구조를 사용한다. 선택 구조는 크게 세 가지 유형으로 나눌 수 있다. ③.① 첫 번째 유형 : 상황에 따라 임의의 문장이 실행되어야 하고, 실행되지 말아야 하는 경우다. 예를 들면 나이가 50이상인 사원들에게는 특별보너스를 추가적으로 지급하고 그렇지 않은 경우에는 특별보너스를 지급하지 않는 경우에 해당된다. 이런 ..
# C언어 예제, 과제 2 (정답)이전 예제와 과제에서는 위에서부터 아래로 순차적으로 실행되었다. 그러나 이번 예제, 과제부터는 선택 구조나 반복 구조 등의 제어문을 이용해 프로그램 실행 순서에 변화를 가져올 수 있다. ① 순서도 논리 구조 ② 순서도 기호 ③ 선택 구조의 예시 경시대회 시상 기준에 대해 시상 내역을 구하는 프로그램을 작성하는 경우와 같이, "시상 기준"과 같은 조건에 따라 처리되는 내용이 달라지는 경우에 선택 구조를 사용한다. 선택 구조는 크게 세 가지 유형으로 나눌 수 있다. ③.① 첫 번째 유형 : 상황에 따라 임의의 문장이 실행되어야 하고, 실행되지 말아야 하는 경우다. 예를 들면 나이가 50이상인 사원들에게는 특별보너스를 추가적으로 지급하고 그렇지 않은 경우에는 특별보너스를 지급하지 않는 경우에 해당된다. 이런 ..
2023.06.29 -
① 순서도 논리 구조 ② 순서도 기호 ③ 순차 구조의 예시 개구리 알에서 개구리가 될 때까지의 과정을 순서도로 나타낸 것이다. 순서도와 같이 위에서부터 아래로 순차적으로 실행되는 구조를 순차 구조라 한다. #include int main() { printf("개구리 알\n"); printf("꼬리 달인 올챙이\n"); printf("뒷 다리 있는 올챙이\n"); printf("앞 뒤 다리 있는 올챙이\n"); printf("개구리\n"); return 0; } C 언어로 다음과 같이 나타낼 수 있는데, C 언어로 된 프로그램은 반드시 하나의 main이 있어야 하며 main 안에 있는 문장들을 위에서 아래로 순차적으로 실행한다. 모든 문장 뒤 에는 세미콜론(;)을 붙여야 한다. ④ 변수와 출력 관련 순서도..
# C언어 예제, 과제 1 (정답)① 순서도 논리 구조 ② 순서도 기호 ③ 순차 구조의 예시 개구리 알에서 개구리가 될 때까지의 과정을 순서도로 나타낸 것이다. 순서도와 같이 위에서부터 아래로 순차적으로 실행되는 구조를 순차 구조라 한다. #include int main() { printf("개구리 알\n"); printf("꼬리 달인 올챙이\n"); printf("뒷 다리 있는 올챙이\n"); printf("앞 뒤 다리 있는 올챙이\n"); printf("개구리\n"); return 0; } C 언어로 다음과 같이 나타낼 수 있는데, C 언어로 된 프로그램은 반드시 하나의 main이 있어야 하며 main 안에 있는 문장들을 위에서 아래로 순차적으로 실행한다. 모든 문장 뒤 에는 세미콜론(;)을 붙여야 한다. ④ 변수와 출력 관련 순서도..
2023.06.27 -
C 언어의 컴파일러가 문법적인 용도로 이미 사용하는 문자열입니다. 예약어는 기능이나 의미가 이미 부여되어 있기 때문에 식별자로 사용할 수 없습니다.
예약어(Keyword), 식별자(Identifier)C 언어의 컴파일러가 문법적인 용도로 이미 사용하는 문자열입니다. 예약어는 기능이나 의미가 이미 부여되어 있기 때문에 식별자로 사용할 수 없습니다.
2023.06.27 -
C 언어의 연산자 우선순위 및 결합성
연산자C 언어의 연산자 우선순위 및 결합성
2023.06.27 -
첫 글자는 반드시 영문이어야 한다. int nData; ( O ) int nData1; ( O ) int 1nData; ( X ) 대부분의 특수 문자를 사용할 수 없다. int _nData; ( O ) int nData@; ( X ) 한글 이름은 허용되지 않는다(일부 컴파일러는 가능). int 나이; ( X ) 반드시 명명(Naming) 규칙이 있어야 한다. 헝가리안 표기법 프로그램의 코드는 한번 작성하면 끝나는 것이 아니라 프로그램이 사용되는 내내 유지보수를해야 합니다. 즉, 필요에 따라 특정 기능이 사라지거나 추가되는 변화가 계속 있습니다. 그리고때에 따라서는 유지보수를 내가 아닌 다른 사람이 해야 할 수도 있습니다. 그런데 다른 사람이 작성한 코드를 보는 일은 결코 쉬운 일이 아닙니다. 이때 가장 ..
명명 규칙 추가첫 글자는 반드시 영문이어야 한다. int nData; ( O ) int nData1; ( O ) int 1nData; ( X ) 대부분의 특수 문자를 사용할 수 없다. int _nData; ( O ) int nData@; ( X ) 한글 이름은 허용되지 않는다(일부 컴파일러는 가능). int 나이; ( X ) 반드시 명명(Naming) 규칙이 있어야 한다. 헝가리안 표기법 프로그램의 코드는 한번 작성하면 끝나는 것이 아니라 프로그램이 사용되는 내내 유지보수를해야 합니다. 즉, 필요에 따라 특정 기능이 사라지거나 추가되는 변화가 계속 있습니다. 그리고때에 따라서는 유지보수를 내가 아닌 다른 사람이 해야 할 수도 있습니다. 그런데 다른 사람이 작성한 코드를 보는 일은 결코 쉬운 일이 아닙니다. 이때 가장 ..
2023.06.27 -
C 언어로 프로그램을 작성할 때 편집기로 입력할 수 있는 문자들 중에서 실제로 프로그램에서 사용할 수 있는 것들을 정리하면 다음과 같습니다. 영문 대소문자 a ~ z, A ~ Z 숫자 0 ~ 9 특수 문자 +, =, _, -, (, ), *, &, %, $, #, !, |, , ., [, ], ^, ~, ,, ;, :, ", ', ... 한글 변수나 함수의 이름이 아니라 주석에서만 사용 가능 (※ 그러나 일부 컴파일러는 한글 이름을 허용함) White Space Space(여백), Tab, New Line(개행 문자) 이들 문자를 조합하여 C 언어의 명령문을 작성할 수 있으며, 각 명령문은 예약어, 식별자, 연산 자 등으로 구성됩니다.
사용 가능한 문자C 언어로 프로그램을 작성할 때 편집기로 입력할 수 있는 문자들 중에서 실제로 프로그램에서 사용할 수 있는 것들을 정리하면 다음과 같습니다. 영문 대소문자 a ~ z, A ~ Z 숫자 0 ~ 9 특수 문자 +, =, _, -, (, ), *, &, %, $, #, !, |, , ., [, ], ^, ~, ,, ;, :, ", ', ... 한글 변수나 함수의 이름이 아니라 주석에서만 사용 가능 (※ 그러나 일부 컴파일러는 한글 이름을 허용함) White Space Space(여백), Tab, New Line(개행 문자) 이들 문자를 조합하여 C 언어의 명령문을 작성할 수 있으며, 각 명령문은 예약어, 식별자, 연산 자 등으로 구성됩니다.
2023.06.27 -
① 빌드 ② 실행 ③ 저장 ④ 에러 컴파일 에러 런타임 에러 로지컬 에러 시멘틱 에러
Build, Save, Execute 그리고 Error① 빌드 ② 실행 ③ 저장 ④ 에러 컴파일 에러 런타임 에러 로지컬 에러 시멘틱 에러
2023.06.27 -
프로그래밍 언어의 기본 역할 개발자가 프로그래밍 언어를 통해 소스 코드를 작성하면, 컴파일러가 0과 1로 이루어진 기계어로 변환한다.
프로그래밍 언어의 역할프로그래밍 언어의 기본 역할 개발자가 프로그래밍 언어를 통해 소스 코드를 작성하면, 컴파일러가 0과 1로 이루어진 기계어로 변환한다.
2023.06.27 -
하드웨어 계층에 더 가까운 언어
저급(low-level) 언어하드웨어 계층에 더 가까운 언어
2023.06.27 -
기계어가 다르다. ≒ 운영체제가 연산(실행) 처리하는 구조 다르다. ≒ 아키텍처가 다르다. 하드웨어에 종속적 C 컴파일러와 하드웨어
Assembly - 이식성이 낮다.기계어가 다르다. ≒ 운영체제가 연산(실행) 처리하는 구조 다르다. ≒ 아키텍처가 다르다. 하드웨어에 종속적 C 컴파일러와 하드웨어
2023.06.27 -
1. Logic Gate 2. 반가산기(半加算器, half adder) AND, OR, NOT 논리회로만으로 구성할 수 있다. 입력 A, 입력 B, 출력 (S), 자리올림수(C) 3. 전가산기(全加算器, full adder) 이진수의 한 자릿수를 연산한다. 자리올림수 입력을 상위의 자리올림수 입력에 연결해 이진수 덧셈이 가능해진다. 두개의 반가산기와 하나의 OR로 구성된다. 입력 A, 입력 B, 자리올림수 입력 (X), 출력 (S), 자리올림수 출력(C)
2.3 Binary - logical operation1. Logic Gate 2. 반가산기(半加算器, half adder) AND, OR, NOT 논리회로만으로 구성할 수 있다. 입력 A, 입력 B, 출력 (S), 자리올림수(C) 3. 전가산기(全加算器, full adder) 이진수의 한 자릿수를 연산한다. 자리올림수 입력을 상위의 자리올림수 입력에 연결해 이진수 덧셈이 가능해진다. 두개의 반가산기와 하나의 OR로 구성된다. 입력 A, 입력 B, 자리올림수 입력 (X), 출력 (S), 자리올림수 출력(C)
2023.02.11 -
① Data Unit 더보기 2진수 근사값 비교 데이터 저장 단위는 MB, GB 같이 Byte(=8 bits) 기반 단위를 사용한다. ② Storage History Punched card (천공카드) Magnetic Storage (자기테이프, 하드디스크) SSD ③ Network Speed 네트워크 속도 단위는 bit 기반의 bps(bit per second) 단위를 사용한다. 데이터 저장 단위인 Byte(8bits)의 8배 수치로 보여진다 생각하면 실제 전송 속도와 전송되는 데이터양이 체감된다.
2.2 Binary - Data, Network Unit① Data Unit 더보기 2진수 근사값 비교 데이터 저장 단위는 MB, GB 같이 Byte(=8 bits) 기반 단위를 사용한다. ② Storage History Punched card (천공카드) Magnetic Storage (자기테이프, 하드디스크) SSD ③ Network Speed 네트워크 속도 단위는 bit 기반의 bps(bit per second) 단위를 사용한다. 데이터 저장 단위인 Byte(8bits)의 8배 수치로 보여진다 생각하면 실제 전송 속도와 전송되는 데이터양이 체감된다.
2023.02.11 -
컴퓨터는 0과 1만 다룬다. 1. bit & Byte 2. Number Base 컴퓨터에서 사용되는 2진법을 왼쪽←오른쪽 2진법, 8진법, 10진법, 16진법 값의 표현은 0에서 시작 진법 변환 연산에서 2^0 = 1 에서 시작 = zero base 2가지, 8가지, 10가지, 16가지를 한자리에서 표현 가능 경우의 수는 가짓수이다. (갯수, 서수) 3. Hex 1 bit = 2진수 1개 4 bit = 2진수 4개 = 16진수 1개 = 0~15 중 숫자 1개 표현 8 bit = 2진수 8개 = 16진수 2개 = 0~255 중 숫자 1개 표현 = 1Byte 32 bit = 2진수 32개 = 16진수 8개 = 4Byte 64 bit = 2진수 64개 = 16진수 16개 = 8Byte
2.1 Binary - bit, Byte컴퓨터는 0과 1만 다룬다. 1. bit & Byte 2. Number Base 컴퓨터에서 사용되는 2진법을 왼쪽←오른쪽 2진법, 8진법, 10진법, 16진법 값의 표현은 0에서 시작 진법 변환 연산에서 2^0 = 1 에서 시작 = zero base 2가지, 8가지, 10가지, 16가지를 한자리에서 표현 가능 경우의 수는 가짓수이다. (갯수, 서수) 3. Hex 1 bit = 2진수 1개 4 bit = 2진수 4개 = 16진수 1개 = 0~15 중 숫자 1개 표현 8 bit = 2진수 8개 = 16진수 2개 = 0~255 중 숫자 1개 표현 = 1Byte 32 bit = 2진수 32개 = 16진수 8개 = 4Byte 64 bit = 2진수 64개 = 16진수 16개 = 8Byte
2023.02.07 -
더보기 개발자 관점에서 개발자란? 기술자 전문가, 돈을 받는 프로다. 개발자는 목표가 정해지면, 대상을 분석하고, 계획을 세우고, 구현이라는 결과를 만드는 사람이다. 여러분의 목표는? 너는 지금 여기서 공부를 열심히 왜 하고 있나요? 내 목표와 결과 과정과 계획 목표가 확실해야 하는 이유 목표가 확실하게 정해지지 않으면, 목표를 이루기 위한 계획이 불가능하다. 행동의 이유가 없으면 의욕이 생기지도 않고, 능률도 향상되지 않는다. ※ 오늘 수업 목표 1. 하드웨어 1.1 하드웨어를 바라보는 관점 1.2 하드웨어 ↔ 소프트웨어 ↔ 개발자 정의와 관계 이해 2. 프로그래밍 언어 2.1 프로그래밍 언어 왜 등장했을까? 3. 로직 그리고 용어 3.1 로직이란? 3.2. 개발자가 용어를 바라보는 관점과 정의해야 하..
1. S/W 개발과 C언어더보기 개발자 관점에서 개발자란? 기술자 전문가, 돈을 받는 프로다. 개발자는 목표가 정해지면, 대상을 분석하고, 계획을 세우고, 구현이라는 결과를 만드는 사람이다. 여러분의 목표는? 너는 지금 여기서 공부를 열심히 왜 하고 있나요? 내 목표와 결과 과정과 계획 목표가 확실해야 하는 이유 목표가 확실하게 정해지지 않으면, 목표를 이루기 위한 계획이 불가능하다. 행동의 이유가 없으면 의욕이 생기지도 않고, 능률도 향상되지 않는다. ※ 오늘 수업 목표 1. 하드웨어 1.1 하드웨어를 바라보는 관점 1.2 하드웨어 ↔ 소프트웨어 ↔ 개발자 정의와 관계 이해 2. 프로그래밍 언어 2.1 프로그래밍 언어 왜 등장했을까? 3. 로직 그리고 용어 3.1 로직이란? 3.2. 개발자가 용어를 바라보는 관점과 정의해야 하..
2023.02.07