【C语言基础考研向】06运算符与表达式

简介: 本文介绍了C语言中的运算符分类、算术运算符及表达式、关系运算符与表达式以及运算符优先级等内容。首先概述了13种运算符类型,接着详细说明了算术运算符的优先级与使用规则,以及关系运算符和表达式的真假值表示,并给出了C语言运算符优先级表。最后附有课后习题帮助巩固理解。

文章目录
1.运算符分类
2.算术运算符及表达式
3.关系运算符与关系表达式
4.c语言运算级优先级表
课后习题自测


1.运算符分类

语言提供了13种类型的运算符,如下所示.

==(1)算术运算符(+ - / %) .
(2)关系运算符(>< == >=<= l=) .
(3)逻辑运算符(l && ll) .==
(4)位运算符(<< >> ~ I ^ &).
==(5)赋值运算符(=及其扩展赋值运算符).==
(6)条件运算符(?和:)
(7)逗号运算符(,)
(8)指针运算符(
和&)---讲指针时讲解
==(9)求字节数运算符(sizeof) .
(10)强制类型转换运算符((类型)).==
(11)分量运算符(. - >) .---讲结构体时讲解
(12)下标运算符([ ]) . ----讲数组时讲解
(13)其他(如函数调用运算符() ). ---讲函数时讲解


2.算术运算符及表达式

算术运算符包含+、一、、/和%,当一个表达式中同时出现这5种运算符时,先进行乘()、除(/)、取余(%),取余也称取模,后进行加(+)、减(-),也就是乘、除、取余运算符的优先级高于加、减运算符.

只有的情况:
(1) %运算符只适用于整形数

#举例
10%3=3
6%4=1

(2) / 运算时,只有两边的操作数都是整型的情况下,才执行整除运算,其他情况下执行浮点型数除法。

算术表达式:
由算术运算符组成的式子称为算术表达式,表达式一定有一个值。


3.关系运算符与关系表达式

关系运算符

关系运算符>、<、= =、>=、<=、!=依次为大于、小于、是否等于、大于等于、小于等于和不等于。

关系表达式

由关系运算符组成的表达式称为关系表达式。关系表达式的值只有真和假,对应的值为1和0。由于C语言中没有布尔类型,所以在C语言中0值代表假,非0值即为真。

例如,关系表达式3>4为假,因此整体值为0,而关系表达式5>2为真,因此整体值为1。关系运算符的优先级低于算术运算符,运算符的优先级的详细情况见最后。

在工作中,很多程序员容易不小心将两个等号写成一个等号,因此当判断整型变量i是否等于3时,我们可以写为3= =i,即把常量写在前面而把变量写在后面。这是因为当不小心将两个等号写为一个等号时,变量在前面就会导致编译不通,从而快速发现错误〈这种写法属于华为公司内部的一条编程规范)。

同时,在编写程序时,如果我们需要判断三个数是否相等,那么绝对不可以写为if(5= =5= =5),这种写法的值无论何时都为假,为什么?因为首先5= =5得到的结果为1,,然后1= =5得到的结果为0。如果要判断三个变量a、 b、c是否相等,那么不能写为a= =b= =c,而应写为a= =b &&b= =c。


4.c语言运算级优先级表

image.png

注意:


结合方向要注意,优先级2和14和条件运算符的结合方向是从右到左的

课后习题自测

1.算术运算符包含+、-、*、/和%,乘、除、取余运算符的优先级高于加、减运算符
A.正确 B.错误

答案
A

2.%取余(也称为取模运算)可以用于浮点数
A正确 B错误

答案:B
解释:取模运算只能用于整型数,不能用于浮点数

3.关系运算符的优先级高于算术运算符A正确B错误
答案:B
解释:关系运算符优先级是低于算术运算符的,记住这个对于初试大题编写是必须的

4.代码编写int a=5; if(3<a<10)这种编写方式是否正确
A 正确 B错误

答案:B
解释:在程序中是错误的.首先,无论a是大于3还是小于3,对于33&& a<10,这才是正确的写法.

