一 *** 作符
1 关系 *** 作符
> < >= <= != ==
编写代码时注意=与==的区别
=是赋值,==才是判断是否相等
判断字符串是否相同时应使用strcmp()函数,不能使用关系 *** 作符
2 逻辑 *** 作符
&& 逻辑与:只要有一个表达式为假即为假,不在执行后面的表达式
#includeint main() { int age=0; scanf("%d",&age);//输入年龄 if(age>0&&age<18) { printf("未成年n"); } return 0; }
|| 逻辑或:只要有一个表达式为真即为真,不在执行后面的表达式
#includeint main() { int month=0; scanf("%d",&month); if(month<0||month>12) { printf("输入错误n"); } return 0; }
3 条件 *** 作符(三目 *** 作符)
表达式1?表达式2:表达式3
#includeint main() { int a=10; int b=20; int max=0; if(a>b) max=a; else max=b; printf("%dn",max); return 0; }
#includeint main() { int a=10; int b=20; int max=0; max=(a>b?a:b); printf("%dn",max); return 0; }
这两段代码作用相同
4 逗号表达式
从左向右依次执行整个表达式,结果是最后一个表达式的结果
#includeint main() { int a=3; int b=5; int c=6; int d=(a+=2,b=a+c,c=a+2*b); printf("%dn",d); return 0; }
5 下标引用 []
#includeint main() { int arr[10]={1,2,3,4,5,6,7,8,9,10}; printf("%dn",arr[7]); return 0; }
6 函数调用 *** 作符 ()
#includevoid test() { printf("hehen"); } int main() { test();//函数调用 *** 作符 return 0; }
7 访问结构体 *** 作符
结构体变量.结构体成员
#includestruct Stu { char name[20]; int age; double score; }; int main() { struct Stu s={"zhangsan",20,85.5}; printf("%s %d %lfn",s.name,s.age,s.score);//.是访问结构体 *** 作符 return 0; }
用结构体指针访问:
#includestruct Stu { char name[20]; int age; double score; }; int main() { struct Stu s={"zhangsan",20,85.5}; struct Stu* ps=&s; printf("%s %d %lfn",ps->name,ps->age,ps->score);//使用指针访问结构体时使用-> return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)