知识点一:表达式

1)什么是表达式:在C语言中,一个或多个运算对象与零个或多个运算符组成表达式;

例:

100
5 + 10
a / b
a * 10 / b + c

2)表达式的结果:

printf("%d\n", 5 + 10);

运算符运算对象进行运算操作必然产生一个结果,因此每个表达式都有一个结果。例如上面的表达 式 5 + 10 的结果为15。

3)表达式语句:

a)表达式后面加上分号构成表达式语句;

b)C语言中表达式不能单独存在,必须以表达式语句的形式存在;

例:

100;
5 + 10;
a / b;
a * 10 / b + c;

“但下面表达式5+10后面却没有分号”

printf("%d\n", 5 + 10);

#因为 5 + 10 是一个子表达式,函数名加上括号运算符,构成了一个函数调用表达式。 所以, 5 + 10 为函数调用表达式的子表达式,而函数调用表达式后面加了分号了。

#函数调用表达式也有一个表达式结果,这个结果就是函数的返回值了。

知识点二:加法运算符+

1)+ 为加法运算符,它左右边各需要一个运算对象,构成 加法运算符表达式;

2)表达式结果:加法表达式的结果为左右表达式结果相加;

int a, b;
a = 200;
b = 100;
a + b; // 表达式结果为300

知识点三:减法运算符—

1)- 为减法运算符,它左右边各需要一个运算对象,构成 减法运算符表达式;

2)表达式结果:减法表达式的结果为左右表达式结果相减;

int a, b;
a = 200;
b = 100;
a - b; // 表达式结果为100

知识点四:符号运算符 +、-

1)+ 用于标明一个表达式的正负, - 用于改变一个表达式的正负;

2)与加减运算符不同的是,它仅需要在运算符右边有一个运算对象;

3)表达式结果:

a)+ 号表达式的结果为右边运算对象的值;

b)- 号表达式的结果为右边运算对象值的相反数;

+100; // 表达式结果为100
-100; // 表达式结果为-10

4)用于改变表达式的正负:

int a = 100;
-a; // 表达式结果为-100

5)请注意:+不能改变表达式的正负,请使用负负得正;

int a = -100;
+a; // 表达式结果为-100
-a; // 表达式结果为100

知识点五:乘法运算符 *

1)* 为乘法运算符,它左右边各需要一个运算对象,构成 乘法运算符表达式;

2)表达式结果:乘法表达式的结果为左右表达式结果相乘;

3)* 是乘法运算符,注意不要误用为字母x;

int a, b;
a = 200;
b = 100;
a * b; // 表达式结果为20000

知识点六:除法运算符 /

1)/ 为除法运算符,它左右边各需要一个运算对象,构成 除法运算符表达式 ;

2)表达式结果:除法表达式的结果为左运算对象除以右运算对象;

int a, b;
a = 200;
b = 100;
a / b; // 表达式结果为2

3)整型无法整除问题:

a)对于除法,请特别注意整型无法整除时,出现浮点类型数据的问题;

int a, b, c;
a = 5;
b = 2;
c = a / b;

#a 的值为 5 , b 的值为 2 。那么 5 除以 2 ,应该等于 2.5 。 但是,使用 int 来接收 2.5 好像不太对,那我们把 c 改为 float 或 double 。

int a, b;
a = 5;
b = 2;
float c;
c = a / b;
printf("%f\n", c);

#显然结果依然不对

#在C语言里面,整型与整型运算的结果,依然是一个整型。结果的小数部分被丢弃,这一过程被称作截断。a / b后,结果仍然是一个整型,数值已经被截断了,这时候,我们再赋给一个浮点型的c。也只能 是整数2转成浮点2.0了,没有起到效果。

&那我们将a,b,c都改为float,这样就不会出现截断了。a,b将会进行浮点运算,结果也是一个浮点数类型float;

float a, b, c;
a = 5;
b = 2;
c = a / b;
printf("%f\n", c);

知识点七:求余运算符 %

1)% 为求余运算符,它左右边各需要一个运算对象,构成 求余运算符表达式 ;

2)表达式结果:求余表达式的结果为左运算对象除以右运算对象的余数;

例如:10%3,10除以3,等于3余1

