C 언어
증가 연산자(++)는 변수의 값을 1씩 증가시키고, 감소 연산자(--)는 값을 감소시킵니다.
증가 및 감소 연산자는 C에서 계산 루프(for 루프 포함)를 구성하는 데 자주 사용됩니다. 또한 배열 탐색 및 포인터 연산에도 적용됩니다.
++ 및 -- 연산자는 단항 연산자이며 변수에 대한 접두어 또는 위치표시로 사용될 수 있습니다.
다음 예에는 다양한 변형이 있는 증가 및 감소 연산자의 사용을 보여주는 여러 명령문이 포함되어 있습니다.
#include <stdio.h>
int main() {
int a = 5, b = 5, c = 5, d = 5;
a++; // postfix increment
++b; // prefix increment
c--; // postfix decrement
--d; // prefix decrement
printf("a = %d\n", a);
printf("b = %d\n", b);
printf("c = %d\n", c);
printf("d = %d\n", d);
return 0;
}
이 코드를 실행하면 다음과 같은 출력이 생성됩니다.
a = 6 b = 6 c = 4 d = 4
즉, "a++"는 "++a"와 동일한 효과를 갖습니다. 두 표현식 모두 변수 "a"의 값을 1씩 증가시키기 때문입니다. 마찬가지로 "a--"는 "--a"와 동일한 효과를 갖습니다.
"a++;"라는 표현 "a =a + 1;"이라는 진술과 동일하게 취급될 수 있습니다. 여기서 오른쪽 수식은 "a"에 1을 더하고 그 결과를 다시 1로 대입하여 "a"의 값을 1씩 증가시키는 식입니다.
마찬가지로 "b--;" "b =b 1;"과 동일합니다.
증가 연산자에는 사전 증가라는 두 가지 유형이 있습니다. 및 포스트 증분 .
표현식에서 사전 증가 연산자는 변수 값을 사용하기 전에 변수 값을 1씩 증가시킵니다.
++variable_name;
다음 예에서는 "x" 값이 1만큼 증가한 다음 증가된 값이 표현식에 사용되는 사전 증가 연산자를 사용합니다.
#include <stdio.h>
int main() {
int x = 10;
int y = 10 + ++x;
printf("x = %d, y = %d\n", x, y);
return 0;
}
이 코드를 실행하면 다음과 같은 출력이 생성됩니다.
x = 11, y = 21
표현식에서 후위 증가 연산자는 변수 값을 사용한 후 변수 값을 1씩 증가시킵니다.
variable_name++;
다음 예에서는 "x" 값이 표현식에 사용된 후 1씩 증가하는 후증가 연산자를 사용합니다.
#include <stdio.h>
int main() {
int x = 10;
int y = 10 + x++;
printf("x = %d, y = %d\n", x, y);
return 0;
}
이 코드를 실행하면 다음과 같은 출력이 생성됩니다.
x = 11, y = 20
감소 연산자에는 사전 감소라는 두 가지 유형이 있습니다. 및 사후 감소 .
표현식에서 선행 감소 연산자는 변수 값을 사용하기 전에 변수 값을 1씩 감소시킵니다.
--variable_name;
다음 예에서는 "x" 값이 1만큼 감소한 후 감소된 값이 표현식에 사용되는 선감소 연산자를 사용합니다.
#include <stdio.h>
int main() {
int x = 10;
int y = 10 + --x;
printf("x = %d, y = %d\n", x, y);
return 0;
}
이 코드를 실행하면 다음과 같은 출력이 생성됩니다.
x = 9, y = 19
표현식에서 후위 감소 연산자는 변수 값을 사용한 후 변수 값을 1씩 감소시킵니다.
variable_name--;
다음 예에서는 "x" 값이 표현식에 사용된 후 1씩 감소하는 후감소 연산자를 사용합니다.
#include <stdio.h>
int main() {
int x = 10;
int y = 10 + x--;
printf("x = %d, y = %d\n", x, y);
return 0;
}
이 코드를 실행하면 다음과 같은 출력이 생성됩니다.
x = 9, y = 20
다음 예에서는 접두사/후위 증가/감소의 사용을 강조합니다 -
#include <stdio.h>
int main(){
char a = 'a', b = 'M';
int x = 5, y = 23;
printf("a: %c b: %c\n", a, b);
a++;
printf("postfix increment a: %c\n", a);
++b;
printf("prefix increment b: %c\n", b);
printf("x: %d y: %d\n", x, y);
x--;
printf("postfix decrement x : %d\n", x);
--y;
printf("prefix decrement y : %d\n", y);
return 0;
}
이 코드를 실행하면 다음과 같은 출력이 생성됩니다.
a: a b: M postfix increment a: b prefix increment b: N x: 5 y: 23 postfix decrement x: 4 prefix decrement y: 22
위의 예는 접두사 연산자와 후위 연산자가 피연산자 변수의 값에 동일한 영향을 미친다는 것을 보여줍니다. 그러나 이러한 "++" 또는 "--" 연산자가 표현식에 다른 연산자와 함께 나타나면 다르게 동작합니다.
다음 코드에서 "a"와 "b" 변수의 초기 값은 동일하지만 printf() 함수는 다른 값을 표시합니다. −
#include <stdio.h>
int main(){
int x = 5, y = 5;
printf("x: %d y: %d\n", x,y);
printf("postfix increment x: %d\n", x++);
printf("prefix increment y: %d\n", ++y);
return 0;
}
코드를 실행하고 출력을 확인하세요 -
x: 5 y: 5 postfix increment x: 5 prefix increment y: 6
첫 번째 경우 printf() 함수는 "x" 값을 인쇄한 다음 해당 값을 증가시킵니다. 두 번째 경우에는 증가 연산자가 먼저 실행되고 printf() 함수는 증가된 값을 사용하여 인쇄합니다.
C에는 여러 연산자가 있습니다. 여러 연산자가 표현식에 사용되는 경우 우선 순위에 따라 실행됩니다. 증가 및 감소 연산자는 다른 연산자와 함께 사용할 때 다르게 동작합니다.
표현식이 다른 연산자와 함께 증가 또는 감소 연산자로 구성된 경우 증가 및 감소 연산이 먼저 수행됩니다. 후위 증가 및 감소 연산자는 접두어 증가 및 감소 연산자보다 우선순위가 높습니다.
또한 읽어보세요: C의 연산자 우선순위
다음 예를 살펴보세요 -
#include <stdio.h>
int main(){
int x = 5, z;
printf("x: %d \n", x);
z = x++;
printf("x: %d z: %d\n", x, z);
return 0;
}
코드를 실행하고 출력을 확인하세요 -
x: 5 x: 6 z: 5
"x++"는 "x"의 값을 6으로 증가시키므로 "z"도 6이 될 것으로 예상할 수 있습니다. 그러나 결과에는 "z"가 5로 표시됩니다. 이는 할당 연산자가 후위 증가 연산자보다 우선순위가 높기 때문입니다. 따라서 "x"가 증가하기 전에 "x"의 기존 값이 "z"에 할당됩니다.
아래의 또 다른 예를 살펴보세요 -
#include <stdio.h>
int main(){
int x = 5, y = 5, z;
printf("x: %d y: %d\n", x,y);
z = ++y;
printf("y: %d z: %d\n", y ,z);
return 0;
}
이 코드를 실행하면 다음과 같은 출력이 생성됩니다.
y: 5 y: 6 z: 6
이제 "y"와 "z"의 값이 6이므로 결과가 혼란스러울 수 있습니다. 그 이유는 접두사 증가 연산자가 할당 연산자보다 우선순위가 높기 때문입니다. 따라서 "y"가 먼저 증가한 다음 새 값이 "z"에 할당됩니다.
연산자의 연관성도 중요한 역할을 합니다. 증가 및 감소 연산자의 경우 연관성은 왼쪽에서 오른쪽입니다. 따라서 단일 수식에 여러 개의 증가 또는 감소 연산자가 있는 경우 가장 왼쪽의 연산자가 먼저 실행되어 오른쪽으로 이동합니다.
이 예에서 할당 표현식에는 접두사 연산자와 후위 연산자가 모두 포함되어 있습니다.
#include <stdio.h>
int main(){
int x = 5, y = 5, z;
z = x++ + ++y;
printf("x: %d y: %d z: %d\n", x,y,z);
return 0;
}
코드를 실행하고 출력을 확인하세요 -
x: 6 y:6 z: 11
이 예에서 수행할 첫 번째 작업은 "y++"입니다("y"는 6이 됨). 두 번째로 "+" 연산자는 "x"(5)와 "y"를 추가하고 결과는 "z"에 11로 할당된 다음 "x++"는 "x"를 6으로 증가시킵니다.
C에서 가장 일반적으로 사용되는 for 루프 구문은 다음과 같습니다. −
for (init_val; final_val; increment) {
statement(s);
}
반복 본문은 초기 값과 최종 값 사이의 모든 변수 값에 대해 실행되며 각 라운드 후에 값이 증가합니다.
#include <stdio.h>
int main(){
int x;
for (x = 1; x <= 5; x++){
printf("x: %d\n", x);
}
return 0;
}
이 코드를 실행하면 다음과 같은 출력이 생성됩니다.
x: 1 x: 2 x: 3 x: 4 x: 5
C 언어
전 세계의 연구소는 새로운 로봇과 로봇용 응용 프로그램을 개발하기 위해 지속적으로 한계를 뛰어넘고 있습니다. 이러한 연구실 중 다수는 과학자와 학생이 로봇 공학 분야에서 혁신을 위해 협력하는 대학에서 찾을 수 있습니다. 전 세계의 연구원들은 바다와 우주와 같은 다양한 환경에서 새로운 작업을 수행하기 위해 로봇을 개발하고 있습니다. 우주와 바다에서 작동할 수 있는 로봇의 개발은 이러한 환경이 야기할 수 있는 모든 문제 때문에 어려울 수 있습니다. 우주용 로봇은 극한의 열이나 추위를 견딜 수 있도록 개발되어야 하며, 수중 연구용 로봇
초록 자성 Fe3를 기반으로 하는 다목적 합성 경로 O4 포스폰산 단일층을 사용한 나노입자(MNP) 사전기능화는 나노입자 표면에 gH625 펩티드를 공유 결합하는 데 사용되었습니다. gH625는 인간의 대표적인 혈뇌장벽 성분을 포함하여 다양한 세포의 막을 쉽게 통과할 수 있는 멤브레인형 펩타이드입니다. 유사한 합성 경로를 사용하여 잘 알려진 표적 분자인 PEG, 로다민 및 엽산을 기반으로 하는 기능성 코팅을 가진 MNP의 또 다른 부류를 제조하여 두 세포 투과 시스템(즉, gH625 및 엽산)의 성능을 비교했습니다. 산). 우리의