130806.2일차

|

#include <stdio.h>


/*
void main() {
 short a = 32768;
 printf("short : %d\n", a);

 int b=120L; // 숫자뒤에 L은 long 형 정수, F은 실수
 printf("int : %d\n", b);

 char c='월';
 printf("char : %c\n", c);

 float d=5.5;
 printf("float : %f\n", d);

 char e[] = "ABC";
 printf("string : %s\n", e);

 unsigned short f=50000;  // 0~65535
 printf("unsigned : %d\n ", f);
}
*/

 


/*

void main()
{
 int a = 190;
 double b = 43.77;
 char c = 'A';

 printf ("a : %d\n", a);
 printf ("b : %lf\n", b);
 printf ("c : %c\n", c);
 
 printf ("\n출력자릿수\n");
 printf ("a :%7d\n", a);  // 전체를 7자리 잡는다  _ _ _ _  1 9 0 (오른쪽 정렬)
 printf ("a :%-7d\n", a); // 전체를 7자리 잡는다  1 9 0 _ _ _ _  (왼쪽 정렬)
 printf ("a :%07d\n", a); // 0000190
 printf ("a :%-07d\n\n", a); // 뒤에는 0을 안채움

 printf ("b :%7.2lf\n", b); // 소수점 포함 7 자리 중 2자리가 소수점 아래 _ _ 4 3 . 7 7
 printf ("b :%0.2lf\n", b); // 0.2, 0은 강제력 없지만 2는 강제력이 있다.
 printf ("b :%.1lf\n", b); // 앞자리는 신경안쓰고 소숫점은 반올림해서 표기
 printf ("b :%.lf\n", b); // 소수점은 안찍지만 반올림함

 

 

 

 // 진수 변수
 printf("\n\n 진수변환\n") ;
 printf("8진수 : %o\n", a) ;
 printf("16진수 : %x\n", a) ;

 

 

 

 // 형변환

 printf("\n형변환\n");
 int num1 = 5.8; // 강제 형변환(소수점 버림)
 printf ("num1 : %d\n", num1);
 // printf ("num1 : %d\n", (int) 5.5 ); //강제 형변환
 
 double num2 = 5; // 자동 형변환
 printf ("num2 : %lf\n", num2);
 // printf ("num1 : %d\n", (double) 5 ); //강제 형변환

 printf("\n%d\n%.2f\n%c \n",a,b,c);
}


*/

 

 

 

 

/*

 

 

연산자 우선순위

 

1. 최우선 연산자
  ()  []  .  ->  ;;
  []   배열
  .     구조체
  ->   포인터
  ;;    클래스

 

 

2. 단항 연산자
  + -                  부호
  new  delete     동적 할당★★★ (메모리 관리, 포인터 학습후 배움)
  ++ --               증감 연산자(변수랑만 사용해야한다. 5++ (x), a++(o) )
                        ++ : 1 증가, -- : 1감소
  !                     부정 연산자(논리 not)
                        0은 거짓, 나머지는 참
                        !3=0, !0=1
  ~                   1의 보수 연산자(bit not), (절대값 구할때 씀)
  *                    포인터★
  &                    주소 연산자★
  sizeof()           메모리의 크기를 알려주는 연산자
  형변환

 

 

3. 산술 연산자
  * /
  %   나머지 연산 (double로 나눌 수 없다)
  + -

 

 

4. 쉬프트 연산자
  a<<n    왼쪽 혹은 오른쪽으로 비트를 민다
  a>>n    부호비트 불변
              왼쪽으로 shift하면 a*(2^n) , 오른쪽으로 shift하면 a/(2^n)
              a<<5 : a*(2^5) 

 

 

5. 관계 연산자
  >     <    >=    <=
  ==     !=

 

 

6. 논리 연산자
  &  |  ^    비트 논리 연산자(숫자를 비트로 쪼개서 비트끼리 계산)   
               (int a=20) & (int a=12) → (0001 0100) & (0000 1100) = 0000 0100 (4)
               ( & : AND, | : OR, ^ : XOR[둘이 다르면 1 같으면 0] )
  && || (shift won 키)   참거짓 판별

 

 

7. 삼항 연산자
  조건 ?
  참  :
  거짓 ;

 

 

8. 대입 연산자
  순수    =
  산술    +=  (a=a+1, a+=1, a++) 연산하고 넣어라, 기존값 보존 안됨
            -=  
            *=  
            /=  
            %=
  비트 논리 &= ^=  |=
  쉬프트   <<= >>=

 

 

9. 콤마 연산자
  ,

 */

 

 

 

 

 

//  증감 연산자
/*
void main()
{
 int a=10, b=10;
 b=++a;  //선증가
 printf("a : %d\t b : %d\n", a,b);

 b=a++;  //후증가(대입후 증가)
 printf("a : %d\t b : %d\n\n", a,b);


 a = b = 10; // 10을 b에 넣고 b를 a에 넣는다
 printf("a : %d\n", ++a); // 증가후 출력
 printf("b : %d\n", b++); // 출력후 증가
}
*/

 

 

 

 


// sizeof

