728x90
2. 다음은 C언어 소스 코드이다. 출력 결과로 알맞은 것은?
#include <stdio.h>
void main( ){
int a = 10;
printf("%d\n", a<<2);
printf("%d\n", a>>2);
}
더보기
[정답]
40
2
[해설]
- a라는 변수에 저장된 10을 2진수로 나타내면 1010이다.
- 시프트 연산자 '<<'는 왼쪽으로 2비트 옮기므로 101000이 되고 10진수로 변환하면 40이다.
- 시프트 연산자 '>>'는 오른쪽으로 2비트 옮기므로 a라는 변수에 저장된 1010을 오른쪽으로 2비트 옮기면 2진수로 10이 되므로 (맨 오른쪽 2비트는 없어진다) 2가 출력된다.
[메모]
비트연산에 대해 완벽하게 숙지하지 못한듯하다. 명확하게 공부해두자.
❓ C언어에서 정수표현
0은 False로 인식하고, 0 이외의 값은 True로 인식
❓ C++ 출력
cout 과 << 쉬프트 연산자 뒤에 출력할 것을 집어 넣으면 출력 됨
std::cout << [출력할 무언가];
출력할 것이 여러개라면 << 쉬프트 연산자를 중첩해서 사용
std::cout << "출력"
int num = 100;
std::cout << "숫자 : " << num
출력숫자 : 100
⚠ 기본적으로 cout을 따로 써도, 개행이 되지 않음
표준 출력의 개행 std::endl;을 이용하는 방법 (개행O)
std::cout << "출력내용1" << std::endl;
std::cout << "출력내용2" << std::endl;
출력내용1
출력내용2
18. 다음은 파이썬 언어의 소스 코드이다. 출력 결과로 알맞은 것은?
for i in range(0, 5):
if i%3==0:
continue
print(i)
더보기
[정답]
1
2
4
[해설]
- i는 0이상에서 5미만일 때 반복하고, i가 3으로 나눠떨어지는 경우 continue를 만난다.
- i가 3일 때 continue를 만나자마자 i는 바로 다음 값인 4가 실행된다
[메모]
0은 어떤 수로 나누어도 나머지가 0이다. 주의하자.
728x90
'정보처리기사' 카테고리의 다른 글
(1과목) 요구사항 확인 (0) | 2021.04.15 |
---|---|
(12과목) 제품 소프트웨어 패키징 (0) | 2021.04.15 |
(2과목) 화면 설계 (0) | 2021.04.14 |
(11과목) 응용SW 기초기술 활용 (0) | 2021.04.14 |
(5과목) 인터페이스 구현 (0) | 2021.04.14 |