【C语言】操作符详解(二) | 您所在的位置:网站首页 › c语言表达式计算有括号 › 【C语言】操作符详解(二) |
单目操作符
单目操作符的介绍
! 逻辑反操作
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度(以字节为单位)
~ 对一个数的二进制按位取反
-- 前置、后置--
++ 前置、后置++
* 间接访问操作符(解引用操作符)
(类型) 强制类型转换
代码演示: #include int main() { int a = -20; int* p = NULL; printf("%d\n", !2); printf("%d\n", !0); a = -a; p = &a; printf("%d\n", sizeof(a)); printf("%d\n", sizeof(int)); printf("%d\n", sizeof a); //printf("%d\n", sizeof int);//error printf("%p\n", p); return 0; }
下面是代码演示: 计算数组的大小 #include void test1(int arr[]) { printf("%d\n", sizeof(arr)); } void test2(char arr[]) { printf("%d\n", sizeof(arr)); } int main() { int arr1[10] = { 0 }; char arr2[10] = { 0 }; printf("%d\n", sizeof(arr1)); printf("%d\n", sizeof(arr2)); test1(arr1); test2(arr2); return 0; }
下面是代码演示: #include int main() { int a = 3; int b = 4; printf("没有改变前a,b\n"); printf("a=%d b=%d\n", a, b); int c = a++; int d = ++b; printf("改变后的a,b\n"); printf("a=%d b=%d\n", a, b); printf("c=%d d=%d", c, d); return 0; }
当然–也和++一样的,在这里就不重复举例了。 关系操作符 > 大于 >= 大于等于 printf("呵呵\n"); } if (a == c) { printf("haha\n"); } if (a int i = 0,a=0,b=2,c =3,d=4; i = a++ && ++b && d++; //i = a++||++b||d++; printf("a = %d\n b = %d\n c = %d\nd = %d\n", a, b, c, d); return 0; }
条件操作符也叫三目操作符 语法: exp1 ? exp2 : exp3比较两个数的大小 使用循环的代码如下: #include int main() { int a = 3; int b = 5; if (a>b) { printf("a=%d", a); } else { printf("b=%d", b); } return 0; }
语法: exp1, exp2, exp3, …expN 逗号表达式,就是用逗号隔开的多个表达式。逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。代码如下: #include int main() { int a = 3; int b = 5; int c = (a > b, a++, b--, a + b); printf("c=%d", c); return 0; }操作数:数组名和索引值 #include int main() { int arr[10] = { 0 }; for (int i = 0; i printf("haha\n"); } void test1(int arr[], int a) { for (int i = 0; i int arr[10] = { 1,2,3,4,5,6,7,8,9,10 }; test(); test1(arr, 10); return 0; }使用.访问结构体成员 #include struct Sut { char name[10]; int age; char sex[5]; double score; }; int main() { struct Sut s1 = {"汤姆",25,"男",89.5}; struct Sut s2 = { "杰瑞",24,"男",90.5 }; printf("%s %d %s %.1lf\n", s1.name, s1.age, s1.sex, s1.score); printf("%s %d %s %.1lf\n", s2.name, s2.age, s2.sex, s2.score); return 0; }使用->访问结构体成员
|
CopyRight 2018-2019 实验室设备网 版权所有 |