또 뭐하지

[기초] C언어 개념 간략 정리 본문

I.sly()/9기 기초 - 공통

[기초] C언어 개념 간략 정리

mameul 2024. 3. 15. 18:55
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를 만나면 이하 실행문은 수행되지 않고 반복문의 처음으로 돌아감.

 

 

배열

  • 여러 개의 변수를 한꺼번에 선언
  • 형식 : 자료형 변수이름[갯수];
  • 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 구조체 이름 { 자료형 변수명; 자료형 변수명; }
  • 구조체 멤버 접근 : . 연산자를 사용
  • 구조체 변수는 단일 변수처럼 전달, 함수의 인수로 전달되거나 반환될 수 있음

 


포인터랑 구조체는 다음에 자세히 정리하는 것으로-!