본문 바로가기
코스웨어/13년 스마트컨트롤러

C언어 1~5연습문제 (서준영)

by 알 수 없는 사용자 2013. 3. 25.
728x90
반응형

1.세 변수를 아래와 같이 설정하여, 변수의 값과 주소를 출력하는 프로그램을 작성하시오.

#include <stdio.h>
int main()
{
  int iNum = 25;
  float fNum = 34.5;
  char ch = 'g';

  printf ("%p\n"&iNum);    
  printf ("%d\n", iNum);     
  printf ("%3.1f\n", fNum);  
  printf ("%08X\n"&fNum);  
  printf ("%c\n", ch);    
  printf ("%p\n"&ch);    
  return 0;

}

2.위의 세 변수를 가리키는 포인터 변수를 각각 설정하여, 포인터 변수를 이용해서 세값을 출력하는 프로그램을 작성하시오.

#include <stdio.h>
int main()
{
  int iNum = 25;
  float fNum = 34.5;
  char ch = 'g';

  int *ip;
  float *fp;
  char *cp;

  ip = &iNum;
  fp = &fNum;
  cp = &ch;

  printf ("%08X %08X %08X\n", ip, fp, cp);

  return 0;

}

2-2. float 형 변수 fnumber를 38.9로 설정한 다음, fnumber의 각 바이트의 내용을 아스키 코드로 출력하시오.

#include <stdio.h>
int main()
{
  float fNum = 38.9;
  unsigned char *fp;
  fp = (unsigned char *)&fNum;

  printf ("%02X", *fp);
  printf ("%02X", *(fp+1));
  printf ("%02X", *(fp+2));
  printf ("%02X", *(fp+3));

  return 0;

}

3. int 형의 변수 inumber의 값을 키보드로부터 읽어서 설정한 다음, 포인터 변수를 이용해서 inumber 값을 두배로 만들어서

출력하는 프로그램을 작성하시오.

#include <stdio.h>
int main()
{
  int iNum;
  int *ip;

  printf("enter intger: ");
  scanf ("%d"&iNum);
  
  ip = &iNum;

  
  fprintf (stdout, "결과는%d \n", iNum*2);

  return 0;

}

4. 포인터 변수의 저장 공간의 크기를 출력하는 프로그램을 작성하시오.

#include <stdio.h>
int main()
{
  int *ip;
  float *fp;
  char *cp;
  short *sp;

  printf ("int크기%d\n"sizeof(ip));
  printf ("float크기%d\n"sizeof(fp));
  printf ("char크기%d\n"sizeof(cp));
  printf ("short크기%d\n"sizeof(sp));

  return 0;

}

5.주소값을 저장하는 변수를 ___ 변수라고한다. 답. 포인터

6.포인트 변수가 아무 것도 가리키지 않고 있는 것을 설정할 때는 ___를 넣는다. 답. NULL

728x90