2의 보수법 (1byte로 정수 나타내기)
#include <stdio.h>

int main()
{
  /* unsigned */ char CNum; //unsigned양수
  CNum=127;
  printf("%d\n", CNum);
  CNum=128;
  printf("%d\n", CNum);
  CNum=129;
  printf("%d\n", CNum);
  CNum=255;
  printf("%d\n", CNum);
  return 0;
}
/* 수의범위 : 2의보수법으로 char는 정수 -128부터 127까지 사용할수있다.
              하지만 char앞에 unsigned을 사용하면 양수만 0에서 255까지 사용할수 있다.

   2의보수 0000 0010에 반대값 적기
   (반대값)1111 1101 1의보수 상태가 된다. 여기서 +1만 더해주면 2의보수가 된다.

           1111 1101(+1)
          =1111 1111       실제 기억값은 255 출력값은 -1
*/







산술연산자
#include <stdio.h>

int main()
{
  int iNum1;
  int iNum2;
  iNum1 = 3;
  iNum2 = 7;

  iResult1=iNum1/iNum2; 
  iResult2=iNum1%iNum2; 
  printf("%d(/)%d의 값은 %d이다.\n", iNum1 ,iNum2 ,iResult1); //산술연산자(/)는 몫을 나타낸다
  printf("%d(%)%d의 값은 %d이다.\n", iNum1 ,iNum2 ,iResult1); //산술연산자(%)나머지를 나타낸다.
  return 0;
}





증감연산자
#include <stdio.h>

int main()
{
  int iNum = 1;
  int iVal;
  iVal=++iNum; 
  printf("%d\n", iNum);
  printf("%d\n", iVal);
  iVal=iNum++; //++iNum는 연산먼저 iNum++ 대입먼저 
  printf("%d\n", iNum);
  printf("%d\n", iVal);
//증감연산자를 쓸때 단독으로 쓰면 결과는같다.    
  return 0;
}



관계연산자 논리연산자 연산자 순위
#include <stdio.h>

int main()
{
  int iNum1;
  int iNum2;
  int iNum3;
  int iNum4;
  int iNum5;
  int iNum6;
  int iNum7;
  int iNum8;
  int iNum9;
  int iNum10;

  iNum1=6>5//참
  iNum2=6>7//거짓
  iNum3=7==6//7과6이 같은가? 
  iNum4=!1;  //NOT 참이면 거짓
  iNum5=7!=6// 7과6이 다르면 참
  iNum6=7<=7//7과 7이 같거나 작은가? 
  iNum7=-7&&6//&&AND 연산우선순위 - > && > =
  iNum8=7||0//||OR 
  iNum9=100;
  iNum10=7||(++iNum9); // ++iNum9연산은 되지않는다. 앞항이 무조건 참이므로 뒷항은
 연산하지 않는다. 그래서 iNum9는 ++가 있음에도 값이 그대로다.
 


  printf("[iNum1]:[%d]\n", iNum1);
  printf("[iNum2]:[%d]\n", iNum2);
  printf("[iNum3]:[%d]\n", iNum3);
  printf("[iNum4]:[%d]\n", iNum4);
  printf("[iNum5]:[%d]\n", iNum5);
  printf("[iNum6]:[%d]\n", iNum6);
  printf("[iNum7]:[%d]\n", iNum7);
  printf("[iNum8]:[%d]\n", iNum8);
  printf("[iNum9]:[%d]\n", iNum9);
  printf("[iNum10]:[%d]\n", iNum10);

  return 0;
}


by 날라차숑 2014. 3. 7. 17:23

#include <stdio.h>

int main()
{
  int number1; //변수선언
  int number2; //변수선언
  number1=3;   //변수 number1에 3대입
  number2=4;   //변수 number2에 4대입
  printf("number1=[%d]\n", number1);  //출력  
  printf("number2=[%d]\n\n", number2);//출력  

  return 0;

}

결과값은 

3

4

이 나온다. 



여기에다 number2를 number1에다가 대입해보자.

#include <stdio.h>

int main()
{
  int number1; 
  int number2; 
  number1=3;   
  number2=4;
  number1=number2; /*number2를 number1에다가 대입  number1,number2는 4의 데이터를 
*/가지고있슴.


  printf("number1=[%d]\n", number1);   
  printf("number1=[%d]\n", number2);    
  
  return 0;
}
결과값은

4


로 나온다.
#.중괄호 내에 변수를 선언 할 경우 변수의 선언문은 중괄호 앞에 위치해야한다
다시말해 
int
 number3; 을 더 선언하고 싶은데  return 0; 바로위에다가 선언해버리면
컴파일 오류!





'C언어' 카테고리의 다른 글

20140310 scanf  (0) 2014.03.10
20140307 변수와 연산자  (0) 2014.03.07
20140306 C언어 함수의 기본적인 이해  (0) 2014.03.06
20140305 리눅스 ls 정보 보는법 & vi설정  (0) 2014.03.05
20140305 C언어 문법의 시작  (0) 2014.03.05
by 날라차숑 2014. 3. 6. 17:17

#include <stdio.h>

int main()
{
  printf("Hello Everybody\n");
  printf("%d\n"1234); // 따옴표를 출력하고 나서 10진수를 출력해라
  /* x, o, d 로바꾸면 각각 16진수 8진수 10진수로 바뀜 x는 대문자로 주로 사용 
   16진수를 입력하고 싶으면 %x를 쓰면되는데 %X(대문자)를 쓰면 16진수도 대문자로 바뀐다.
  */ 1234 16진수 결과값 (%x=4d2) (%X=4D2)로 나온다. 

  printf("[%d] [%d]\n",10 ,20);   
  return 0;


'C언어' 카테고리의 다른 글

20140307 변수와 연산자  (0) 2014.03.07
20140306(2) C언어 변수의 이해  (0) 2014.03.06
20140305 리눅스 ls 정보 보는법 & vi설정  (0) 2014.03.05
20140305 C언어 문법의 시작  (0) 2014.03.05
20140304(2) VC 준비 (path설정)  (0) 2014.03.04
by 날라차숑 2014. 3. 6. 12:33