int a, b;
a = 10;
b = 3;
a % b; // 表达式结果为1

知识点八:赋值运算符 =

1)= 为赋值运算符,它左右各需要一个运算对象,构成 赋值运算符表达式;

2)赋值 表达式的结果为等号右边的运算对象的值;

3)赋值表达式还会将等号右边运算对象的值,传递给左边的运算对象;

a = 100; // 赋值表达式语句

4)赋值与初始化的区别:

int a = 100; // =表示初始化,不是赋值运算符
a = a + 150; // 赋值运算符,将右边的表达式结果赋值给左边的变量a。

在上面的代码中,第一行代码声明了一个变量a。请注意,声明变量时并将它初始化为100所用的 = 号, 不是赋值运算符,而是变量初始化。虽然初始化和赋值很像,但是 = 号左边并不是一个单纯的变量而是变量的声明。你可以借此来区别它们。

5)求一个赋值表达式的结果:

表达式 a = a + 50 是一个复合表达式,先求得子表达式 a + 50 的结果,为150。再求表达式 a = 150 的 结果,即 150 。另外,赋值表达式除了计算出表达式的结果外,还会将 150 赋值给变量 a

6)不能给常量赋值:给常量赋值是错误的,因为常量不能被更改;

"Hello" = "HelloWorld";
'a' = 'b';
100 = 200;

“以上赋值为错误方式”

知识点九:自增、自减运算符

1)++ 为指自增运算符, -- 为自减运算符。它们仅需要运算符左边或右边有一个运算对象即可;

2)运算符置于左边被称作前缀模式。例如: ++i --i ;

3)运算符置于右边被称作后缀模式。例如: i++ i--;

4)前缀模式:

#include <stdio.h>
int main()
{
int a, b;
a = 10;
b = 10;
printf("%d %d\n", ++a, --b);
printf("%d %d\n", a, b);
return 0;
}

a)前缀模式表达式结果:

++ 与右运算对象构成前缀自增表达式,表达式结果为运算对象值加1;

- - 与右运算对象构成前缀自减表达式,表达式结果为运算对象值减1;

b)前缀模式对运算对象的操作:

自增表达式:将运算对象加1;

自减表达式:将运算对象减1;

5)后缀模式:

#include <stdio.h>
int main()
{
int a, b;
a = 10;
b = 10;
printf("%d %d\n", a++, b--);
printf("%d %d\n", a, b);
return 0;

a)后缀模式表达式结果:

++ 与左运算对象构成后缀自增表达式,表达式结果为运算对象值;

-- 与左运算对象构成后缀自减表达式,表达式结果为运算对象值;

b)后缀模式对运算对象的操作:

自增表达式:将运算对象加1;

自减表达式:将运算对象减1;

知识点十:一元运算符,二元运算符

1)一元运算符:只有一个运算对象的运算符。例如:自增运算符 ++ ,自减运算符 -- ;

2)二元运算符:有两个运算对象的运算符。例如:赋值运算符 = ,加法运算符 +;

知识点十一:运算符优先级

*C语言的四则运算符优先级和数学中的一致。先算括号里面的,先乘除后加减;

#include <stdio.h>
int main()
{
int a, b;
a = 10 * 2 + 4 * 3;
b = 10 * (2 + 4) * 3;
printf("%d %d", a, b);
return 0;
}

常用的运算符优先级
标记 操作符 类型 优先级
++  -- 自增,自减 前缀 16
++  -- 自增,自减 后缀 15
+  - 正号,负号 单目 15
* / % 乘,除,取余 双目 13
+ - 加,减 双目 12
= 赋值 双目 2

优先级越高的,在运算里面,需要被优先处理。例如:乘除优先级为13大于加减的12

