分支结构程序设计

输入三角形的三边,判断能否构成三角形,如果能构成三角形,计算三角形的面积。不能则不能构成三角形。

例【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】

编写程序,输入x的值,按以下分段函数计算并输出y的之前。

#include<stdio.h>
int main()
{int x; float y;printf("输入x的值:");scanf_s("%d", &x);if (x != 0)y = 1.0 / x;elsey = 0;printf("%d,%f", x, y);return 0;
}

运行结果:

流程图:

例【4.3】

关系运算符、逻辑运算符、条件运算符

1.关系运算符
关系运算符用于判断两个操作数的大小关系。
2.关系表达式
用关系表达式将两个表达式连接起来的式子称为关系表达式。

#include<stdio.h>
int main()
{char c = 'm';int i = 10, j = 20, k = 30;float x = 13e+5, y = 10.85;printf("%d,%d,",'a' + 5 < c, -i - 2 * j >= k + 1);printf("%d,%d,", 1 < j < 5, x - 5.25 <= x + y);printf("%d,%d\n", i + j + k == -2 * j, k == j == i + 5);return 0;
}

运行结果:

流程图:

例【4.5】

逻辑运算符
运算符        !        &&        ||
名称        逻辑是非        逻辑与        逻辑或
结合性        右结合        左结合        左结合
优先级            高到低

代码:

#include<stdio.h>
int main()
{int a = 3, b = 3, c = 2, d;printf("%d,", !a && !b && c);printf("%d,", !a || !b || c);printf("%d\n", a >= b && b > c);d = c-- || (b = 6) && a++;printf("a=%d,b=%d,c=%d,d=%d\n", a, b, c, d);return 0;
}

运行结果:

流程图:

例【4.6】

判断数的最大值

#include<stdio.h>
int main()
{int x, y;printf("请输入两个整数:");scanf_s("%d,%d", &x, &y);printf("两个整数中的最大数为:%d\n", x > y ? x : y);return 0;
}

例【4.8】

计算y的1值。

y=f(X)=eX  X<=1;

X*x-1 X>1;

#include<stdio.h>
#include<math.h>
int main()
{double x, y;printf("输入x的值:");scanf_s("%lf", &x);if (x <= 1)y = exp(x);elsey = pow(x, 2) - 1;printf("f(%f)=%.2f\n", x, y);return 0;
}

例【4.9】

编写程序任意输入一个实数,输出其绝对值。

#include<stdio.h>
int main()
{float x;scanf_s("%f", &x);if (x < 0);x = -x;printf("%f", x);return 0;}

例【4.10】

#include<stdio.h>
int main()
{int x, y;printf("x=");scanf_s("%d", &x);if (x)y = 1;elsey = -1;printf("y=%d", y);return 0;
}

例【4.11】

if分支语句

#include<stdio.h>
int main()
{float a, b, c, t;scanf_s("%f,%f,%f", &a, &b, &c);if (a > b){t = a; a = b; b = t;}if (a > b){t = a; a = c; c = t;}if (b > c){t = b; b = c; c = t;}printf("%5.2f,%5.2f,%5.2f\n", a, b, c);return 0;}

例【4.12】

输入3个任意整数,找出其中的最大数。

int main()
{int a, b, c, max;scanf_s("%d%d%d", &a, &b, &c);if (a > b)if (a > c)max = a;elsemax = c;elseif (b > c)max = b;elsemax = c;printf("max=%d\n", max);return 0;}

例【4.13】

#include<stdio.h>
int main()
{int x, y;scanf_s("%d", &x);if (x > 0)y = 1;elseif (x == 0)y = 0;elsey = -1;printf("y=%d\n", y);return 0;}

例【4.14】

计算函数

#include<stdio.h>
#include<math.h>
int main()
{float x, y;printf("输入x的值:");scanf_s("%f", &x);if (x > 2)y = 2 * x;else if (x <= 10)y = 7 - 3 * x;elsey = 1 - cos(x);printf("y=%0.6f\n", y);return 0;
}

例【4.15】

将小写字母转化为大写字母

#include<stdio.h>
int main()
{char c1, c2;printf("请输入一个字符:");c1 = getchar();if (c1 >= 'a' && c1 <= 'z')c2 = c1 - 32;else if (c1 >= 'A' && c1 <= 'Z')c2 = c1 + 32;elsec2 = c1 + 1;putchar(c2);return 0;
}

例【4.16】

