정보처리기사 실기 공부log - 20200910

2020. 9. 10. 16:48컴퓨터언어

728x90
반응형

 

 

scanf()

 

scanf()에서 서식을 %2d처럼 지정하면 앞에서부터 2글자만 저장된다. %3f이면 "소수점포함"해서 앞에서 3개이다.

&c이면 맨앞글자만 저장한다.

배열은 일반 변수와 달리 배열의 이름 자체가 배열의 첫 원소의 시작주소를 나타내므로, &가 필요없다.

&s이면 하나의 단어를 저장한다. 즉 공백이 나타나기 전까지다.

한번에 두 개 이상의 변수에 입력한다면(scanf에 서식문자가 2개 이상), 공백을 기준으로 변수가 나뉜다.

단정도 실수형이든 배정도 실수형이든, scanf로 입력할 때는 모두 2진수 부동소수점 방식이어서 %f든 %e든 상관없다. 출력때만 제대로 구분하면 된다.

%c : 맨앞 1글자만 저장

%10c : 앞에서부터 10글자를 모두 저장

%c %3c : 맨앞 1글자 + 맨앞1글자이후부터 연속3글자 모두 저장

123456처럼 하나의 수가 입력되고, "%2d %3f"가 서식으로 지정되면, 12와 345가 차례로 저장된다.

여러 서식지정자 사이에 $$같은 문자가 있다면, 입력 시 $$를 기준으로 서로 다른 변수에 저장된다.

 

printf()

 

\r: carriage return, 커서를 현재 줄의 처음으로 이동

\f: form feed, 한 페이지를 넘김

scanf와 달리 변수의 데이터가 서식문자열을 초과하면 초과한대로 출력된다.

%f, %e는 자릿수지정 따로 안해주면 기본적으로 "소수점 이하 6자리"만 출력한다. 남은 자리는 0으로 출력.

-없으면 오른쪽정렬된다.

%.3f이면 소수점 이하 4번째자리에서 반올림하여 3번째자리까지 나타낸다.

출력시 지수형은 x.xxxxxxe±01 형태이다.

%.3s : 왼쪽에서부터 3글자를 모두 출력

%3s : 우선 메모리에 3글자 자리를 확보하되, 해당 문자열이 3글자를 초과하면 서식을 무시하고 모두 출력

%e를 %f로 변환할 때 먼저 e±로 된 소수점 자리를 변환할 것

입력 후 출력할 때, 123456을 i, j로 연속된 변수로의 입력은 12/3456처럼 쪼개짐을 기억하라.

 

연산자

증감연산자가 섞여있다면, 식 안에 있는 그 변수는 모두 업데이트 된다.

맨 왼쪽 비트가 1이면 2의 보수를 실행한다. 2의 보수로 구한 양수에 최종적으로 마이너스를 붙이면 정답이다.

~는 비트연산자에서의 부정, !은 논리연산자에서의 부정이다.

대입연산자가 여러 개이면, 오른쪽부터 계산한다.

단항 -> 산술 -> 시프트 -> 관계(대소->같은지다른지) -> 비트(&->^->|) -> 논리 -> 조건 -> 대입(대입끼리는오른쪽부터) -> 순서(쉼표)

삼항연산자에서 조건식은 후치증감연산자의 영향을 받고, ":" 좌우에 있는 수식은 영향을 받지 않는다.

 

728x90
반응형