01. C언어 1주차 복습

dream.log·2021년 2월 8일
0

TIL

목록 보기
35/42
post-thumbnail

기본적인 공부 시작에 앞서
C언어 기초를 다지는 것이 맞다고 판단하고, 듣게 된
패스트캠퍼스 컴퓨터 공학 기초 강의-

매일 복습하지 못했지만,
일주일 배운 내용을 지금이나마 기록!

  • velog를 처음 써보다보니, 내용을 적는 것 보다 이 시스템에
    적응하는데도 꽤 많은 시간이 필요한 것 처럼 느껴진다.
    쓰다보면 나아지겠지...?ㅠㅠ
  • 일주일 치 복습하는데 6시간이 걸렸다.
    이해가 안 되는건 아니지만, 하나하나 되새기다보니 시간적으로
    무척 많이 소요된다... 복습은 미리미리 하자!!!!
  • 나중엔 전문가가 되어 이런내용 공부하는데 1주일이나 걸렸단 말야?
    하고 귀엽게 볼 수 있는 날이 금방 왔으면 좋겠다
    ㅠㅁㅠ
  1. 통합개발환경 (Integrated Development Environment)
    : 프로그램 기반에 사용되는 코딩, 디버깅(오류를 수정하고 고치는 작업), 컴파일 (코딩언어 -> 기계어로 번역)의 모든 과정을 통합적으로 관리할 수 있게 해주는 소프트웨어. 줄여서 IDE.
  1. visual studio 소스코드
    1) 생성방법
    : 소스파일 -> 추가 (D) -> 새항목 (W) -> C파일 (.c) 생성
    - 유의사항 : 언더바 x, 특수문자 x

    2) 실행방법
    : 디버그 -> 디버깅시작 (S), F5 가능
  1. C++ : 기본적으로 C의 기능을 확장한 형태의 프로그래밍 언어
  • 변수 (variable) : 변할 수 있는 데이터
  • 상수 (Constant) : 변하지 않는 데이터

    3-1. 변수의 선언 : 자료형과 변수명을 입력
    가장 많이 사용되는 함수 : int (정수형 함수)
    정적 변수로 선언된 것은 기본적으로 0으로 값이 초기화

    3-2. 기본적인 자료형
    - int (4byte) : 일반적인 정수형 표현 (억단위) %d
    - long long (8byte) : 숫자가 긴 정수형 표현 %lld
    - double (8byte) : 일반적인 실수형 표현 사용
    입력 시 %lf, 출력시 %f
    - bool (1bit) : 참/거짓 표현
    - char (1byte = 8bit) : 한 문자 표현 %c
    - float (4byte): 실수형 데이터 입출력 %f
    - string (제한없음) : 문자열 데이터 입출력 %s
  1. 연산자
    • 연산자 (Operator) : 연산을 수행하는 기호
    • 피연산자 (Operand) : 연산에 포함되는 변수나 상수

      1) 대입 연산자 : = (Equal sign) 오른쪽 값을 왼쪽에 넣어달라.
      2) 사칙연산 : +, -, *, /(몫), %(나머지. 모듈러연산 기호)
      3) 이스케이프 시퀀스 : c언어에서 특정 표현 출력하기 위해 사용
      \n, ₩n : 줄 바꾸기 (2번 줄 바꾸기 \n\n)
      \t, ₩t : 수평 탭 넣기
      ₩₩,\ \ : 백슬래시 넣기
      \" : 큰 따옴표 넣기
      \b : 백스페이스 넣기

      4) 관계 연산자
      : 컴퓨터는 0을 거짓, 그 외 숫자를 참으로 받아들인다.
      [ > 크다, < 작다,
      == 같다, != 다르다, >= 크거나 같다, <= 작거나 같다. ]

      5) 논리 연산자
      : ! (부정), && (그리고), II (또는)
      (수식1) && (수식2) : 1과 2가 모두 참이어야 참
      (수식1) II (수식2) : 1,2 중 한개만 참이어도 참으로 출력

      a > b > c 로 표현하면 a>b 를 계산하고 > c 를 출력하므로
      a > b, b > c 로 꼭 적어주기 :-)

      6) 증감 연산자
      : ++(변수) : i의 값을 1 증가시킨 후 증가된 값을 반환
      (변수)++ : i의 값을 1 증가시킨 후 증가되기 전의 값을 반환
      --(변수) : i의 값을 1 감소시킨 후 감소된 값을 반환
      (변수)-- : i의 값을 1 감소시킨 후 감소되기 전의 값을 반환

      7) 삼항 연산자 ( ?와 :로 식 구성)
      : printf ("%d/n",(a==b) ? 100 : -100 )
      a==b가 참이면 100 출력, 거짓이면 -100 출력

      8) 비트 연산자 (이진법 출력)
      : ~ (부정 값을 반대로 출력), & (그리고두개다 1이어야 1으로 출력),
      | (또는둘중 한개라도 1을 가지면 출력), ^ (배타적둘 중 한개만 1일 때 출력) << (왼쪽 시프트_ 값을 왼쪽으로 3번 밀어냄)

      # 연산자 우선순위 :
      증감연산 > NOT 연산 > 곱셈나눗셈 > 기본연산 > shift 연산 > 관계연산자 > 비트, 논리,삼항 연산자
  1. 조건문
  • if문 : 내부의 조건을 검사해 프로그램의 진행 경로를 결정
    조건의 개수가 많지 않을 때 사용하는 것이 유리
    • if (조건 1) : 조건 1 부합
    • else if (조건 2) : 조건 1에 부합하지 않으나, 2에 부합할 때
    • else : 모든 조건에 부합되지 않을 때
      if문의 경우, 조건이 중복충족되는 경우가 있기에 조건 점검을 잘 해야 한다!

  • switch문 : 다양한 조건이 존재할 때 사용
    • switch (확인 대상) {
      case 값 1 : // 값 1에 부합할 때
      case 값 2 : // 값 2에 부합할 때
      Defalut : // 모든 경우
      }
    • switch문은 상위 조건 충족 시 하위조건이 모두 출력됨
      case문의 마지막 ; break ; 삽입하여 특정 부분 실행 컨트롤
    • char, int, long, double, 자료형 사용 가능
    • case : (이어지는) break ; (끊어지는)
  1. 반복문
  • for문 : 내부의 조건에 부합하면 특정한 구문 계속 실행.
    탈출 원하는 위치에 break 구문 삽입 필요
    for ( 초기화 ; 조건 ; 반복 끝 명령어)
    1 부터 100까지의 정수 출력 (101에 멈춤)

    - 예시
    #include <stdio.h>
    int main (vold) {
      for (int i = 0 ; <=100, i++) {
                             printf ("%d\n",i);
                             }
      system("pause");
                             }
  • 무한 루프 : 종료 조건 없이 한없이 반복되는 반복문
    (조건이 항상 참일 경우 발생)

  • while문: 조건 부합 시 특정 구문 계속 실행
    탈출 원하는 위치 break 삽입.
    * while문이 실행되면 참값인지 먼저 검사하고,
    참이면 실행하여 -1 감소, 거짓이 될 때 까지 while ~ printf ; 부분 반복 실행

    - 예시
     #define_CRT_SECURE_NO_WARNINGS
     #Include <stdio.h>
     int main (vold) {
     int n ;
     char a ;
     scanf ("%d %c", &n, &a);
     while(n--) {
       printf("%c",a);
       }
     system("pause");
     return 0;
     } 
  • 중첩된 반복문
    : 반복문 내부 또다른 반복문이 존재하는 형태의 반복문
    반복문이 중첩될수록 연산 횟수는 제곱의 형태로 늘어남
    - 예시 (while문의 구구단 출력)
    [i 가 1번씩 반복될 때마다, j는 9번 반복된다.
    i와 j를 곱해서 j값이 9와 작거나 같을 때까지 반복됨]
    #include <stdio.h>
    int main (void) {
    int i = 1;
    while (i <= 9) {
     int j = 1;
     while (j <= 9) {
    	   printf ("%d * %d = %d\n", i, j, i*j);
    	   J++;
    	  }
    	  printf("\n");
    	  i++;
    	 }
    	 system("pause");
    }
  • 예시 (for문의 구구단 출력)
 #include <stdio.h>
  int main (void) {
  	for (int i = 1 ; i<=9 ; i++) {
      for (int j = 1; J <=9; j++) {
  		printf("%d * %d = i, j, i * j) ;
        }
  	  printf("\n");
      }
  	  system("pause");
  }
  • for문을 활용하여 9단까지의 반복을 출력!
  • 반복문은 상호 치환이 가능하고, 무한 루프가 발생하지 않도록 유의!
    행렬, 그래프 연산에 많이 활용됨!
  1. 작성 기본 상식
  • ; (세미콜론) : 명령의 마지막 삽입
  • printf : 출력
  • scanf() : 특정 변수 값을 넣기 위해 사용. 프로그램 입력 함수
  • system("pause") : 창 닫힘 방지
  • #include <stdio.h> : 라이브러리 불러오기
  • return 0; : main함수에는 반환값 0이 필요
  • 시작과 끝 : { }
  • #define_CRT_SECURE_NO_WARNINGS :취약 함수 사용 허용
  • & : 특정한 변수의 주소
  • void: 아무것도 없는. 입력이 없지만 int형으로 출력받는 메인함수
    정수형으로 return시 int 함수와 함께 사용됨
profile
한 걸음, 한 걸음 포기하지 않고 발전하는 Backend-developer 👩🏻‍💻 노션 페이지를 통한 취업 준비 기록과 회고를 진행하고 있습니다. 계획과 기록의 힘을 믿고, 실천하고자 합니다.

0개의 댓글