运算规则与输出字符

1.C语言中条件运算符的优先级高于赋值运算符。

条件运算符的结合方向为“自右向左”。      还有自右向左运算的有:赋值运算符,单目运算符。

a.如条件表达:

y = x > 10?   x / 10 : x > 0 ? x : - x   从右至左结合,等价于:

y = x > 10?   x/10 : (x > 0?  x :-x) 

b.如赋值表达:

a=1,b=2,c=3

a+=b*=c      从右往左运算,所以先算b=b*c,然后再算a=a+b;

所以整体就是:a=a+(b*c)   结果为7

c.如单目表达:

*p++,这时*和++同级别,先算右边,再左边。

所以*p++等价于*(p++),而不是(*p)++。

2.C语言中强行赋值转换类型不遵循四舍五入。

如  x=4.9

printf("%d\n",(int)x)        结果为:4

3.在Xcode编译器中,在连续使用两次getchar函数时,输入的值中间不应该有 “,”或者有空格

例如:

char c1, c2; 
c1 = getchar();
c2 = getchar();
printf("%d%d\n",c1,c2);

a.若输入:ab       b.若输入:a,b
则输出:97,98       则输出:97,,

4.利用putchar输出一些他叔的控制符。           输出一般的字符:putchar("");    //中间为双引号

putchar('\n');   表示输出一个换行;      输出控制符:printf('');     //中间为单引号

putchar('\r');  表示输出回车;

putchar('\b');  表示输出退格;

5.scanf函数与printf函数

  scanf("%d%c%f",&a,&b,&c);    //注意,scanf函数""中间的没有逗号,printf函数有。

  printf("%d,%c,%f",a,b,c);

posted @ 2018-03-24 22:48  yhc99  阅读(230)  评论(0编辑  收藏  举报