4.1;引例;
#include<stdio.h>
#include<math.h>
int main(){
int a,b,c;
float area;
double s;
printf(“请输入三角形的三条边长:”);
scanf_s("%d,%d,%d",&a,&b&,&c);
s=(a+b=c)/2.0;
if(a+b<=c||b+c<=a||a+c<=b);
printf("不构成三角形\n");
else
{area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("三角形的面积是:%f\n",area);
}return 0;}
例4.2
#include<stdio.h>
int main()
{
int x;float y;
printf("输入x的值:");
scanf_s("%d",&x);
if(x!=0)
y=1.o/x;
else
y=0;
printf("%d,%f",x,y);
return 0;
}
4.2 关系运算符、逻辑运算符、条件运算符;
1,关系运算符用于判断两个操作数的大小关系。
2,关系表达式:用关系运算符将两个表达式连接起来的式子成为关系表达式;
例4.3;
4.2.2;逻辑运算符和逻辑表达式;
1、逻辑运算符:为了连接若干个关系运算符;2、表达式:将两个表达式连接起来的式子称为逻辑表达式。形式为: 表达式1 逻辑运算符 表达式2
逻辑运算符 表达式1;
逻辑表达式的结果也是一个逻辑值“真”或“假”,既为“1”或“0”;
逻辑运算示例 ;
4,2,3;条件运算符和条件表达式;
条件运算符:由两个符号组成,用于条件求值,需要三个操作数;
其表达式为 表达式1 ?表达式2 :表达式3.
例4,6 用条件表达式求两个数中的较大值;
4、3 if——else 实现分支结构;
4、3、1;if_else语句;
if(表达式)
语句1;
else
语句2;
例4.7使用双分支if语句求两个数中较大的数;
例4.8,编写一个程序,根据键入的x的值,计算y的值;
单分支if语句;
if(表达式)
语句
例4,9;编写程序任意输入一个实数,输出其绝对值;
例4,10;分段函数,根据x的值,求y的值;
例4,11;输入3个实数,要求按从小到大的顺序输出;
4,3,2、if语句的嵌套
基本形式:
if(表达式)
语句1;
else
语句2;
或者
if(表达式1)
if(表达式2)
例4、12:输入任意三个整数,找出最大值;
4、13;编写程序,输入一个x的值,求出y的值;
4、3、3;多分支if语句;
形式为;
、if(表达式1)
语句1;
else if(表达式2)
语句2;
....
else if(表达式n-1)
语句 n-1;
else
语句n;
4.14、编写程序,输入x的值,计算并输出y的值;
流程图;
例4.15;
流程图;
4、4 使用Switch语句实现分支结构;
Switch(表达式){case 常量表达式1:语句1;break;
case常量表达式2:语句2;break;
...
case常量表达式n:语句n;break;
default:语句n+1;break;
}
说明:Switch后的表达式可以是任何表达式,其值只能为整数、字符型、枚举型。
每个case后面的常量表达式的值互不相同,否则就会出现互相矛盾的现象;
每个case和default的出现次序不影响执行结果。
可以让多个case共用一组执行语句。
Switch语句允许嵌套使用;
例4.16编写程序,输入一个月份值,输出该月份值,输出该月份是第几季度。
流程图;
例4、17;根据键盘输入的年,月输出该年的,该月的天数;
流程图;
例4,18;
4,5 ;在分支结构程序设计示例
例4,。9
例4,20;
2.嵌套格式实现
3.多分支格式实现
5、1引例
文字描述算法;计算从现在开始10年内每年人口的数量;
1、定义n为人口13亿,年份;
2、定义整数 number , rate=0.02;
3、year为1;判断年份是否小于等于10;是就执行人口*(1+rate)的平方;
输出两个位置年后,人数为保留小数点后两位亿,存到year,number;
4、走year++,回到判断年份是否小于等于10 ,为真继续循环,为假结束循环;
流程图;
代码以及结果;
5、2计算一个求累加和的问题: