C语言变量篇3.0

1.求平均值

●写一个程序,输入两个整数,输出它们的平均值

 int  a , b ;

 scanf ("% d  % d ", & a , & b );

 double c  = ( a + b )/2.0;

 printf ("% d 和% d 的平均值=% f \ n ",  a ,  b  , c )


 2.                                                           运算符优先级

优先级

运算符

        运算

结合关系

举例

1+单目不变自右向左a*+b
1-单目取负自右向左a*-b
2*自左向右a*b
2/

自左向右a/b
2%取余自左向右a%b
3+自左向右a+b
3-自左向右a-b
4=赋值自右向左

a=b

注意:1赋值的运算级比所有的运算级都低 。 eg:a=b+5  表示先计算b+5的值,再将该值赋予给a

           2.单目的运算级高于乘除。单目只作用于一个变量。

3.赋值运算符

对C语言来说,赋值为一个运算符,但对于其他语言不一定是。
●赋值也是运算,也有结果
● a =6的结果是 a 被赋予的值,也就是6

● a = b =6一> a =( b =6)

但是我们不应写      “嵌入式赋值”赋值运算符 

int a =6

int b  ;

int c = 1+(b=a);

 ●不利于阅读
●容易产生错误

4.结合关系
●一般自左向右
●单目+﹣和赋值=自右向左 

 result = a = b = 3 + c ;

 result =2;
 result =( result = result *2)*6*( result = 3 + result );

我们不应写出这么复杂的表达式,程序会出现错误,表达式要简单化。

5.交换变量

交换两个变量
●如果已经有:
 int a =6;
 int b =5;
问:如何交换 a 、 b 两个变量的值?

程序是按步执行的
●程序表达的是顺序执行的动作,而不是关系,解1.是错误的。
解1: a = b ;  b = a ;
是依次执行的,结果使得 a 和 b 都得到 b 原来的值。

解2:t=a  a=b  b=c   是正确的。

#include <stdi.h>

int main()
{
    int a=5; 
    int b=6 ;
    int t;
    t=a;
    a=b;
    b=t;
    printf("a=%d,b=%d\n", a,b);
    return 0;
}

我们可以通过调试运行知道了解该过程

6.复合赋值
●5个算术运算符,+-*/%,可以和赋值运算符“=”结合起来,形成复合赋值运算符:“+=、“=、*=”、“/=”和“%=”
● total +=5;
● total = total +5;
●注意两个运算符中间不要有空格

7.递增递减运算符
●“”++”和“”﹣”是两个很特殊的运算符,它们是单目运算符,这个算子还必须是变量。这两个运算符分别叫做递增和递减运算符,他们的作用就是给这个变量+1或者﹣1。

● count ++;
● count += l ;
● count = count + l ;

8.前缀后缀
●++和﹣﹣可以放在变量的前面,叫做前缀形式,也可以放在变量的后面,叫做后缀形式。
● a ++的值是 a 加1以前的值,而++ a 的值是加了1以后的值,无论哪个, a 自己的值都加了 I 了。

也就是:a++:  a++=a , a=a+1

              ++a: a=a+1 , ++a=a

#include <stdio.h>

int main()
{
    int a;
    a = 10;

    printf("a++=%d\n", a++);
    printf("a=%d\n", a);

    printf("++a=%d\n", ++a);
    printf("a=%d\n", a);

    return 0;   

}

 运行结果是:a++=10  a=11  ++a=12  a=12

                                                           前缀后缀运算 

表达式运算表达式的值
count ++给 count 加1count 原来的值
++ count给 count 加1count +1以后的值
count--给 count 减1count 原来的值
--count给 count 减1count -1以后的值

++--

●这两个运算符有其历史来源
●可以单独使用,但是不要组合进表达式

●++i ++-->?
●i++++——>?
● a = b += c ++- d +-- e /- f

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值