第3章 最简单的C程序设计(2)_第1页
第3章 最简单的C程序设计(2)_第2页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第3章 最简单的c程序设计(2) 3.3 c语句3.3.1 c语句的作用和分类 3.3.2 最基本的语句-赋值语句 3.3.1 c语句的作用和分类c语句分为以下5类:(1) 掌握语句: if、switch、for、while、dowhile、 continue、break、return、goto等 (2) 函数调用语句 (3) 表达式语句:表达式加分号 (4) 空语句:只有一个分号 “;” (5) 复合语句: 3.3.2 最基本的语句-赋值语句在c程序中,最常用的语句是: 赋值语句 输入输出语句 其中最基本的是赋值语句 例3.4 给出三角形的三边长,求三 角形面积。 解题思路:假设给定的三个边

2、符合构成 三角形的条件 关键是找到求三角形面积的公式 公式为: area s(s a)(s b)(s c)其中s=(a+b+c)/2 #include stdio.h #include math.h int main ( ) double a,b,c,s,area; a=3.67; 对边长a、b、c赋值 b=5.43; c=6.21; 计算area 计算s s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(a=%ftb=%ft%fn,a,b,c); printf(area=%fn,area); return 0; #include stdio

3、.h #include math.h 调用数学函数加此行 int main ( ) double a,b,c,s,area; a=3.67; 数学函数,计算平方根 b=5.43; c=6.21; s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(a=%ftb=%ft%fn,a,b,c); printf(area=%fn,area); return 0; #include stdio.h #include math.h 调用数学函数加此行 int main ( ) double a,b,c,s,area; 转义字符, a=3.67; 使输出位置

4、 b=5.43; 跳到下一个 c=6.21; tab位置 s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(a=%ftb=%ft%fn,a,b,c); printf(area=%fn,area); return 0; 1.赋值运算符 “=”是赋值运算符 作用是将一个数据赋给一个变量 也可以将一个表达式的值赋给一个变量 2.复合的赋值运算符 在赋值符“=”之前加上其他运算符,可以构 成复合的运算符 a+=3 x*=y+8 x%=3 等价于 a=a+3 等价于 x=x*(y+8) 等价于 x=x%3 为便于记忆,可以这样理解: a += b (其

5、中a为变量,b为表达式) a += b(将有下划线的“a+”移到“=”右侧) |_ a = a + b (在“=”左侧补上变量名a) 留意:假如b是包含若干项的表达式,则相当于它有括号。 如: x %= y+3 x %= (y+3) |_ x = x %(y+3)(不要错写成x=x%y+3)c语言规定可以使用10种复合赋值运算符: +=,-=,*=,/=,%=,=,=, =,=,|= 凡是二元(二目)运算 符,都可以与赋值符一 起组合成复合赋值符。 3.赋值表达式 由赋值运算符将一个变量和一个表达式 连接起来的式子称为“赋值表达式”。 一般形式为: 变量 赋值运算符 表达式 例如: a=5 /

6、是一个赋值表达式 对赋值表达式求解的过程:求赋值运算符右侧的“表达式”的值 赋给赋值运算符左侧的变量 3.赋值表达式 赋值表达式“a=3*5”的值为15,对表 达式求解后,变量a的值和表达式的值都 是15 “a=(b=5)”和“a=b=5”等价 “a=b”和“b=a”含义不同 其中赋值表达式中的“表达式”,又可 以是一个赋值表达式。例如: a=(b=5) 分析:括弧内的“b=5”是一个赋值表达式,它 的值等于5。执行表达式“a=(b=5)”相当于执 行 “b=5”和“a=b”两个赋值表达式。 赋值 运算符根据“自右而左”的结合挨次,因此, “(b=5)” 外面的括弧可以不要,即 “a=(b=5

7、)”和“a=b=5” 等价。 请分析下面的赋值表达式(a=3*5)=4*3 分析: 先执行括弧内的运算,将15赋给a 然后执行4*3的运算,把12赋给a 不能写成: a=3*5=4*3 最终a的值为12,整个表达式的值为12 留意:在对赋值表达式(a=3*5)求解后,变量a得到值15,执行(a=3*5)=4*3时,实际上是将 4*3的积12赋给变量a,而不是赋给3*5。 赋值表达式也可以包含复合的赋值运算符。 如:a+=a-=a*a 分析:此赋值表达式的求解步骤如下 先进行“a-=a*a”的运算, 它相当于 a=a-a*a,a的值为12-144=-132。 再进行“a+=-132”的运算,相当

8、于 a=a+(-132),a的值为-132-132=-264。 将赋值表达式作为表达式的一种,使赋值 操作不仅可以消失在赋值语句中,而且可以以 表达式形式消失在其他语句(如输出语句、循 环语句等)中。 如:printf(%d,a=b); 分析:假如b的值为3, 则输出a的值(也是表达式a=b的值)为3。在一个语句中完成了赋 值和输出双重功能。 4.赋值过程中的类型转换 两侧类型全都时,直接赋值 两侧类型不全都,但都是算术类型时, 自动将赋值运算符右侧的类型转换为左 侧类型后赋值 定义变量时要防止数据溢出 假如赋值运算符两侧的类型不全都,但 都是数值型或字符型时,在赋值时要进行类 型转换。 将浮点型数据(包括单、双精度)赋给整 型变量时,舍弃浮点数的小数部分。 如:i为整型变量,执行“i=3.56”的结果是使i 的值为3,以整数形式存储在整型变量中. 将整型数据赋给单、双精度变量时,数值不 变,但以浮点数形式存储到变量中 如: 将2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论