/*
void main()
{
 printf("int : %d\n", sizeof(200) );  // byte 크기 알려줌
 printf("char : %d\n", sizeof('A') ); // 'A'와 65는 같지만 다른byte 수로 저장 가능
 printf("int : %d\n\n", sizeof(65) );

 printf("string : %d\n", sizeof("A") );
 printf("long : %d\n", sizeof(200L) );
 printf("short : %d\n\n", sizeof( short(200) ) );

 printf("string : %d\n", sizeof("ABC") ); // 3+1 byte (null 포함)
 printf("string : %d\n\n", sizeof("대한민국") ); // 8+1 byte

 printf("%d\n", sizeof(5/2) );
 printf("%d\n", sizeof(5/2.) );
 printf("%d\n", sizeof('A'+1) );
 printf("%d\n", sizeof(5 + 5.5f) );
}

*/

 

 

 

 

 


// 쉬프트 연산자

/*
void main()
{
 printf("%d\n", 5<<2); //double 사용 불가
 printf("%d\n", 5>>2);
}
*/

 

 

 

// 비트 논리 연산자
/*
void main()
{
 int a=20;
 int b=12;
 printf("a&b : %d\n", a&b);
 printf("a|b : %d\n", a|b);
 printf("a^b : %d\n\n", a^b);

 printf("&& : %d\n", 0&&0); // 전체비트 비교 다 같아야 참
 printf("&& : %d\n", 0&&1);
 printf("&& : %d\n", 1&&0);
 printf("&& : %d\n\n", 100&&100);

 printf("|| : %d\n", 0||0);
 printf("|| : %d\n", 0||1);
 printf("|| : %d\n", 1||0);
 printf("|| : %d\n\n", 1||1);

 
 bool c=true;
 printf("bool : %d\n", c); // 1
 bool d=false;
 printf("bool : %d\n", d); // 0

}
*/

/*
void main()
{
 int a=10;
 printf("+= : %d\n", a+=10);  // a=a+10, 20=10+10
 printf("-= : %d\n", a-=10);  // a=a-10, 10=20-10
 printf("*= : %d\n", a*=10);  // a=a*10, 100=10*10
 printf("/= : %d\n", a/=10);  // a=a/10, 10=100/10
 printf("%= : %d\n", a%=10);

 // a&=0 은 모든 비트를 0으로 초기화 하고 싶을때
}
*/

 

 

/*
         표준 입출력 함수


    | 문자   | 문자열  | 숫자 문자 문자열
 -------------------------------------------------------------------------------
 입력 | getchar()  | gets()   | scanf() 다 입력받는다
    | getch()   ★ |      | cin >>
    | getche()  |      |
 -------------------------------------------------------------------------------
 출력 | putchar()  | puts() ★ | printf()  다 출력한다
    |      |      | cout <<

*/

 

 

 

 

// putchar, puts
/*
void main ()
{
 puts("putchar 예제");
 printf("%c\n", 'A');
 putchar('A\n'); //거꾸로 메모리 스택을 잡아서 \n 만 인식해서 아무것도 안나옴
 putchar('A'); putchar('\n');
 putchar('ABC'); putchar('\n'); putchar('\n'); // C만 나옴
 
 puts("puts 예제");
 printf("%s\n","한글"); //아래와 같음
 puts("한글");
 puts("ABC"+1); // n만큼 이동해서 출력
}
*/

 


/*
 scanf()
 실행 시 데이터를 입력
 변수 앞에는 반드시 &(주소연산자)를 붙인다.
 단 배열이나 포인터인 경우에는 생략 가능하다.
 제어문자(\n  \t  \a  \b  \r)을 쓸 수 없다.
 데이터 구분으로는 space(공백)이나 enter를 사용한다.
 공백이 포함된 문자열은 입력이 불가능 하다.
 실수는 입력시 소수이하 자리수는 지정할 수 없다.

*/

 

 

 

/*
void main()
{
 int a; // 방 선언
 double b;
 
 printf("정수 : ");     // 사용자에게 친절한 설명
 scanf("%d", &a);  // 절대 역슬래시(\) 불가, 띄어쓰지도 않는다, 제어문자 쓰지 않는다
                           // 오직 변환 문자만 사용.
                           // & 빼면 메모리쪽 오류남
                           // 왠만하면 입력은 한번에 하나씩
 printf("실수 : ");
 scanf("%lf", &b); // 입력은 소숫점 지정 못함
 printf("a : %d\n", a);
 printf("b : %lf\n", b);
}

*/

 

 

 


//숙제

 

void main()
{
 double num=25.77;
 puts("숙제 1 : 소숫점 둘째자리 버리기");
 printf("num : %.1lf\n\n\n", double(int(num*10))/10);  // 25.7이 나오도록
 

 puts("숙제 2 : 성적 평균 구하기\n");
 puts("성적을 입력하여 주십시오");
 int a,b,c;
 printf("\n국어점수 : ");
 scanf("%d",&a);
 printf("영어점수 : ");
 scanf("%d",&b);
 printf("수학점수 : ");
 scanf("%d",&c);

 printf("\n국어 : %d\n", a);
 printf("영어 : %d\n", b);
 printf("수학 : %d\n", c);
 printf("총점 : %d\n", a+b+c);
 printf("평균 : %5.2lf\n\n", double(a+b+c)/3);

}


*/

 

저작자 표시 비영리 변경 금지
신고

'Study > C, C++' 카테고리의 다른 글

130812.6일차  (0) 2013.08.19
130809.5일차  (0) 2013.08.19
130808.4일차  (0) 2013.08.08
130807.3일차  (0) 2013.08.07
130806.2일차  (0) 2013.08.06
130805.1일차  (0) 2013.08.05
Trackback 0 And Comment 0
prev | 1 | ··· | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | next

티스토리 툴바