수고가 많으십니다.
시나공책 오직 하나만 믿고 달려가고 있는 수험생입니다.
아래의 4가지를 문의드리고자 합니다!
<질문.1>
65p 맨 윗줄 C언어 코드가 if (i%2==0)라고 써있는데
거기에서 ==를 =로 바꿔도 가능한지 궁금합니다.
(그러니까, ==와 =의 차이점을 알고 싶습니다.)
<질문.2>
66p와 74p의 C언어 코드부분을 보면 if 다음에 나와야 하는 “else”가 생략되어 있습니다.
원래 else는 그렇게 생략 가능한 건지요?
<질문.3>
66p의 예제1의 순서도는 결과적으로 10이 출력되기는 하겠지만, 무의미한 알고리즘으로 보여지는데요,
그 예제는 단지 10이 출력된다는 것 하나만을 보여주기 위해 제시된 예제인지... 저자님의 의도가 궁금합니다.
<질문.4>
72p C언어 코드부분에 보면 i의 값을 하나씩 누적시키는 “i++”라는 부분이 있습니다. 그 부분을 “i++”가 아닌 “++i”로 써도 되는지요?
안녕하세요 길벗수험서 운영팀입니다.
[질문1]
C언어에서 =는 등호가 아닌 대입연산자입니다.
우측에 있는 수식의 결과를 왼쪽으로 대입하라는 의미죠. (a=3, 변수 a에 3을 저장)
즉 if의 조건식이나 for문의 조건식이 들어가는 곳에는 '='가 아닌, 비교연산자 '=='가 들어가야 합니다.
[질문2]
else는 생략 가능한 예약어입니다.
else가 들어가야 하는 알고리즘을 잘 생각해 보세요.
1. A와 B가 같다면 codeA를 수행하고 아니면 codeB를 수행하라.
2. codeC 수행
이것을 코드로 풀어보면
if (a==b) codeA
else codeB
codeC
가 될 것 입니다.
1. A와 B가 같다면 codeA를 수행하라.
2. codeC 수행
이것을 코드로 풀어보면
if (a==b) codeA
codeC
이렇게 되겠죠.
else는 해당 조건이 거짓일 경우 수행될 문장입니다.
if문 바깥에 있는 문장은 참이든 거짓이든 if문이 종료하면 수행될 문장이죠.
잘 구분해서 판단하세요.
[질문3]
예제 문제는 알고리즘과 관계없이 if문이 수행되는 과정과 그 프로세스를 설명드리기 위한 것입니다.
참고로 저기서 a가 10보다 크지 않다면 구문 오류가 나는 알고리즘입니다.
b의 값이 존재하지 않는다면 3번을 수행할 수 없게 되거든요 :)
[질문4]
예, 전치연산자, 후치연산자의 경우 단일로 쓰일 경우 어떤 것이 쓰여도 무관합니다.
++i, i++, i = i + 1 모두 동일합니다.
행복한 하루되세요 :)
-
관리자2019-03-18 15:00:42
안녕하세요 길벗수험서 운영팀입니다.
[질문1]
C언어에서 =는 등호가 아닌 대입연산자입니다.
우측에 있는 수식의 결과를 왼쪽으로 대입하라는 의미죠. (a=3, 변수 a에 3을 저장)
즉 if의 조건식이나 for문의 조건식이 들어가는 곳에는 '='가 아닌, 비교연산자 '=='가 들어가야 합니다.
[질문2]
else는 생략 가능한 예약어입니다.
else가 들어가야 하는 알고리즘을 잘 생각해 보세요.
1. A와 B가 같다면 codeA를 수행하고 아니면 codeB를 수행하라.
2. codeC 수행
이것을 코드로 풀어보면
if (a==b) codeA
else codeB
codeC
가 될 것 입니다.
1. A와 B가 같다면 codeA를 수행하라.
2. codeC 수행
이것을 코드로 풀어보면
if (a==b) codeA
codeC
이렇게 되겠죠.
else는 해당 조건이 거짓일 경우 수행될 문장입니다.
if문 바깥에 있는 문장은 참이든 거짓이든 if문이 종료하면 수행될 문장이죠.
잘 구분해서 판단하세요.
[질문3]
예제 문제는 알고리즘과 관계없이 if문이 수행되는 과정과 그 프로세스를 설명드리기 위한 것입니다.
참고로 저기서 a가 10보다 크지 않다면 구문 오류가 나는 알고리즘입니다.
b의 값이 존재하지 않는다면 3번을 수행할 수 없게 되거든요 :)
[질문4]
예, 전치연산자, 후치연산자의 경우 단일로 쓰일 경우 어떤 것이 쓰여도 무관합니다.
++i, i++, i = i + 1 모두 동일합니다.
행복한 하루되세요 :)