相关文章
|
12天前
|
存储 算法 C语言
通义灵码在考研C语言和数据结构中的应用实践 1-5
通义灵码在考研C语言和数据结构中的应用实践,体验通义灵码的强大思路。《趣学C语言和数据结构100例》精选了五个经典问题及其解决方案,包括求最大公约数和最小公倍数、统计字符类型、求特殊数列和、计算阶乘和双阶乘、以及求斐波那契数列的前20项和。通过这些实例,帮助读者掌握C语言的基本语法和常用算法,提升编程能力。
|
2月前
|
C语言
C语言判断和运算符联系
在 C 语言中,判断与运算符紧密相关,主要体现在条件表达式的使用上。
191 87
|
2月前
|
安全 C语言
C语言运算符的使用注意点
在C语言中,正确使用运算符能提升代码的可读性和效率。本文介绍了八大注意事项:运算符优先级和结合性影响运算顺序;自增/自减运算符分前缀和后缀形式;逻辑运算符有短路特性;位运算符直接操作二进制位需谨慎;条件运算符简洁但避免复杂嵌套;类型转换避免意外结果;使用括号明确运算顺序。掌握这些要点有助于编写更安全高效的代码。
177 72
|
21天前
|
存储 Java C语言
【一步一步了解Java系列】:了解Java与C语言的运算符的“大同小异”
【一步一步了解Java系列】:了解Java与C语言的运算符的“大同小异”
36 3
|
25天前
|
C语言
C语言条件运算符详解
C语言条件运算符,也称为三元运算符,是一种简化if-else语句的表达式,形式为:条件?表达式1:表达式2。当条件为真时,计算并返回表达式1的值;否则计算并返回表达式2的值。它可用于快速实现简单的条件分支逻辑。
|
2月前
|
安全 C语言
在C语言中,正确使用运算符能提升代码的可读性和效率
在C语言中,运算符的使用需要注意优先级、结合性、自增自减的形式、逻辑运算的短路特性、位运算的类型、条件运算的可读性、类型转换以及使用括号来明确运算顺序。掌握这些注意事项可以帮助编写出更安全和高效的代码。
43 4
|
2月前
|
存储 C语言 数据格式
【C语言基础考研向】03混合运算和printf讲解
本文分为两部分。第一部分介绍了C语言中的混合运算与类型强制转换的重要性,通过实例展示了当整型数进行除法运算且结果为小数时,必须使用类型转换才能正确存储浮点数结果。第二部分详细讲解了`printf`函数的功能与使用方法,包括格式化输出不同类型数据的基本语法,并通过具体示例演示了如何利用字段宽度和对齐方式来控制输出格式,帮助读者更好地理解和掌握输出格式的控制技巧。
43 10
|
2月前
|
C语言
【C语言基础考研向】05 scanf读取标准输入超详解
本文详细解析了C语言中`scanf`函数的工作原理及常见问题。首先介绍了`scanf`如何处理标准输入,并通过示例说明了为何有时会出现阻塞现象及其解决办法。接着探讨了当输入包含多种数据类型时,特别是字符型数据的处理方式,强调了格式控制的重要性,并给出了正确的输入格式示例。通过正确配置,可以避免因空格和换行符导致的问题,确保数据准确读取。
57 10
|
2月前
|
存储 C语言
【C语言基础考研向】02 数据类型-常量-变量
本文介绍了编程中的基本概念,包括数据类型分类、常量与变量的定义及使用。首先概述了四大类数据类型:基本类型(整型、浮点、字符型)、构造类型(数组、结构体)、指针类型和空类型。接着阐述了常量与变量的区别及命名规则,并详细说明了整型、浮点型和字符型数据的特点与应用。最后总结了常见的易错点,如字符串与字符常量的区别及浮点数的默认输出格式。
|
2月前
|
存储 C语言
【C语言基础考研向】04整型进制转换
本文介绍了计算机中整型常量的不同进制表示,包括二进制、八进制、十六进制和十进制,并解释了它们之间的转换方法。以一个32位整型数为例,展示了其在不同进制下的表示形式及计算方法,特别指出在内存观察中常用十六进制,同时提到了小端存储方式对数据的影响。