복습 내용은 아이티뱅크 C언어 I 수업을 바탕으로 합니다.
1. printf, scanf 함수
예시:
printf("my number: %d\n", 2);
int num;
scanf("%d", &num);
C언어에서의 특수문자는 다음과 같이 표현할 수 있다.
printf와 scanf에서의 서식 지정은 다음과 같이 한다.
* 필드 폭 지정하여 출력하기
printf("%-8s \n, "이름");
필드의 폭이 8칸 확보된 채로 출력된다!
* 지수 입력
지수를 표현할 때는 e를 사용한다.
printf("실수 입력: ");
scanf("%f", &num1); //1.1e+2 식으로 입력해도 된다!
2. 반복문
(1) while문
while (조건)
{
// 반복할 내용
}
(2) do - while문
do
{
// 처음 한 번은 무조건 실행
}
while (조건)
{
// 조건이 맞을 때 반복될 내용
}
(3) for 문
for(초기식;조건식;증감식)
{
// 반복될 내용
}
(4) 반복문 생략 및 탈출
while (true)
{
if (조건1)
{
break;
}
else if (조건2)
{
continue;
}
// 반복될 내용
}
* break는 자신을 감싸는 반복문 하나를 빠져나간다 = 종료시킨다.
* continue는 자신을 감싸는 반복문의 가장 위로 올라가 조건 검사를 다시 시행한다.
3. 조건식
(1) if ... else if ... else 문
if (조건1)
{
// 조건1에 해당하는 경우 실행
}
else if (조건2)
{
// 조건2에 해당하는 경우 실행
}
else if (조건n)
// 조건n에 해당할 때 실행
}
else
{
// 나머지 모든 경우에 실행
}
(2) 삼항 연산자 (ternary operator)
(조건) ? data1 : data2 //조건이 true면 data1 반환,false면 data2 반환!
(3) switch문
switch(x) {
case 'A':
// x == 'A'일 때 실행될 부분
break;
case 'B':
case 'C':
// x == 'B'혹은 x == 'C'일 때 실행될 부분
break;
default:
// 다른 모든 경우에 실행될 부분
break;
}
4. 함수
* 입력이 주어졌을 때 어떠한 연산을 거쳐 출력을 반환
* 함수로 해당 코드를 관리하면 수정 및 재사용이 쉽다!
* C언어에서 컴파일은 위에서 아래로 된다. 따라서 함수 및 변수의 선언 순서가 중요.
5. 지역변수
* 함수, 반복문 등 중괄호 내에 선언되는 변수를 지역변수라 한다.
* 해당 지역을 벗어나면 지역변수는 소멸되며, 함수가 호출될 때마다 새롭게 할당됨.
* static 지역변수 : 한 번만 초기화되고 프로그램 종료 시까지 메모리 공간에 존재하되 (전역변수 특성), 중괄호 내에서만 접근이 가능 (지역변수 특성)
static int num = 2;
6. 전역변수
* 프로그램의시작과 동시에 메모리에 할당되며, 프로그램 종료 시까지 존재한다.
* 별도로 초기화 안하면 0으로 초기화되며, 프로그램 어디서든 접근이 가능하다.
7. register 변수
* register를 앞에 붙여주어 빈번히 사용하니 접근이 제일 빠른 레지스터에 해당 변수를 저장하라는 의미를 담고 있다.
register int num = 2;
8. 재귀 함수
* 자기 자신을 재호출하는 형태로 정의된 함수
* 탈출 조건을 정의해주는 것이 중요하다.
* 예시: 팩토리얼
int Factorial(int n)
{
if (n == 0)
return 1;
else
return n * Factorial(n-1);
}
int main(void)
{
printf("1! = %d\n", Factorial(1));
}
* 재귀함수는 호출이 반복될 수록 스택 영역의 메모리 사용이 커지고, 작업에서의 오버헤드가 증가하기에 잘 사용해야 한다.
9. 배열
* 다수의 변수 선언을 용이하게 하기위함.
// 1차원 배열 예제
int oneDimArr[4]; // int 자료형의 oneDimArr 이름의 [4] 길이의 1차원 배열선언
* 초기화 방법들
int arr[5];
for (let i = 0;i<5;i++)
{
arr[i] = i;
}
int arr2[5] = {1, 2, 3, 4, 5};
int arr3[5] = {1, 2}; //{1, 2, 0, 0, 0}
* 배열의 길이 구하는 방법
int arr4[] = {1, 2, 3, 4, 5};
arr4Length =sizeof(arr4) / sizeof(int);
* 배열 이용한 문자열 변수 표현
: 예시
char str[8] = "Hi bro!"; // 글자 수는 'H', 'i', ' ', 'b', 'r', 'o', '!'로 7개지만, \n까지 포함해 8로 길이 지정
: 문자열 끝에 널 문자 - \n -가 포함된다. 이는 문자열의 끝을 의미함.
: 널 문자(\n)는 자동으로 포함된다.
char arr1[]= {'H', 'i', '~'};
char arr2[] ={'H', 'i', '~', '\0'}; // 널 문자가 문자열임을 의미해준다.
'학점은행제' 카테고리의 다른 글
[네트워크] 학습복습 - 통신의 개념, 컴퓨터 네트워크 역사, OSI7계층 (0) | 2021.05.24 |
---|---|
[컴퓨터시스템] 학습복습 - 유닉스/리눅스, 커널, 시스템 호출 (0) | 2021.05.22 |
[C언어 I] 학습복습 - 포인터, 포인터 연산 및 배열, 다중 포인터, 배열 포인터, 함수 포인터, 스트림, EOF, 문자열 입출력 함수 및 버퍼 (0) | 2021.05.22 |
FFT (Fast Fourier Transform) 정리 (0) | 2021.05.21 |
[C 언어 I] 학습복습 - C언어 개론, 변수, 연산자, 데이터 표현, 기본 자료형 (0) | 2021.05.20 |
댓글