C语言——运算符与表达式相关推荐

  1. c语言的运算答案,C语言运算符与表达式的练习题答案.doc

    C语言运算符与表达式的练习题答案.doc C语言运算符与表达式的练习题单项选择题 1以下选项中,正确的 C 语言整型常量是( D ). A. 32L B. 510000 C. -1.00 D. 567 ...

  2. c语言表达式运算符,C语言运算符与表达式

    <C语言运算符与表达式>由会员分享,可在线阅读,更多相关<C语言运算符与表达式(18页珍藏版)>请在人人文库网上搜索. 1.2020/6/26,3,1,陈孝则,运算符和表达式, ...

  3. c语言等号运算符先计算右边,C语言运算符和表达式.ppt

    <C语言运算符和表达式.ppt>由会员分享,可在线阅读,更多相关<C语言运算符和表达式.ppt(29页珍藏版)>请在人人文库网上搜索. 1.运算符和表达式,夏涛,运算符与表达式 ...

  4. c语言运算符与表达式ppt,c语言运算符与表达式.ppt

    c语言运算符与表达式.ppt 第三讲 运算符与表达式 运算符与表达式 [例] 自增.自减运算符的用法与运算规则示例. /*程序功能:自增.自减运算符的用法与运算规则示例*/ main int x 6, ...

  5. c语言运算符和表达式说课,c语言运算符和表达式说课材料.ppt

    c语言运算符和表达式;;学习运算符,主要掌握以下4点:;;;;§3.1 算术表达式;;;;整除和求余数的特殊用处;;;;;// 连续的---表示前两个是对a的自减,最后的-表示减法运算;3.1.2 算 ...

  6. C语言为运算表达式添加括号,读书笔记-c语言-运算符与表达式

    1.算术运算符:+-*/% %要求参与运算的两个量必须是整型或字符型的,实型(float,double等)的数据不能做%运算. 算术表达式 运算符和数据可以组成运算的式子,称为表达式.举例:10+20 ...

  7. 第三章 C语言运算符,表达式,序列点,类型转换

    文章目录 赋值运算符 对象.左值.右值 算术运算符 关系运算符 逻辑运算符 备选拼写 iso646.h头文件 条件运算符 逗号运算符 表达式 语句 表达式语句 复合语句 迭代语句 选择语句 跳转语句 ...

  8. 第三章 C语言运算符与表达式练习题

    第三章 运算符与表达式练习题 一.单项选择题 1.下列数据中属于"字符串常量"的是(  ).      A."a"      B.  {ABC}         ...

  9. C语言运算符与表达式课件,C语言课件(运算符和表达式).ppt

    C语言课件(运算符和表达式).ppt 运算符与表达式第二讲 运算符和表达式,引例 概念及分类 优先级和结合性 算术运算 关系运算 逻辑运算 位运算 赋值运算符 逗号运算符 条件运算符,引例,引例 问题 ...

最新文章

  1. Oracle常用语句记录
  2. 编程之美-中国象棋将帅问题方法整理
  3. C语言去括号编程题,数据结构课件.ppt
  4. c语言realloc函数中写啥,求大神解惑realloc函数,谢谢!
  5. 学习笔记(54):Python实战编程-Scale
  6. 使用Junit测试名称
  7. python excelwriter保存路径_Python和Excel 终于可以互通了!!
  8. (26)FPGA面试题7分频器
  9. DCMTK3.6.0 安装失败的说明
  10. android os自动联网,联网设置指南
  11. Oracle建立用户和表空间
  12. mysql的inndob引擎崩溃
  13. 前端五个拿来就能用的炫酷动画登录页面
  14. 2021年信息安全工程师真题与答案
  15. 最近发现谷歌浏览器打开网页速度很慢,比IE都慢
  16. 【深度学习 论文篇 01-1 】AlexNet论文翻译
  17. Captura – 带键盘按键录制的录屏工具,支持直播[Windows]
  18. 当ie浏览器无法上网时
  19. python指定时间倒计时软件_python倒计时
  20. 车联网大数据框架_车联网大数据:发展、支撑与应用

热门文章

  1. IMU(Inertial measurement unit)
  2. Navicat中设计表时int类型的长度说明
  3. 【CSDN编程竞赛 第六期】我的第一场编程竞赛。
  4. 创建多线程有几种方法?如何创建线程?
  5. ORC科普3-创业小王子Turboden
  6. 一分钟读懂互联网广告竞价策略
  7. 基于单片机智能波形发生器设计
  8. 详解数据仓库建设体系
  9. 搭建一套基于 Groovy 规则引擎的业务风控平台
  10. RAD Studio 11.X Alexandria release有何新的改变及改变实务