02 C各種演算子
13027 ワード
1、算術演算子
2、代入演算子
3、自増自減演算子
4、sizeof演算子
5、カンマ演算子
6、関係演算子
7、論理演算子
8、三項演算子
#include
int main()
{
/*
* 1. ?
* + - * / %
*/
//
int result;
// result = 1 + 1;
// int num1 = 2;
// int num2 = 2;
// result = num1 + num2;
// result = num1 + 1;
//
// result = 1 - 1;
//
// result = 2 * 2;
//
// result = 10 / 5;
//
//
// 10 ÷ 3 = 3 1
result = 10 % 3;
printf("result = %i
", result);
return 0;
}
#include
int main()
{
/*
* :
* 1.+ - * /
* + - * / , , , ,
* 2.%
* 2.1 % , (% )
* 2.2 % , ,
* 2.3 % , 0, 0
* 2.4 % , , ( , , , )
*/
// double result;
// result = 10 / 3; // 3
// result = 10 / 3.0; // 3.333333
// result = 10.0 / 3; // 3.333333
// result = 10.0 / 3.0; // 3.333333
// printf("result = %lf
", result);
int result;
// result = 10 % 3;
// result = 10 % 3.0;
// result = 10.0 % 3;
// result = 2 % 3;
// result = 0 % 3;
// result = 10 % -3; // 1
result = -10 % 3; // -1
printf("result = %i
", result);
return 0;
}
#include
int main()
{
// 1.C
// 2.C ,
// 3. ,
int a = 10;
double b = 3.14;
// a b ,
// a int 4 , b double 8 , a
// a double
// res = 10 + 3.14; --> res = 10.0 + 3.4
double res = a + b;
// , , double, double
printf("res = %lf
", res);
// : ( )
int c = 10;
double d = c;
//
// : ( )
double e = 3.14;
int f = (double)e;
// ( ),
// :
return 0;
}
2、代入演算子
#include
int main()
{
/*
*
* 1.
* =
* 2.
* += -= *= /= %=
*/
// 1.
// :
// :
int num;
num = 666;
printf("num = %i
", num);
// 2.
int value = 10;
// value += 5; // value = value + 5; value = 10 + 5;
// value -= 5; // value = value - 5; value = 10 - 5;
value *= 2; // value = value * 2; value = 10 * 2;
printf("value = %i
", value);
return 0;
}
#include
int main()
{
/*
* 1.
*
* 2.
*
*/
// int res = 10;
// res += 10 - 5; // res = res + (10 - 5); res = 10 + (10 - 5);
// printf("res = %i
", res);
int num = 10;
num += 5; // num = num + 5;
int value = 10;
value += 2 + 2; // value = value + (2 + 2);
int temp = 2 + 2;
printf("temp = %i
", temp);
return 0;
}
3、自増自減演算子
#include
int main()
{
// +5
int num = 10;
// num = num + 5;
// num += 5;
// +1
// num = num + 1;
// num += 1;
/*
* : +1
* : ++
* ++, +1
* : -1
* : --
* --, -1
*/
// num++;
// ++num;
// num--;
--num;
printf("num = %i
", num);
return 0;
}
#include
int main()
{
/*
* ,
* :
* ,
* ,
*/
/*
int num = 10;
// int res = 10 + num++; // int res = 10 + 10; num++
int res = 10 + num--; // int res = 10 + 10; num--
printf("res = %i
", res); // 20 20
printf("num = %i
", num); // 11 9
*/
int num = 10;
// int res = 10 + ++num; // ++num; int res = 10 + 11
int res = 10 + --num; // --num; int res = 10 + 9
printf("res = %i
", res); // 21 19
printf("num = %i
", num); // 11 9
return 0;
}
#include
int main()
{
/*
* :
* 1. ,
* 2.
* 3. , C
* ,
*/
/*
int num = 10;
num++;
num--;
// 10++; //
int a, b;
a = 10;
b = 20;
(a + b)++;
*/
/*
int num = 10;
// int res = 10 + num++; // int res = 10 + 10; num++;
// int res = 10 + num;
// num++;
// int value = num++;
int value = num;
num++;
printf("value = %i
", value); // 10
printf("num = %i
", num); // 11
*/
int num = 10;
int res = ++num + ++num; //
printf("res = %i
", res);
return 0;
}
4、sizeof演算子
#include
int main()
{
/*
* sizeof
* :
* :
* sizeof( / / );
* :
* sizeof /
* :
* sizeof / /
*/
int num = 10; // 4
//
// int res = sizeof(num);
// int res = sizeof num;
//
// int res = sizeof(3.14);
// int res = sizeof 3.14;
//
// int res = sizeof(char);
// int res = sizeof char; // , ()
printf("res = %i
", res);
return 0;
}
#include
int main()
{
/*
* 1.sizeof ,
* 2. sizeof ,
* sizeof
*/
// double int double double double
// int res = sizeof(3.14 + 1); // sizeof(3.14 + 1.0) --> sizeof(4.14)
// printf("res = %i
", res);
// sizeof
// sizeof 3.14 --> 8
// 1 8 + 1 == 9
// int res = sizeof 3.14 + 1;
int res = sizeof(3.14) + 1;
printf("res = %i
", res);
return 0;
}
5、カンマ演算子
#include
int main()
{
/*
* 1. C
* 2. :
* 3. : ,
*
*
*/
/*
//
//
int a, b;
//
a = 10, b = 20;
*/
//
int a, b, c;
a = 10, b = 20, c = 30;
// int res = ((10 + 20), (10 + 30));
int res = ((a + b), (a + c));
printf("res = %i
", res);
return 0;
}
6、関係演算子
#include
int main()
{
/*
*
* > >= < <= == !=
* : 0, 1
* 0 1
* C 0
* 0 , -1 1 666 999
*
*
*
*
*
* > >= < <= == !=
* ,
*/
/*
int a, b;
a = 10, b = 5;
// int res = a > b;
// int res = a < b;
// int res = 10 == 10;
int res = 11 != 10;
printf("res = %i
", res);
*/
// int res = (10 > 5) > 3
// int res = (1) > 3
// int res = 10 > 5 > 3;
// int res = 10 == (10 > 9)
// int res = 10 == (1)
// int res = 10 == 10 > 9;
// printf("res = %i
", res);
// :
// int res = (20 >= 15) >= 10;
// int res = (1) >= 10;
int x = 15;
int res = 20 >= x >= 10;
return 0;
}
7、論理演算子
#include
int main()
{
/*
*
* 1. &&
* : &&
* : 0 1
* :
* 2. ||
* : ||
* : 0 1
* :
* 3. !
* : !
* : 0 1
* :
*/
/*
// 1 2
// 1( ) 1( )
// 10 > 5 20 > 19
// int res = (10 > 5) && (20 > 19);
// 0( ) 1( )
// int res = (10 > 11) && (20 > 19);
// 1( ) 0( )
int res = (10 > 9) && (20 > 29);
printf("res = %i
", res); // 1 0
*/
/*
// 1( ) || 1( )
// int res = (10 > 9) || (20 > 8);
// 0( ) || 1( )
// int res = (10 > 11) || (20 > 8);
// 1( ) || 0( )
int res = (10 > 1) || (20 > 28);
printf("res = %i
", res);
*/
// !1( )
// int res = !(10 > 9);
// !0( )
int res = !(10 > 19);
printf("res = %i
", res);
return 0;
}
#include
int main()
{
/*
* 1. &&
* :
* : , ,
* :
* 2. ||
* :
* : , ,
* 3. !
* :
* :
*/
/*
int a = 10; // 11
// 1( ) && 1( )
// int res = (10 > 9) && (++a > 5);
// 0( ) &&
// : , , , ,
int res = (10 > 19) && (++a > 5);
printf("res = %i
", res); // 1( ) 0( )
printf("a = %i
", a); // 11 10
*/
/*
int a = 10; // 11
// 1( ) ||
// : , , , ,
// int res = (10 > 9) || (++a > 5);
// 0( ) || 1( )
int res = (10 > 19) || (++a > 5);
printf("res = %i
", res); // 1( ) 1( )
printf("a = %i
", a); // 10 11
*/
/*
// (!(!(!(10 > 9))))
// (!(!(!1)))
// (!(!0))
// (!1)
int res = !!!(10 > 9);
printf("res = %i
", res);
*/
// :
// int res = !666;
// int res = !0;
// int res = 666 && 888;
int res = 666 && 0;
printf("res = %i
", res); // 0 1
return 0;
}
8、三項演算子
#include
int main()
{
/*
*
* : ? A : B;
* :
* , A
* , B
* :
* ?:
*
*/
/*
int a, b;
a = 10, b = 15;
// 1( )
// 0( )
int res = a > b ? a : b;
printf("res = %i
", res);
*/
// 15 > 10 ? 666 : 888
// 1( ) ? 666 : 888
// int res = 10 + 5 > 5 + 5 ? 666 : 888;
// int res = (10 + 5 > 5 + 5) ? 666 : 888;
int temp1 = 10 + 5;
int temp2 = 5 + 5;
int res = (temp1 > temp2) ? 666 : 888;
printf("res = %i
", res);
// :
// 1. , 100~200
// 2. , ,
// 3. , ,
// : ,
// :
// 1.
// 2.
// 3.
// 4.
// 5. YES, NO
return 0;
}
#include
int main()
{
/*
// 1. , 100~200
// 2. , ,
// 3. , ,
*/
// 1.
int num = -1;
// 2.
printf(" ,
");
// 3.
scanf("%i", &num);
// 4. 100~200
int res = num >= 100 && num <= 200;
// 5.
res ? printf(" 100~200 "): printf(" 100~200 ");
return 0;
}
#include
int main()
{
// , ,
// 1.
int a, b;
a = -1, b = -1;
// 2.
printf(" , ,
");
// 3.
scanf("%i,%i", &a, &b);
// 4. ,
int max = (a > b) ? a : b;
// 5.
printf("max = %i
", max);
return 0;
}
#include
int main()
{
// , ,
// 1.
int a, b, c;
a = -1, b = -1, c = -1;
// 2.
printf(" , ,
");
// 3.
scanf("%i,%i,%i", &a, &b, &c);
// 4. ,
int max = (a > b) ? a : b;
// 5.
max = (max > c) ? max : c;
// 6.
printf("max = %i
", max);
int min; // ,
min; //
return 0;
}