使用switch语句实现分支结构

关于switch语句的几点说明:

(1)switch后的表达式可以是任何表达式,其值只能为整型、字符型、枚举型之一。

(2)每个case后面的常量表达式的值互不相同,否者就会出现相互矛盾的现象。

(3)各个case和default的出现次序不影响执行结果。

(4)可以让多个case共用一组执行语句。

(4)switch语句允许嵌套使用。

#include<stdio.h>
int main()
{int month;printf("输入月份:");scanf_s("%d", &month);switch ((month - 1) / 3){case 0:printf("%d月是第1季度\n", month);break;case 1:printf("%d月是第2季度\n", month);break;case 2:printf("%d月是第3季度\n", month);break;case 3:printf("%d月是第4季度\n", month);break;default:printf("输入错误\n");break;}return 0;
}

例【4.17】

根据键盘输入的年、月,输出该年、该月的天数。

#include<stdio.h>
int main()
{int year, month, days;printf("请输入年,月:");scanf_s("%d,%d", &year, &month);switch (month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:days = 31;break;case 4:case 6:case 9:case 11:days = 30;break;case 2:if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0)days = 29;elsedays = 28;break;}printf("%d年%d月的天数是%d天\n", year, month, days);return 0;}

例【4.18】

switch语句

#include<stdio.h>
#include<math.h>
int main()
{int expression;float x, y;printf("输入x的值:");scanf_s("%f", &x);expression = (int)(1 * (x < 2) + 2 * (x >= 2 && x <= 10) + 3 * (x > 10));switch (expression){case 1:y = 2 * x;break;case 2:y = 7 - 3 * x;break;case 3:y = 1 - cos(x);break;}printf("y=%0.5f\n", y);return 0;
}

例【4.19】

#include<stdio.h>
#include<math.h>
int main(void)
{float x, y;scanf_s("%f", &x);if (x >= 0)y = sqrt(x);elsey = pow(x, 5) + 2 * x + 1 / x;printf("x=%.2f,y=%.2f\n", x, y);return 0;
}

例【4.20】

判断年份是否为闰年

