또 뭐하지
[기초] C언어 개념 간략 정리 본문
728x90
기초
- c 언어 : 컴퓨터 프로그래밍 언어 중 하나, 절차지향 언어(위에서 아래로만 컴파일 진행됨)
- 헤더파일 : c언어의 문법을 가진 프로그램으로 코드의 맨처음에 불러와야 함. #include <헤더파일 이름> (ex. #include <stdio.h>)와 같이 불러옴.
- 세미콜론 (;) : 문장 하나가 끝날 때 입력해줘야 함.
- 주석 : 설명을 달 때 사용. //(한 줄), /* */(여러 줄).
- 변수 선언 : (변수형) (변수이름) 형식 (ex. int a, float b)으로 선언.
- int : 정수, unsigned int : 자연수, float : 실수, char : 문자 한 개, string : 문자열, double, long : 큰 실수
- 매크로 상수 : #define (매크로 상수 이름) (숫자) 형식. 상수를 정의.
입출력
- printf( ) : 화면에 수나 문자를 출력하는 함수. printf(”출력할 내용”); , printf(”변환문자”, 변수); 형식으로 사용.
- 변환 문자 : %d (int, 정수), %f (float, 실수 소수점 아래 6자리), %g (float, 실수 소수점 아래 1자리), %c (char, 문자 1개), %s (string, 문자열)
- 기호 문자 : \n (줄바꿈), \t (tab) 등
- scanf( ) : 변수에 값을 입력하는 함수. scanf(”변환문자”, &변수); 형식으로 사용.
- cast 연산자 : 변수형을 임시로 변환하는 함수. (ex. printf(”%c”, (char)a); → int형의 변수 a를 char형으로 임시 변환)
조건문
- 조건식
- 1 : 조건식이 참, 0 : 조건식이 거짓
- == (같다), != (다르다), <,>,<=,>= (부등호)
- (조건식)&&(조건식) : and, 두 조건식 모두 만족하면 참
- (조건식)||(조건식) : or, 두 조건식 중 하나라도 만족하면 참
- !(조건식) : not, 참이면 거짓, 거짓이면
- 조건 연산자 : (조건식) ? (참일 때) : (거짓일 때)
- if 문
- 형식 :
- if (조건식) { 실행문; }
- 실행 : 조건식이 참일 때 실행문으로 수행하고 거짓이면 다음으로 넘어감.
- if - else 문 : if 문의 조건식이 거짓이면 else 문이 실행.
- if - else if - else 문 : else if 문의 수는 제한이 없음. 여러개의 조건문을 위에서부터 읽어가며 가장 먼저 참이 되는 블록이 실행. 모든 조건식이 거짓인 경우 else 문이 실행.
- switch-case 문
- 형식 :
- switch (판단할 변수) { case 숫자 : 실행문 ; break; default: 실행문; }
- 실행 : 판단할 변수의 값이 n일 경우 case n의 실행문을 수행함. 해당하는 case가 없다면 default의 실행문을 수행함.
- 반복문
- for 문
- 형식 :
- for ( 초기화식; 조건식; 증감식 ){ 실행문; }
- 실행 : 조건식이 참일 때 실행한 후 증감식을 실행하고 다시 조건식 평가, 거짓이 되면 종료.
- while 문
- 형식:
- while (조건식) { 실행문; }
- 실행 : 조건식이 참이면 실행문을 수행하고 다시 조건식 평가, 거짓이 되면 종료.
- do-while 문
- 형식 :
- do { 실행문 ; } while (조건식) ;
- 실행 : 실행문을 수행한 후 조건식 평가. 참이면 조건식을 수행하고, 거짓이 되면 종료.
- break : break를 만나면 반복문에서 빠져나감.
- continue : continue를 만나면 이하 실행문은 수행되지 않고 반복문의 처음으로 돌아감.
- for 문
배열
- 여러 개의 변수를 한꺼번에 선언
- 형식 : 자료형 변수이름[갯수];
- int, float 배열은 중괄호를 써서 변수의 값을 정함, {0, }을 쓰면 변수들이 0으로 초기화됨. char 배열은 “…” 형식으로 선언 가능.
- 다차원 배열 : 2차원 - 자료형 변수이름[가로][세로], 3차원 - 자료형 변수이름[가로][세로][높이]
- char 배열 (문자열 배열)
- 배열의 마지막 값으로 반드시 NULL 값을 배정해줘야함
- gets(), puts()
- string.h
- strcpy(char* s1, const char* s2) : s1에 s2의 모든 원소를 복사함
- strcat(char* s1, const char* s2) : s1에 s2를 이어붙임
- strchr(const char* s, int c) : s 배열에서 c라는 특정문자를 찾음
- strlen(const char* s) : s 배열에서 NULL을 제외한 길이를 셈
함수
- 형식 : 반환형 함수이름 (매개변수) { … }
- 함수 반환형 : int (반환값이 정수형), void (반환값이 없음) 등
- 함수 정의 : 함수를 실제 코드로 만드는 것
- 함수 선언 : 어떤 함수를 만들어서 쓸 것이라고 미리 컴파일러에 정보를 주는 것
- 매개변수 : 함수가 처리할 데이터를 저장하는 변수. 배열도 입력가능. (배열의 길이 비워둠. 다차원의 경우 첫 번째만 비워둠)
- 재귀함수 : 함수 안에서 자신을 호출하는 함수
포인터
- 메모리 주소를 저장하는 변수, 다른 변수의 메모리 주소를 저장하고 해당 변수에 대한 간접적인 접근을 제공
- 형식 : 데이터형태* 포인터이름 (ex. int* ptr, char* str)
- 동적 메모리 할당, 함수 호출, 배열 등 다양한 용도로 사용
- 포인터 연산자 : * (역참조), & (주소 연산자)
구조체
- 서로 다른 데이터 형식을 포함하는 사용자 정의 데이터 형식. 하나의 구조체 변수 안에 여러 데이터를 그룹화하여 관리.
- 형식: struct 구조체 이름 { 자료형 변수명; 자료형 변수명; }
- 구조체 멤버 접근 : . 연산자를 사용
- 구조체 변수는 단일 변수처럼 전달, 함수의 인수로 전달되거나 반환될 수 있음
포인터랑 구조체는 다음에 자세히 정리하는 것으로-!
'I.sly() > 9기 기초 - 공통' 카테고리의 다른 글
[기초] 웹 해킹 개념 간략 정리 (0) | 2024.04.04 |
---|---|
[기초] 웹 개념 간략 정리 (0) | 2024.03.28 |
[기초] OverTheWire:Bandit - level 0~level 6 (0) | 2024.03.28 |
[기초] 리눅스 개념 간략 정리 (0) | 2024.03.28 |
[기초] 컴퓨터구조, 자료구조, 알고리즘 간략 정리 (0) | 2024.03.22 |