1 逻辑运算 2 运算符优先级整理 3 条件运算符 4 函数 参数 变量

目录

1 逻辑运算

(1)逻辑运算符的优先级

(2)短路

2 运算符优先级整理

3 条件运算

(1)条件运算符

1)条件运算符优先级

     (2)逗号运算

1)逗号运算符

2)逗号在for中的运用

4 函数

(1)什么是函数

(2)函数定义

(3) 调用函数

(4)函数返回

1)从函数中返回

2)没有返回值的函数

(5)函数原型

1)函数先后关系

(6)参数传递

1)传值

(7)本地变量

(8)变量的生存期和作用域


1 逻辑运算

  • 逻辑运算是对逻辑量进行的运算,结果只有0或1
  • 逻辑量是关系运算或逻辑运算的结果
    运算符描述示例结果
    逻辑非!a

    如果a是true结果就是false,

    如果a是false结果就是true

    &&逻辑与a&&b

    如果a和b都是true,结果就是true,

    否则就是false

    ||逻辑或a||b

    如果a和b有一个是true,结果为true,

    两个都是false,结果为false

  • 如果想要表达数学中的区间,如:x∈(4,6),应该如何写c的表达式
  • 像4<x<6这样的式子,不是正确计算的式子,因为4<x的结果是一个逻辑值(0或1),那么再进行判断一定<6,从而导致结果永远是1
  • 所以正确的表示方法应该是x>4&&x<6
  • 如何判断一个字符c是否是大写字母?
  • c>='A'&&c<='Z'

(1)逻辑运算符的优先级

  • !>&&>||
  • !done&&(count>MAX)

(2)短路

  • 逻辑运算是自左向右进行的,如果左边的结果已经能够解决结果了,就不会做右边的计算
  • a==6&&b==1
  • a==6&&b+=1
  • 对于&&,左边是false时就不做右边了
  • 对于||,左边是true时就不做右边了
  • 不要把赋值,包括复合赋值组合进表达式

2 运算符优先级整理

优先级运算符结合性
1()从左到右
2!+ - ++ --从右到左
3* / %从左到右
4+ -从左到右
5<  <=  >  >==从左到右
6==   !=从左到右
7&&从左到右
8||从左到右
9=  +=  -==  *=  /=  %=                 从右到左  

3 条件运算

(1)条件运算符

  • count=(count>20)?count-10:count+10;
  • 条件、条件满足时的值和条件不满足时的值
  • 用if else语句来表达即为
    if(count>20)
        count=count-10;
    else
        count=count+10;

    1)条件运算符优先级

  • 条件运算符的优先级高于赋值运算符,但是低于其他运算符

     (2)逗号运算

1)逗号运算符

  • 逗号用来连接两个表达式,并以其右边的表达式的值作为它的结果。并以其右边的表达式的值作为它的结果。逗号的优先级是所有的运算符中最低的,所以它两边的表达式会先计算;逗号的组合关系是自左向右,所以左边的表达式会先计算,而右边的表达式的值就留下来作为逗号运算的结果。

2)逗号在for中的运用

  • for(i=0,j=10;i<j;i++,j--)……(使进行多个运算)

4 函数

(1)什么是函数

  • 函数是一块代码,接收零个或多个参数,做一件事情,并返回零个或一个值
  • 可以先想象成数学中的函数

(2)函数定义

void为返回类型        sum为函数名        (int begin,int end)为参数表

void sum (int begin,int end)        //函数头

{       

        int i;

        int sum=0;

        for (i=begin;i<=end;i++){

                sum+=i;

               }

        printf("%d到%d的和是%d\n",begin,end,sum);        //函数体

}

(3) 调用函数

  • 函数名(参数值);
  • ()起到了表示函数调用的重要作用
  • 即使没有参数也需要()
  • 如果有参数,则需要给出正确的数量和顺序
  • 这些值会被按照顺序依次用来初始化函数中的参数

(4)函数返回

  • 函数知道每一次是哪里调用它,会返回到正确的地方

1)从函数中返回

  • return停止函数的执行,并送回一个值
  • return;
  • return表达式

2)没有返回值的函数

  • void 函数名(参数表)
  • 不能使用带值的return
  • 可以没有return
  • 调用的时候不能做返回值的赋值

(5)函数原型

  • 函数头,以分号“;”结尾,就构成了函数的原型
  • 函数的原型目的是告诉编译器这个函数长什么样
  • 名称
  • 参数(数量及类型)
  • 返回类型
  • 现在一般写在调用它的函数前面

1)函数先后关系

  • 先打出函数再进行函数的利用

(6)参数传递

C语言在调用函数时,永远只能传值给函数

1)传值

  • 每一个函数有自己的变量空间,参数也位于这个独立空间中,和其他函数没有关系
  • 对于函数参数表中的参数,叫做“形式参数”,调用函数时给的值,叫做“实际参数”

(7)本地变量

  • 函数的每次运行,就产生了一个独立的变量空间,在这个空间中的变量,是函数的这次运行所独有的,称作本地变量
  • 定义在函数内部的变量就是本地变量
  • 参数也是本地变量
  • 本地变量是是定义在块内的
  • 它可以是定义在函数的块内
  • 也可以定义在语句的块内
  • 甚至可以随变拉一队大括号来定义变量
  • 程序运行进入这个块之前,其中的变量不存在,离开这个块,其中的变量就消失了
  • 块外面定义的变量在里面仍然有效
  • 块里面定义了和外面同名的变量则覆盖了外面

(8)变量的生存期和作用域

  • 生存期:什么时候这个变量开始出现了,到什么时候它消亡了
  • 作用域:在什么范围内可以访问这个变量(这个变量可以起作用)
  • 对于本地变量,这两个问题的答案是统一的:大括号内

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值