C语言基础 运算符和表达式


一、运算符和表达式(掌握)

1、定义

运算符:用于执行程序代码的运算,针对一个以上的操作数项目来进行运算。

+、-、*、/、%、&&

表达式:由数字、变量、算符、数字分组符号(括号等)等能够求得数值的有意义的组合。

(a+b)*5

2、赋值运算符 =

将=右边的值赋值给左边的变量

8=5;//错误

赋值表达式:由操作数和赋值运算符构成的表达式

本质:修改指定名称的存储空间的内容

【注意】整个赋值表达式的值,就是最终赋值给的那个变量的值

 

3、算术运算符

+ - * /

% 求余/取模

++:自增运算符,变量++或++变量,前者先用后加,后者先加后用

- - :自减运算符,变量- -或- -变量,前者先用后减,后者先减后用

算术表达式:由操作数和算术运算符构成的表达式

【注意】算术表达式是有确定的值

 

练习:定义一个整型变量num,对其进行初始化,计算出该数的个位数,将结果保存在ret整型变量中,然后输出ret的值,要求num初始化之后,使用scanf为其赋值。

 

3456 %10   = 6

 

【扩展】

  【隐式类型转换】

    相同类型的数据之间进行运算,表达式的值的类型不变。

    int a=5,b=3;

    int c = a-b;

    不同类型的数据之间进行运算,会出现隐式类型转换。

    1.0/2 

 

    【强制类型转换】

      格式:(类型)表达式

      【注意】强制类型转换,只是临时改变表达式中变量的类型,表达式中变量的类型没有被改变。

 

4、复合运算符(算术运算符和赋值运算符的结合)

+=   -=  *= /=  %=

 

5、关系运算符

> <  >= <= == !=

关系表达式:由关系运算符和操作数组成的表达式。

 

a>b;

a = 5;

b = 3;

关系表达式的值:

        符合数学逻辑:1(真)

        不符合数学逻辑: 0(假)

6、逻辑运算符

逻辑与(两边的表达式同时为真,值就为真),表达式1&&表达式2

逻辑或(两边的表达式有一个为真,值就为真),表达式1||表达式2 

逻辑非  (表达式为真,值就为假,反之,值为真)  !表达式

 

逻辑表达式:由逻辑运算符和表达式构成的表达式。

逻辑表达式的值:

        成立为1(真)

        不成立为0(假)

   

7、条件运算符(三目运算符)

格式:表达式1?表达式2:表达式3    条件表达式

 

执行过程:求解表达式1的值,如果表达式1的值为真,则

返回表达式2的值,作为整个条件表达式的值;否则将表达式3的值,作为整个条件表达式的值。

 

练习:

1、使用条件表达式,输入两个整数,找出最小值,并输出最小值。

2、使用条件表达式,输入两个整数,找出最大值,将最大值乘以4,并输出。

 

8、逗号运算符和逗号表达式(了解)

表达式1,表达式2,...,表达式n   逗号表达式

执行过程:从左往右依次执行每个表达式,逗号总表达式的值是表达式n的值。

 

9运算符优先级和结合性

赋值运算符是从右向左结合。

(1)当表达式比较复杂的时候,C语言没有规定计算的先后顺序,这个顺序取决于运算符的优先级。

(2)当记不住优先级和结合性,添加括号来解决。

 

 

二、分支结构(掌握)

顺序结构:自上而下,依次执行。

分支结构:执行是依据一定的条件,根据条件选择执行的路径,不按照原有的顺序来执行。

 

1、if语句

(1)if(表达式)

     {

          语句块1;

     }

     语句块2;

如果表达式的值为真,则执行语句块1,否则,不执行语句块1,继续执行语句块2。

 

练习:使用if语句求两个数之中的最大值。

 

(2)if(表达式)

     {

           语句块1;

     }

     else

     {

           语句块2;

     }

     如果表达式的值为真,则执行语句块1,否则执行语句块2。

 

(3)if(表达式1)

     {

            语句块1;

      }

      else if(表达式2)

      {

            语句块2;

      }

      …

      else if(表达式n-1)

      {

             语句块n-1;

      }

      else

      {

             语句块n;

       }

       执行过程:依次判断每个表达式的值,当出现某个表达式的值为真的时候,则执行其对应的语句块。然后跳到整个if语句之外继续执行。如果所有表达式的值为假时,执行语句块n。

 

练习:输入一个字符,判断字符的类型:大写字母,小写字母,数字,其他字符

 

 


 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值