4. 제어문 (c언어)

단문 ( simple statement)

수식 

sin cos 이런 것만 수식이라고 생각할 수 있는데 c에서는 수식이 표현식이라고 할 수 있다.
수학적인 식 뿐만 아니라 어떤 행동을 하는 것까지 포함한다,


a = b+c
b와 c를 먼저 더하고 그 값을 a에 넣는다.

printf("Hello")
이것도 수식이다. 결과값도 가지고 있다.



복합문 : 단문과 수식이 함께 여러가지가 있는 것.

{ 이 안에 있는 것이 문법적으로는 한 문장으로 취급한다 }



if 문

예 : 두 변수 amb를 비교하여 큰 값을 a에 작은 값을 b에 넣기

#include <stdio.h>
main()
{
int a=1;
int b=2;
int tmp;
printf("a=%d b=%d\n",a,b);
if (a<b)
tmp = a;   //tmp는 임시변수. tmp 에 a 값을 저장한다.
a = b; // a 에다 b의 값을 넣는다
b = tmp; // b에다 tmp 값을 넣는다. 즉 b는 원래 a 값을 갖게 된다.
printf("changeed a = %d changed b = %d",a,b); // 결과적으로 a와 b의 값은 서로 바뀌어서 출력된다.
}



출력 결과





C 언어에서의 참, 거짓


조건식으로 임의의 수식을 사용할 수 있음

#include <stdio.h>
main()
{
int a=5;
if(a)     // a가 0이 아니라면 이라는 뜻이다 
printf("a는 0이 아니다\n");
if(a==5)
printf("a는5임으로 이 문장이 출력될 것이다.");
if(a==1)
printf("a는 1이 아님으로 이 문장은 출력되지 않을 것이다.\n");
//if(a=1) 
//printf("이렇게 되면 이 문장은 출력될 것이다. 하지만...\n");
// 이렇게 써버리면 a = 1이 대입되어 출력되나 추가 입력한 아래 문장이 출력되지 않는다. 
//if(a==5)
//printf("a는5임으로 이 문장이 출력될 것이다.");
// =을 한번만 쓰면 관계연산자가 아니고 치환연산자가 된다.

}

if(a==5) // a=5 라고 쓰면 안된다. 5를 a에 대입하라는 뜻임 



결과





#include <stdio.h>
main()
{
// 조건식이 참이면 1이 출력될 것이고 
// 조건식이 거짓일 경우 0이 출력될 것이다. 
printf("%d %d\n",50<100,50>100);
}



결과






논리 연산자

 A && B  두 피연산자가 모두 참일 때 결과가 참이다.
   A || B   두 피연산자 중 하나라도 참이면 결과가 참이다.
 !  A        A가 참이면 거짓 A가 거짓이면 참인 결과로 제공한다.   

No comments: