预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共106页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第3章程序控制结构内容:解决步骤图示:选择结构需要解决的两个问题关系运算符优先级示例: 8==4其值为“假”,表达式的值为0。 5>0其值为“真”,表达式的值为1。 思考:x=1与x==1意义相同吗?逻辑运算符和逻辑表达式真 真 假 假 真 真 真 假 假 真 假 真 假 真 真 假 假 真 假 假 真 真 假 假逻辑表达式的值是一个逻辑量“真”或“假”。C语言编译系统在给出逻辑结果时,以数值1代表“真”,以0代表“假” 在判断一个量是否为“真”时,以非0代表“真”,以0代表“假”。 例如: 若x=10,则!x的值为0。 若a=3,b=2,则a&&b的值为1。 5&&0||8的值为1。结合性特点 在逻辑表达式的求解中并不是所有的运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行下一个运算符。 例如:已知a=3,b=0,c=2,则执行下列表达式后a,b,c分别是多少? a&&b&&(c=4)!(非) 算术运算符 关系运算符 && || 赋值运算符 练习1:能正确判断变量x中的字符是英文字母的表达式是: if-else形式: if(表达式)语句1; else语句2;if-else形式的执行流程条件运算符 ?: 条件表达式的形式: 表达式1?表达式2:表达式3 计算过程:先计算表达式1,若其值为非零,则结果为表达式2的值,否则就是表达式3的值。示例2:根据如下描述的算法,编程。练习:阅读下列源程序,写出运行结果示例3:求ax2+bx+c=0的实根(要求:a,b,c的值从键盘输入,a不等于0)-1(x<0) 示例4:有一函数y=0(x=0) 1(x>0) 请编写程序,输入一个x值,输出对应的y值。 else-if形式结构: if(表达式1)语句1; elseif(表达式2)语句2; …… else语句n+1;p633.1输入三角形的三边a,b,c,判断a,b,c,能否构成三角形,何种类型的三角形:等腰、等边、直角、等腰直角、一般。示例5:请仔细检查下列程序:在一个if语句中又包含了另 一个if语句,称为if语句的 嵌套。程序段1#include<stdio.h> #include<math.h> voidmain()/*已知三角形的三边,计算其面积*/ {inta,b,c; floats; doublere; scanf("%d,%d,%d",&a,&b,&c); if(a+b>c&&a+c>b&&b+c>a) {s=(a+b+c)/2; re=sqrt(s*(s-a)*(s-b)*(s-c)); printf("面积=%.1lf\n",re);} elseprintf("\n不能构成三角形\n"); }复习小结:示例8:从键盘输入一个整数放在a中,当输入的值为1时,显示A,输入2时显示B,输入3时显示C,当输入其他整数时显示D。多分支控制语句(switch语句)示例:阅读下列源程序,请写出运行结果示例:源程序:示例:将1至7中的任意一个数字转化成对应的英文星期几的前三个字母,如1转化为Mon,7转化为Sun等。示例7:用公式f=p*w*s*(1-d) 计算运输费。用if语句、else-if语句完成上述例题,并做对比。源程序:选择结构应用举例编写简单的计算器程序。用户输入运算数和四则运算符,输出计算结果。 循环结构程序设计循环结构需要解决的两个问题 格式:while(表达式)语句; 示例9:编写满足1+2+3+…+n<500中最大的n并求其和的程序。自增和自减运算符 ++运算符的作用是使变量的值增1。 --运算符的作用是使变量的值减1。 常见的用法有: ++i,--i在使用i前,先使i的值加(减)1 i++,i--在使用i后,先使i的值加(减)1示例:注意: 1自增和自减运算符只能用于变量,表达式 (x+y)++是不合法的。 2自增和自减运算符的结合方向是“自右向左”。如表达式-i++等价于-(i++)。 3具有一定的二义性,使用时请慎重! 如:设i原值是3,则(i++)+(i++)+(i++)的值可能是9,也可能是12 练习:逗号运算符和逗号表达式 逗号运算符:, 逗号表达式: 表达式1,表达式2 求解过程: 先求解表达式1,再求表达式2,整个逗号表达式的值是表达式2的值。逗号运算符和逗号表达式(续) 例如a=3 a=4*6,a+5 /*整个逗号表达式的值为29。*/ 注意 一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式,例如: (a=4*6,a+5),a+6 /*整个表达式的值为30。*/ 逗号运算符是所有运算符中级别最低的。练习: 格式:do语句 while(表达式); 示例:示例9:编写满足1+2+3+…+n<500中最大的n并求其和的程序。(第二种解法)程