안녕하세요~
1권 질문입니다.
1. p55 해설을 보면 문자에서 %-10s는 korea_____ , %10s는 _____korea 이고 숫자에서 &8.2f는 __125.23 이었는데요.
문자에서 (-)는 왼쪽, (+)는 오른쪽인 걸 알 수 있었는데,
p83 기출따라잡기 문제1번은 &8.3s이고 답이 korea___에서 앞 세자리를 뽑은 kor이라고 되어 있는데
문자에서 (+)니까 오른쪽에서 세자리를 읽어와야 하는 것 아닌가요? 왜 왼쪽부터 읽나요?
2. p93쪽에서 for(i=0; i<5; i++)라고 되어 있는데 실행 순서나 값에서 for(i=0; i<5; ++i)랑 차이가 있나요? 어떤 문제는 i++이고 또 어떤 문제는 ++i로 나오던데 실행순서가 같은 것 같아서요.
3. p104 문제8에서 123456789.0e-5f를 %f의 형태로 고칠 때 답이 1234.567871인데 만약에 시험에 나온다면 소수점이하 6자리라는 건 알겠는데, 그 뒤에 왜 9가 71이 되나요?
4. p478해설에서는 연산을 뒷 부분부터 차례대로 한다고 되어 있는데, 왜 우선순위로 안하나요?
p61에서 연산자 우선순위의 설명은 같은 대입연산자이면 >>=, <<=, %=, /=, *=, -=, +=, = 이 순서로 계산하라는 뜻이 아니였나요?
안녕하세요.
1)
문자열을 지정하는 서식 연산자인 %s에 부호가 붙는 경우는 가져오는 값의 위치가 아니라 출력할 방향을 지정합니다.
%-8.3s 라고 지정하면 출력될 자리를 8자리 확보한 후 대응되는 변수에서 소수점 자릿수(3)만큼 가져와 왼쪽(-)부터 출력한다는 의미입니다.
%8.3s 라고 지정하면 출력될 자리를 8자리 확보한 후 대응되는 변수에서 소수점 자릿수(3)만큼 가져와 오른쪽(+)부터 출력한다는 의미입니다.
즉 %s에서의 부호는 대응되는 변수에서 가져올 값의 위치를 지정하는 것이 아니라 출력되는 출력 방향을 지정하는 것입니다.
2)
반복문에서 증가값으로 사용되는 경우 ++i와 i++은 차이가 없이 동일하게 1씩 증가하는 기능을 수행합니다.
증감 연산자가 단독으로 사용될 때는 후치나 전치나 동일합니다.
다른 수식에 포함되어 사용될 때만 그 기능을 발휘하는 것이죠.
3)
실수를 지수로 표현하는 정규화 과정에서의 차이로 발생하는 것인데, 이러한 차이까지 파악하라는 것은 정보처리 시험과 맞지 않습니다. 이 문제는 자리수 확인을 위해 담아두은 것으로 실제 문제로 출제되지는 않을 것입니다. 그러니 자리수 파악의 용도로만 확인하고 넘어가세요.
4)
a += b 는 a = a + b 의 개념입니다.
뒤의 b에 해당하는 것이 또다른 c += d 인 것으로 뒤의 과정이 우선 수행되어 그 결과가 앞쪽에 적용되는 것이므로
뒤에서부터 계산이 수행되는 것이죠.
굳이 구분해서 적어보자면
myVar.a += ( myVar.b -= ( myVar.c *= 10 ) )
위와 같이 구조라고 생각하시면 됩니다.
오늘도 즐거운 하루 되세요.
-
*2017-06-14 10:05:36
안녕하세요.
1)
문자열을 지정하는 서식 연산자인 %s에 부호가 붙는 경우는 가져오는 값의 위치가 아니라 출력할 방향을 지정합니다.
%-8.3s 라고 지정하면 출력될 자리를 8자리 확보한 후 대응되는 변수에서 소수점 자릿수(3)만큼 가져와 왼쪽(-)부터 출력한다는 의미입니다.
%8.3s 라고 지정하면 출력될 자리를 8자리 확보한 후 대응되는 변수에서 소수점 자릿수(3)만큼 가져와 오른쪽(+)부터 출력한다는 의미입니다.
즉 %s에서의 부호는 대응되는 변수에서 가져올 값의 위치를 지정하는 것이 아니라 출력되는 출력 방향을 지정하는 것입니다.
2)
반복문에서 증가값으로 사용되는 경우 ++i와 i++은 차이가 없이 동일하게 1씩 증가하는 기능을 수행합니다.
증감 연산자가 단독으로 사용될 때는 후치나 전치나 동일합니다.
다른 수식에 포함되어 사용될 때만 그 기능을 발휘하는 것이죠.
3)
실수를 지수로 표현하는 정규화 과정에서의 차이로 발생하는 것인데, 이러한 차이까지 파악하라는 것은 정보처리 시험과 맞지 않습니다. 이 문제는 자리수 확인을 위해 담아두은 것으로 실제 문제로 출제되지는 않을 것입니다. 그러니 자리수 파악의 용도로만 확인하고 넘어가세요.
4)
a += b 는 a = a + b 의 개념입니다.
뒤의 b에 해당하는 것이 또다른 c += d 인 것으로 뒤의 과정이 우선 수행되어 그 결과가 앞쪽에 적용되는 것이므로
뒤에서부터 계산이 수행되는 것이죠.
굳이 구분해서 적어보자면
myVar.a += ( myVar.b -= ( myVar.c *= 10 ) )
위와 같이 구조라고 생각하시면 됩니다.
오늘도 즐거운 하루 되세요.