코스웨어/13년 스마트컨트롤러
C-5장 연습문제 _ 황두민
알 수 없는 사용자
2013. 3. 22. 17:11
/*1.세 변수를 아래와 같이 설정하여, 변수의 값과 주소를 출력하는 프로그램을 작성하라. int inumber = 25 float fnumber = 34.5 char ch = 'g' */
#include <stdio.h>
int main() { int inumber; float fnumber; char ch;
inumber=25; fnumber=34.5f; ch='g';
printf("변수의 값:%d 주소:%08X\n", inumber, &inumber); printf("변수의 값:%.1f 주소:%08X\n", fnumber, &fnumber); printf("변수의 값:%c 주소:%08X\n", ch, &ch);
return 0; }

/*2-1.위의 세 변수를 가리키는 포인터 변수를 각각 설정하여, 포인터 변수를 이용해서 세 값을 출력하는 프로그램을 작성하라. */
#include <stdio.h>
int main() { int inumber; int *ip; float fnumber; float *fp; char ch; char *cp;
inumber=25; fnumber=34.5f; ch='g';
ip=&inumber; fp=&fnumber; cp=&ch;
printf("출력값:%d\n", *ip); printf("출력값:%.1f\n", *fp); printf("출력값:%c\n", *cp);
return 0; }
|

/*2-2.float형 변수 fnumber를 38.9로 설정한 다음, fnumber의 각 바이트의 내용을 아스키 코드로 출력하라.//한번 해볼 것-문자로 출력 가능하게 할 수 있을 지. */ #include <stdio.h>
int main() { float fnumber; unsigned char *ucp;
fnumber=38.9f; ucp=(unsigned char*)&fnumber;
printf("출력 값:%02X %02X %02X %02X\n", *ucp, *(ucp+1), *(ucp+2), *(ucp+3));
return 0; } |

/*3.int형의 변수 inumber의 값을 키보드로부터 읽어서 설정한 다음, 포인터 변수를 이용해서 inumber의 값을 두 배로 만들어서 출력하는 프로그램을 작성하라. */
#include <stdio.h>
int main() { int inumber; int *ip;
fprintf(stdout, "숫자를 입력하세요 : "); fscanf(stdin, "%d", &inumber);
ip=&inumber;
fprintf(stdout, "결과값은 %d입니다.\n", (*ip)*2);
return 0; } |

/*4.포인터 변수의 저장 공간의 크기를 출력하는 프로그램을 작성하라.*/
#include <stdio.h>
int main() { char *cp; short *sp; int *ip; float *fp;
printf("char의 포인터 변수 저장 크기는%d입니다.\n", sizeof(cp)); printf("short의 포인터 변수 저장 크기는%d입니다.\n", sizeof(sp)); printf("int의 포인터 변수 저장 크기는%d입니다.\n", sizeof(ip)); printf("float의 포인터 변수 저장 크기는%d입니다.\n", sizeof(fp));
return 0; } |

/*5. 주소값을 저장하는 변수를 포인터변수라고 한다.*/
/*6. 포인터 변수가 아무 것도 가리키지 않고 있는 것을 설정할 때는 NULL을 넣는다.*/ | |