반응형

디딤돌 C언어 39

[정답] 디딤돌 C언어 36. 증감 연산자

[정답] 26. 증감 연산자 ◈ 기본 연습 다음 프로그램의 실행 결과를 예측하시오. #include int main() { int i = 8, re = 0; re = i++; printf("i:%d re:%d \n", i, re); return 0; } 답: i:9 re:8 re = i++; 연산은 i++ 연산을 수행하고 연산 결과를 re에 대입하는 구문입니다. i++; 은 자신의 값을 1 증가하며 연산 결과는 증가하기 전의 값입니다. 따라서 i는 1 증가하여 9이며 re에는 증가하기 전의 값이 8입니다. 본문: 36. 증감 연산자

[정답] 디딤돌 C언어 35. 대입 연산자

[정답] 35. 대입 연산자 ◈ 기본 연습 1. 다음 프로그램의 출력 결과를 예측하시오. #include int main() { int i = 8; i *= 4; printf("%d \n", i); return 0; } 답: 32 i *= 4; 는 i = i*4; 와 같은 결과를 갖습니다. 2. 다음 프로그램의 출력 결과를 예측하시오. #include int main() { int i = 8; int j = 0; j = i == 8; printf("%d %d\n", i, j); return 0; } 답: 8 1 j=i==8; 은 i==8 연산을 수행한 후에 수행 결과를 j에 대입합니다. i==8은 연산 결과가 참이므로 1입니다. 3. 다음 프로그램에서 잘못된 부분을 찾고 이유를 설명하시오. #includ..

[정답] 디딤돌 C언어 34. 쉬프트 연산자

[정답] 34. 쉬프트 연산자 ◈ 기본 연습 1. 다음 프로그램의 출력 결과를 예측하시오. #include int main() { unsigned u = 5; int i = -5; printf("%d \n",u>3, u2>>3); printf("%d %#X\n",i2>>3, i2>>3 ); return 0; } 답: 12 12 268435456 0x10000000 -268435456 0xF0000000 >> 연산을 한 번 하면 2로 나눈 효과를 갖습니다. 따라서 3자리 오른쪽으로 이동하였으므로 2의 3승인 8로 나눈 효과를 갖습니다. 본문: 34. 쉬프트 연산자

[정답] 디딤돌 C언어 33. 비트 연산자 ^를 이용한 암호화

[정답] 33. 비트 연산자 ^를 이용한 암호화 ◈ 기본 연습 다음 프로그램의 출력 결과를 예측하시오. #include int main() { int a = 0x12345678; int b = 0x456789AB; int c = 0; int d = 0; c = a^b; printf("%#X \n", c); d = c^b; printf("%#X \n", d); return 0; } 답: 0X5753DFD3 0X12345678 특정 값을 우측 피연산자로 ^연산을 두 번하면 원래의 값이 만들어집니다. 이러한 이유로 a^b로 암호한 데이터 c를 c^b를 하였을 때 원래 값인 a와 같아지는 것입니다. 본문: 33. 비트 연산자 ^를 이용한 암호화

[정답] 디딤돌 C언어 32. 비트 연산자

[정답] 32. 비트 연산자 ◈ 기본연습 다음 코드를 실행하였을 때 출력 결과를 예측하고 이유를 설명하세요. #include int main() { int a = 0x12345678; int b = 0xFFFF0000; int c = 0x0000FFFF; printf("%#X\n",a&b);//16진수로 출력하고 앞에 0X도 표시 printf("%#X\n",a&c); return 0; } 답: 0X12340000 0X5678 ▷ 이유 & 는 비트 단위의 AND 연산입니다. 0xFFFF0000은 이진수로1111 1111 1111 1111 0000 0000 0000 0000 입니다. 따라서 16진수 상위 4자리는 그대로 남고 하위 4자리는 모두 0으로 변합니다. 따라서 a&b결과는 0x12340000입니다...

[정답] 디딤돌 C언어 29. 산술 연산자

[정답] 29. 산술 연산자 ◈ 기본 연습 1. 두 개의 정수를 입력받아 합, 차, 곱, 몫을 출력하는 프로그램을 작성하세요. 답: //두 개의 정수를 입력받아 합, 차, 곱, 몫을 출력하는 프로그램 #include int main(void) { int a,b; printf("두 개의 정수 입력:"); scanf_s("%d%d",&a,&b); printf("합:%d 차:%d 곱:%d 몫:%d\n",a+b,a-b,a*b,a/b); return 0; } 2. 두 개의 실수를 입력받아 합, 차, 곱, 몫을 출력하는 프로그램을 작성하세요. 답: //두 개의 실수를 입력받아 합, 차, 곱, 몫을 출력하는 프로그램 #include int main(void) { double a,b; printf("두 개의 실수 입력..

[정답] 디딤돌 C언어 25. putchar, puts 함수

[정답] 25. putchar, puts 함수 ◈ 기본연습 1. putchar 함수를 이용하여 ‘a’를 입력 인자로 전달하였을 때와 97을 입력 인자로 전달하였을 때와 0x61을 입력 인자로 전달하였을 때의 결과를 확인하시오. 답: 모두 a 출력 2. putchar 함수를 이용하여 ‘0’을 입력 인자로 전달하였을 때와 48를 입력 인자로 전달하였을 때와 0x30을 입력 인자로 전달하였을 때의 결과를 확인하시오. 답: 모두 0 출력 3. putchar 함수를 이용하여 ‘A’를 입력 인자로 전달하였을 때와 65를 입력 인자로 전달하였을 때와 0x31를 입력 인자로 전달하였을 때의 결과를 확인하시오. 모두 A출력 //1. putchar 함수를 이용하여 ‘a’, 97, 0x61을 입력 인자로 전달하였을 때의 결..

[정답] 디딤돌 C언어 24. printf 함수

[정답] 24. printf 함수 ◈ 기본 연습 1. ‘a’ 문자의 아스키 코드 값을 출력하시오. 2. 10진수 255를 16진수로 출력하시오 3. 185.39485702를 소수점 이하 4자리까지 출력하시오. //◈ 기본 연습 //1. ‘a’ 문자의 아스키 코드 값을 출력하시오. //2. 10진수 255를 16진수로 출력하시오. //3. 185.39485702를 소수점 이하 4자리까지 출력하시오. #include int main(void) { printf("%d\n",'a');//1. ‘a’ 문자의 아스키 코드 값을 출력하시오. printf("%#X\n",255); //2. 10진수 255를 16진수로 출력하시오. printf("%.4f\n",185.39485702);//3. 185.39485702를 소..

[정답] 디딤돌 C언어 18. Overflow와 값 잘림 현상

[정답] 18. Overflow와 값 잘림 현상 ◈ 기본 연습 1. short 형식의 변수 s를 0x7FFF 값으로 초기화한 후 s 변수에 1을 더하면 10진수로 얼마인지 확인하는 코드를 작성하시오. 그리고 실행한 후 출력 결과의 이유를 설명하시오. 답: //1. short 형식의 변수 s를 0x7FFF 값으로 초기화 //s 변수에 1을 더하면 10진수로 얼마인지 확인하는 코드를 작성하시오. //그리고 실행한 후 출력 결과의 이유를 설명하시오. #include int main(void) { short s = 0x7FFF; printf("short s: %d\n",s); s+=1; printf("short s: %d\n",s); return 0; } ▷ 실행 결과 short s: 32767 short s:..

반응형