#include<stdio.h>
int main(void)
{int year, leap;printf("输入年份:");scanf_s("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))leap = 1;elseleap = 0;if (leap)printf("%d是闰年\n", year);elseprintf("%d不是闰年\n", year);return 0;
}

嵌套类型

#include<stdio.h>
int main(void)
{int year, leap;printf("输入年份:");scanf_s("%d", &year);if (year % 4 == 0){if (year % 100 == 0){if (year % 400 == 0)leap = 1;elseleap = 0;}elseleap = 1;}elseleap = 0;if (leap)printf("%d是闰年\n", year);elseprintf("%d不是闰年\n", year);return 0;
}

多分支格式类型

#include<stdio.h>
int main()
{int year, leap;printf("输入年份:");scanf_s("%d", &year);if (year % 4 != 0)leap = 0;else if (year % 100 != 0)leap = 1;else if (year % 400 != 0)leap = 0;elseleap = 1;if (leap)printf("%d是闰年\n:", year);elseprintf("%d不是闰年\n:", year);return 0;
}

例【4.21】

由键盘输入一个3位的整数,判断该数是否为升序。若输入的不是3位数,输出“Enter error”。升序是指高位数依次小于其低位数的数。如359为升序数。

#include<stdio.h>
int main()
{int n, a, b, c;printf("请输入一个3位整数:");scanf_s("%d", &n);if (n < 100 || n>999)printf("输入错误:\n");else{a = n / 100;b = n / 10 % 10;c = n % 10;if (a < b && b < c)printf("%d是升序数\n", n);elseprintf("%d不是升序数\n", n);}return 0;
}

c语言程序设计 第四章 总结相关推荐

  1. 四个人三人真一人假c语言,C语言程序设计第4章选择结构.pptx-资源下载在线文库www.lddoc.cn...

    C语言程序设计第4章 选择结构.pptx 第 6章 数组第 7章 函数第 8章 结构体.共用体和枚举类型第 9章 指针第 10章 文件目录页 Contents page第 1章 初识 C语言第 2章 ...

  2. C++语言程序设计第四版郑莉

    C++语言程序设计第四版郑莉--学习笔记 第四章 类与对象 4.3构造函数与析构函数 例4-2 在程序主函数中,3个部分分别给出复制构造函数调用的3种情况. #include <iostream ...

  3. c语言已知某班男生有n1,C语言程序设计–第10章课后习题.pdf

    <C语言程序设计–第10章课后习题.pdf>由会员分享,可在线阅读,更多相关<C语言程序设计–第10章课后习题.pdf(11页珍藏版)>请在装配图网上搜索. 1.C语言程序设计 ...

  4. c语言中二维数组中维数的计算,数组指针字符串C语言程序设计-第4章.ppt

    <数组指针字符串C语言程序设计-第4章.ppt>由会员分享,可在线阅读,更多相关<数组指针字符串C语言程序设计-第4章.ppt(132页珍藏版)>请在人人文库网上搜索. 1.程 ...

  5. c语言循环控制答案,C语言程序设计 实四 循环控制 答案 《西北民大 电气院》.doc...

    C语言程序设计 实四 循环控制 答案 <西北民大 电气院> 实验四 循环控制(蓝色笔体内容可以不写在实验报告里,理解并掌握即可.)(实验课后的下一周的周三,请班长分别收好预习报告和实验报告 ...

  6. c语言程序计算p q真值表,C语言程序设计第2章数据类型﹒运算符和表达式.ppt

    C语言程序设计第2章数据类型﹒运算符和表达式 教学目标 掌握C语言标识符的组成 理解C语言的基本数据类型 掌握变量定义的方法 掌握常用的运算符的使用 掌握混合运算的数据转换方法 2.1 C语言的数据类 ...

  7. 二进制补码求值用c语言,C语言程序设计第2章数据类型.运算符与表达式.ppt

    C语言程序设计第2章数据类型.运算符与表达式 教学目标 掌握C语言标识符的组成 理解C语言的基本数据类型 掌握变量定义的方法 掌握常用的运算符的使用 掌握混合运算的数据转换方法 2.1 C语言的数据类 ...

  8. c语言中 if(week == 6,C语言程序设计(第六章).pptx

    C语言程序设计(第六章)课案 第6章 用户定制数据类型及位运算;6.1 结构;6.1.1 概述;1.定义一个结构的一般形式为: struct 结构类型名 { 成员表 }; 成员表由若干个成员组成,每个 ...

  9. C语言表示一元四次函数,论c语言程序设计 第四次讨论.ppt

    c语言程序设计第四次讨论 * 1.以下正确的 函数首部定义形式是( D ). A.Double f(a,b) B.double f(int a,b) C.double f(int a;int b) D ...

最新文章

  1. 邱键2008年最幸运的选手
  2. Java 使用 URLConnection 模拟 Http Get和Post 提交
  3. Xshell相关优化
  4. 聊聊并发-Java中的Copy-On-Write容器
  5. conda和pip的区别
  6. docker 删除所有镜像_Docker常用命令
  7. SpringBoot—整合log4j2入门和log4j2.xml配置详解
  8. Https java信任_java访问非经过信任证书https的方法
  9. 软件无线电在4G技术的应用
  10. ssh架构之hibernate(二)进阶学习
  11. 【元胞自动机】基于matlab激进策略元胞自动机三车道(开放辅路,软件园影响)交通流模型【含Matlab源码 1298期】
  12. 使用Alize等工具构建说话人识别平台
  13. 什么是UEFI启动?
  14. 凸显文化+科技融合创新,第九届漫博会VR AR技术应用强势来袭
  15. 《编程之道》第三册:《计算机寓言--信息时代的启示》
  16. Imagination异构计算平台力助AI芯片厂商加速冲击110亿美元市场 | AIIA 2020
  17. mybatis多表查询(一对多,多对一,多对多)
  18. 软件开发中的 Kata 模型是什么,和精益有什么关系?
  19. 情人节送玫瑰花数的含义,男的必看。(转)
  20. bluekitchen-stm32f1/csr8311移植笔记(4)-database driver

热门文章

  1. php嵌入图片代码,php如何添加图片
  2. PHPwind9.01傻瓜图解安装教程
  3. 成都涌现大量网游业创业团队:从业人员近3万(网游亦可创业)
  4. K8s系列之:网络原理
  5. 滴滴笔试毕业旅行——回溯法(dfs)
  6. RabbitMQ-Plugin configuration unchanged.
  7. 5、CPU Subsystem 01(5.1-5.7)
  8. 一位浙大教授令人寒心的演讲,说出了真话!
  9. [feather]StarlingUi框架——初识feather、界面启动及Ui加载
  10. 一款 Material Design 风格的妹子福利 App.