iOS 단계 학습 3일차 노트(연산자)

14924 단어 ios
iOS 학습(C 언어) 지식 포인트 정리 노트
1. 연산자
1. 산술 연산자
1) 표현식은 변수, 상수, 연산자로 구성되며 정해진 유형과 값이 있다
2) 산술 연산자에는 +(더하기), -(빼기), *(곱하기),/(나누기),%(강도) 등이 포함됩니다.
3) 산술 연산자 우선순위 괄호()>*,/,%>+, -
4)%는 잉여를 표시하고, a%b는 a를 b로 나누어 잉여를 표시한다.
5) 정수를 제외하고 두 개의 소수 처리 방법을 보류한다. 예를 들어 printf(%.2f,(float)14/9).
6) 자증자감 연산자:++; -
7)a++와++a의 차이:++a의 반환값은 a+1이고 b=++a는 a=a+1에 해당하며 b=a에 해당한다.a++ 반환값은 a, b=a++는 b=a에 해당하고 a=a+1은
 
2. 관계 연산자
1) 관계 연산자는 다음과 같습니다. >,>=,<,<=,==,!=
2) 관계 연산자 비교 결과 성립은 1(true)이고 성립되지 않은 결과는 0(false)
 
3. 논리 연산자
1) 논리 연산자는 다음과 같습니다.
& & (논리와/그리고 양자가 모두 성립되어야 진실이다).
||(논리 또는/또는 하나의 조건이 충족되면 진실이다).
       !(논리적 비/아니다)!(진짜) = 가짜!(가짜) = 진짜 비 0 = 진짜 논리 연산자는 일반적으로if와 연용된다
 
연산자
1) 삼목 연산 구성 구조: (조건 표현식)?(문장1): (문장2)
예: c=a>b?a:b; a b 양자 중 최대 값을 c에 부여하는 것을 나타낸다
 
5. 대입 연산자
1) 대입 연산자는 다음과 같습니다. =, +=, -=, *=,/=,%=
2) += 전변수는 변수의 원래 값과 뒤에 있는 값을 나타낸다. 예를 들어 a+=b는 a=a+b를 나타낸다.
 
6. 쉼표 연산자
1) 쉼표 연산자 우선 순위가 가장 낮음(예: 표현식 1, 표현식 2,......, 표현식 n) = 표현식 n은 마지막 표현식을 가져옵니다.
  
7.비트(단bit) 조작 연산자
1) 위치와 &;비트별 또는 |;위치에 따라 거꾸로 하기~;변위 조작
2) 코드 인스턴스:
 1    int a=0xff;
 2    printf(“%d
”,a&0x0f)// :0x0f=15 3 /* 4 5 1111,1111 6 0000,1111 7 —————————— 8 0000,1111(0 1 & & = & = ) 9 */ 11 a = 0xf0; 12 printf("%d
",a|0x0f);// :0xff 13 /* 14 1111,0000 15 0000,1111 16 */ 18 /* a bit 0, bit */ 19 a = 0xcc;//0b11001100 20 a = a&0xf7; 21 /*
1100,1100
22 1111,0111 //0b1100,0100 0xc4=196 23 */ 25 /* 26 a bit 1 27 */ 28 a = 0; 29 a = a|0x8; 30 /* 31 0000,0000 32 0000,1000 =0x8; 33 */ 34 printf("a=%d
",a); 36 a = 0b110; 37 printf("%d
",a<<2);// :0b1,1000=24 39 a = 0b0110; 40 /* 41 42 int=4 =32bit 43 a=0b0110=0b 0000,0000,0000,0000,0000,0000,0000,0110 44 :1111,1111,1111,1111,1111,1111,1111 ,1001 45 */ 46 printf("~a=0x%x=%d
",~a,~a);// ,0xfffffff9=-7

8. 각종 연산자의 우선순위 비교
1、괄호(중첩 가능)>단목(++,--,!)>산술 > 관계 > 논리 > 할당
9. 데이터 유형 전환
 1 int main()
 2 {
 5    int a = 0xfff1;
7 char c = a;//
9 printf("%d=0x%x
",c,c);// , 8bits 11 printf("%f
",(float)14/5);// ,14 float 13 /* 15 1、 long , long 17 2、float , double 19 3、char short , int 21 4、 -> 23 */ 25 float f = 3.14; 27 printf("3.14+2000=%f
",f+2000); 29 char ch1 = -128;//0x80 31 int i = ch1;//char->int. : 1, 0 33 //0x80(char)-> 0xffff,ff80 35 printf("i=%d=0x%x
",i,i); 37 ch1 = 8;//0x8 39 i = ch1;//char->int. : 1, 0 41 printf("i=%d=0x%x
",i,i); 43 return 0; 45 }

10. 매크로 정의
1) 매크로 정의는 일반적으로 대문자 형식: #define 별명(대문자) 표현식/매개 변수
2) 매크로 정의의 역할은 코드의 가독성을 강화하고 수치 수정을 편리하게 하는 것이다
3) 예를 들어 매크로를 정의하여 두 개의 최대 값을 구하는 방법:
1   #define MAX(a,b) a>b?a:b
2   #include <stdio.h>
3    int main(){
4      printf("      :
"); 5 scanf("%d%d",&a,&b); 6 printf(" :%d",MAX(a,b)); 7 return 0; 8 }

 
11. 입력과 출력
1)scanf()/getchar()는 사용자의 입력 printf()/putchar()를 수신하여 정보를 출력하는 데 사용
2)scanf('포맷 문자열', 파라미터 주소 목록)scanf 입력 파라미터는 반드시'&'주소 기호를 붙여야 하며 문자열 그룹을 제외한다.scanf는 리턴 키에 따라 실행,
Tab이나 빈칸에 따라 문자를 구분하고 리턴은 수신이 끝났다는 것을 의미하며,scanf 수신 입력은 지정한 길이보다 길면 지정할 수 있습니다.
오른쪽에서 왼쪽으로 자르기;예: int a=12345;scanf('%3d', &a)printf('%d', a) 출력 결과 123;작은 입력 정보
지정된 너비에는 영향을 주지 않습니다.
3) printf("포맷 문자열", 출력 정보);printf에서 포맷 문자열에 숫자를 넣어서 출력 폭을 설정할 수 있습니다.
예를 들어 printf("%8d", 19)를 오른쪽으로 8개 길이 출력 19로 이동합니다.출력 데이터가 지정된 너비보다 크면 작동하지 않습니다
4)scanf 입력 버퍼 문제를 해결합니다. 즉,char (%c) 형식으로 입력할 때 입력이 있을 때 이번 입력을 건너갑니다.
코드 인스턴스:
 1     short s;
 3     printf("    Short
"); 5 scanf("%hd",&s); 7 printf(" Short %hd
",s); 9 char c,last; 11 printf(" char
"); 13 scanf("%c",&c);// %c
scanf("%c",&c);
15 //last=getchar();// getchar()
17 printf(" char %c
",c);



좋은 웹페이지 즐겨찾기