728x90
반응형

알고리즘의 5가지 특성

 

- 입력 : 입력은 0개 이상 존재한다

- 출력 : 출력은 1개 이상의 결과가 있어야 한다

- 명확성 : 명령어들은 명확해야한다

- 유한성 : 알고리즘의 명령어들은 유한 번의 수행 후 종료되어야 한다

- 유효성 : 모든 명령들은 명백하고 실행 가능한 연산들이어야 한다

 

 

코드 품질 향상 기법

- 테스트 : 말 그대로 테스트. 코드를 돌려보는 것 이겠죠.

- 코드 인스펙션 : 코드에 존재하는 결함을 눈으로 발견하는 검사

- 증명 : 가장 이상적인 방법으로 소프트웨어 품질이 아주 중요한 경우에 주로 활용

- 동적 분석 : 프로그램을 실행시키고 분석하는 도구. (실행과정에서 비효율적인 코드를 분석함)

- 정적 분석 : 프로그램을 실행시키지 않고 분석하는 도구. (데드코드가 없는지, 선언이 되지 않고 사용한 변수가 없는지 등을 확인함)

* 4강에서 정적,동적이 나온다면 대부분 프로그램 실행의 유무입니다 *

 

 

 

C언어에 대하여

 

- C언어 변수 선언의 예약어

 

-변환 문자와 옵션

- : 좌측에 맞춰 출력한다

+ : 숫자 앞에 부호를 붙인다

0 : 숫자 앞 공백을 모두 0으로 채운다

ex) 정수일 경우

%7d : 7자리 수를 확보, 우측에 맞춰 출력

%-7d : 7자리 수를 확보, 좌측에 맞춰 출력

%3d : 5글자를 이걸로 출력할 경우! => 자리가 부족해도 출력

 

실수일 경우

%7.2f : 소수점 이하 두자리 사용, 나머지 반올림

%.1f : 자릿수를 생략하면 상수 값에 자리를 맞춰 출력

문자일 경우

%7.2s : 2문자를 끊어서 우측에 맞춰 출력

* 실수일 경우와 문자일 경우도, 정수일 경우의 규칙을 이행한다 *

- 연산자 정리 (헷갈리는거 위주)

a<<n : 변수 a를 n비트 만큼 좌 시프트한다 (숫자가 커지는 쪽)

a>>n : 변수 a를 n비트 만큼 우 시프트한다 (숫자가 작아지는 쪽)

++a : a변수를 1 증가시키고 이 문장이 있는 줄부터 증가됨이 적용

a++ : 일단 이 문장을 a값의 변화없이 넘어가고, 다음 문장부터 a의 값이 1 증가한 상태로 적용

- 변수 선언

sub(){

static int a=0 //그대로 유지, 실행 시에는 수행하지 않음

outo int b=0 //매번 새롭게 실행

a++; b++;

}

여기서 sub함수를 반복해서 실행하면 a는 처음에만 0으로 초기화되고 이후에는 초기화되지 않아서 계속해서 수가 증가한다. 반면에 b는 함수를 실행할때마다 0으로 초기화 되면서 0,1,0,1의 값을 반복하게 된다.

728x90
반응형

+ Recent posts