후치 연산자
01)
#include <stdio.h>
main() {
int a = 12, b = 8, c = 2, d = 3;
a /= b++ - c * d;
printf("%d", a);
}
6
a = a / (b++ - c * d)
= 12 / (8 - (2 * 3)) -> /= ++ * 있으면 ++ -> * -> /= 순서이다
<이 때, 단항 연산자 b++은 후치 연산자로 연산 수행 후 ++(1 증감) 시킨다
그래서 b=8 그대로 연산을 수행 한 후 내부적으로는 변수 b=9가 된다>
= 12 / (8 - 6)
= 12 / 2
= 6
cf) 연산자 우선순위
1. 단항 연산자 ++ --
2. 산술 + -
3. 시프트
4. 관계
5. 비트
6. 논리
7. 조건
8. 대입 += -=
9. 순서
02)
public class Problem {
public static void main(String[] args) {
int j, k, l, result;
j = 10;
k = 20l
l = 30;
result = j < k ? k++ : --l;
System.out.printf( %d %d %d\n", result, k, l);
}
}
20 21 30
j<k 가 참이므로 k++ 수행
k++ 는 후위 연산자이므로 연산 후 ++ 수행
1] result에 20 저장(연산 수행), 2] 그 후에 ++ 수행하여 3] k=21 이 됨
따라서, result = 20, k = 21
for문
01)
#include <stdio.h>
int ahap=0, bhap=0;
int main() {
for(int a=0 ; a<10 ; ++a) {
ahap += a;
printf("a = %d, ahap = %d\n", a, ahap);
}
printf("---------------------\n");
for(int b=0 ; b<10 ; ++b, bhap+=b) {
printf("b = %d, bhap = %d\n", b, bhap);
}
return 0;
}
for문의 실행코드는 식2를 지나서 다음코드 실행후 식3으로 간다
02) for문 정렬
#include<stdio.h>
int main(){
int i,j;
int temp;
int a[5] = {75,95,85,100,50};
for(int i=0;i<4;i++){
for(int j=0;j<4-i;j++){
if(a[j] > a[j+1]){
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
for(i = 0; i<5; i++){
printf("%d\n",a[i]);
}
}
a배열 0~4 생성
i=0 일때
j=0 일때 if( a[0] > a[1] ) 이면 서로 바꾸기, 75 < 95 이므로 거짓 -> 변화없음
j=1 일때 a[1]>a[2] 이고, 95>85 이므로 서로 순서 바꿈 -> 75, 85, 95, 100, 50
j=2 일때 a[2]>a[3] 이고, 95<100 이므로 변화없음
j=3 일때 a[3]>a[4] 이고, 100>50 이므로 서로 순서 바꿈 -> 75, 85, 95, 50, 100
i=1 일때
j=0 일때 a[0]>a[1] 이고, 75<85 이므로 변화없음
j=1 일때 a[1]>a[2] 이고, 85<95 이므로 변화없음
j=2 일때 a[2]>a[3] 이고, 95>50 이므로 순서 바꿈 -> 75, 85, 50, 95, 100
i=2 일때
j=0 일때 ok
j=1 일때 바꿈 -> 75, 50, 85, 95, 100
i=3 일때
j=0 일때 75>50 이므로 바꿈 -> 50, 75, 85, 95, 100
for문 종료
a[0]~a[4] 출력 -> 50, 75, 85, 95, 100
‼공통
1. 계산 실수하지 말기 (특히, for문 계산 잘 하기)
2. 출력문 형태 제대로 확인 (컴마(,) 있는지 없는지 잘 확인)
'자격증 > 정보처리기사' 카테고리의 다른 글
fan in, fan out (0) | 2022.07.11 |
---|---|
[암호화 알고리즘] 대칭키, 비대칭키 암호 방식 (0) | 2022.07.05 |
정규화 (0) | 2022.07.04 |
프로토콜 (0) | 2022.03.29 |
디자인 패턴 (0) | 2022.03.28 |
댓글