本文是对 *** 作符和常见关键字的初步讲解,属于初识C语言系列。
一、赋值 *** 作符
位移 *** 作符和位 *** 作符暂不讨论;
赋值 *** 作符:
//下面的两段代码表示的意思相同 a=a+b a+=b //然后以此类推 -= *= /= 等等等二、单目 *** 作符
!----逻辑反 *** 作
#includeint main() { //C语言中,0就是假,非0就是真 int a = 0; int b = !a; printf("b=%dn", b);// b=1 int flag = 5; //如果flag为真,做什么事情 if (flag) printf("hehen"); //如果flag为假,做什么事情 if (!flag) printf("hahan"); return 0; }
sizeof---- *** 作数的类型长度(以字节为单位)
//以下两个打印的结果是多少? #includeint main() { int a=10; printf("%d",sizeof(a)); printf("%d",sizeof(int)); return 0; }
答案:4 4
a是int类型,四个字节,int四个字节。
--/++前置或后置
int main() { int a = 10; int b = ++a;//前置++,先++,后使用 //a=a+1;b=a; int b = a++;//后置++,先使用,后++ //b=a;a=a+1; printf("a=%d b=%dn", a, b);//11 10 int a = 10; //int b = --a;//前置--,先--,再使用 int b = a--;//后置--,先使用,再-- printf("a=%d b=%dn", a, b);// return 0; }
~ 按位取反
00001011
11110100
()----强制类型转换
#includeint main() { int a=(int)3.14; printf("%d",a); return 0; }
结果是:3
3.14是浮点型数据,如果不强制转换,可能会丢失数据;
三、关系 *** 作符 四、逻辑 *** 作符#includeint main() { int a = 3; int b = 20; if (a == 3 || b == 4) { printf("hehen"); } return 0; }
&&--两者都真则为真
||--两者有一个及以上则为真
五、条件 *** 作符#includeint main() { int a = 3; int b = 5; int m = 0; //if (a > b) // m = a; //else // m = b; m = ((a > b) ? a : b); return 0; }
exp1这个表达式成立的话执行exp2,不成立的话执行exp1;
六、逗号 *** 作符#includeint main() { int a = 1; int b = 3; int c = 4; int d = (a = b - 3, b = a * 2, c = a - b); printf("%d %d %d %dn", a,b,c,d); return 0; }
逗号 *** 作符:从左到右依次计算,但表达式的结果是最后一个式子的结果。
共勉:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)