第五章 运算符、表达式和语句

本章将介绍以下内容:

1、关键字——while、typedef;

2、运算符——=、-、*、/、%、++、--;

3、C语言的各种运算符,包括用于普通数学运算的运算符;

4、运算符优先级以及语句、表达式的含义;

5、while循环;

6、复合语句、自动类型转换和强制类型转换;

7、如何编写带有参数的函数。

5.1 while循环:while循环范围内,花括号以及被花括号括起来的部分被称为(block)

 屏幕截图 2025-09-24 184247

  5.2基本运算符

  5.2.1赋值运算符:=

=号左侧的项必须是一个变量名,右值指的是能赋给可修改左值的量,且本身不是左值。

  5.2.2 加法运算符 +减法运算符 -

printf("%d", 4 + 20 );输出的是 24 ,而不是4 + 20。+ 和 - 都被称为二元运算符。

  5.2.4符号运算符: - 和 +

a = -12; b = -c; d = +12;  以这种方式使用的负号被称为一元运算符。

  5.2.5 乘法运算符:*

  5.2.6 除法运算符:/

(1)、整数相除得出来的结果是整数,小数部分会被丢弃,这一过程称为截断。避免使用混合类型;(2)、如果浮点数除以整数,编译器会把两个运对象转换成相同的类型。(3)、对于负数的整数除法,例:-5/2 = -2,该方法直接舍弃小数部分,采用趋零截断。

屏幕截图 2025-09-24 192938

   5.2.7运算符优先级

乘法和除法的优先级高于加法和减法,有括号的先算括号里的

  5.3 其他运算符

  5.3.1 sizeof 运算符和size_t 类型

屏幕截图 2025-09-24 195205

 解析:size_t 是一种无符号整数类型,专门用于表示对象的大小(如内存块的大小、数组的长度等),只能存储非负整数。

          sizeof是一个运算符,用于获取操作数的大小(以字节为单位),sizeof(int) 用于获取int 类型在当前平台下所占的字节数,然后将这个值赋给 intsize 变量。

     sizeof 的转换说明符:%zd。

  5.3.2 求模运算符:%

求模运算符用于整数运算。下列程序是利用求模判断一个整数是奇偶

 屏幕截图 2025-09-24 202911

 ==是比较等号左边和右边是否相等,相等则返回1(真),反之则返回0(假)。相等关系运算符。

5.3.3递增运算符 ++

a_post = a++ ;//后缀,使用a之后,递增a;       pre_b = ++b ;//前缀,使用b的值之前,递增b。

下面的程序区分了前缀和后缀自增的情况,具体看VS 5.4.2

 屏幕截图 2025-09-26 181828

  5.3.4 递减运算符:--

同理递增运算符。关系运算符:> 运算符表示“大于”, < 运算符表示“小于”,它们都是关系运算符。

  5.3.5优先级

递增运算符和递减运算符都有很高的结合优先级,只有圆括号的优先级比它们高。

  注意,不要一次用太多递增运算符,自己会绕糊涂滴!y=(4+x++)+(6+x++),避免使用这样的语句。

      花括号括起来的一条或多条语句叫复合语句,复合语句也称为(block)

  5.5 类型转换

类型级别从高到低:double > float > long > int

涉及两种类型的运算,两个值会被分别转换成两种类型的更高级别。

从较小类型转换成较大级别,叫升级;把一种类型转换成更低级别的类型,叫降级。

  5.5.1强制类型转换运算符

强制类型转换运算符将其右侧的值转换成圆括号中指定的类型,如(float)9 把整数9转换成浮点数 9.0

  5.6带参数的函数(可参考2.6多个函数)

 屏幕截图 2025-09-26 204658

   解析:1、对于 void pound (int n),如果函数不接受任何参数,函数头的圆括号中应该写上关键字 void 。2、声明参数就创建了被称为形式参数(简称形参)的变量,该例中,形式参数是 int 类型变量 n ,像 pound(10) 这样的函数调用会把 10 赋 n。调用 pound(times)  就是把 times 的值(5)赋给n。我们称函数调用传递的值为实际参数(简称实参)。time 是 pound() 的实参,n 是 pound() 的形参。

 

posted @ 2025-09-24 21:00  豆豆豆豆沙包  阅读(46)  评论(0)    收藏  举报