当前位置: 首页 > news >正文

高级语言程序第四次作业 - 102300317

这个作业属于哪个课程 2025高级语言程序设计
这个作业的要求在哪里 高级语言程序第四次作业
学号 102300317
姓名 李东阳

运行程序截图:
1、
image

2、
image

3、用while和do while分别设计程序实现:用公式π/4=1-1/3+1/5-1/7+1/9+...求π的近似值,直到某一项的绝对值小于10-4为止,对两个程序的不同之处进行讨论。
image
image
image
image

4、设计一个程序,实现功能:逻辑表达式中的运算符,只有会影响表达式求值时,才会执行。
image
image

5、用for循环输出六行,第一行有FEDCBA,第二行是FEDCB,第三行是FEDC....,以此类推。
image
image

6、编程输入n, 计算s=1+(1+2)+(1+2+3)+…+(1+2+3+4+…n)。
image
image

7、用for循环给一组整型类型的数组进行赋值,输出,以及求和,数组长度为8。
image
image

8、设计一个if和else的多分支程序(分支数目大于3),该多分支程序再用switch语句进行改写,同时设计一个使用条件运算符(?:)的双分支语句。
image
image
image
image

9、设计一个循环程序,再循环中用break和continue语句,实现不同的程序效果,给出结果并讨论。
image
image

10、设计一个程序求100~200间的全部素数,给出算法思想、传统流程图、程序NS流程图。
image
image

传统流程图:
开始

i = 100

i <= 200? → 否 → 结束
↓是
j = 2, flag = 1

j <= sqrt(i)? → 否 → 输出i
↓是
i % j == 0? → 是 → flag = 0, break
↓否
j++

回到j循环判断

i++

回到i循环判断

NS流程图:
┌─────────┐
│ 开始 │
└─────────┘

┌─────────┐
│ i = 100 │
└─────────┘

┌─────────────────┐
│ i <= 200 ? │←──┐
└─────────────────┘ │
↓是 │
┌─────────┐ │
│ j = 2 │ │
│ flag=1 │ │
└─────────┘ │
↓ │
┌─────────────────┐ │
│ j <= sqrt(i) ? │←┐ │
└─────────────────┘ │ │
↓是 │ │
┌─────────────────┐ │ │
│ i % j == 0 ? │ │ │
└─────────────────┘ │ │
↓是 ↓否 │ │
┌───────┐ j++ ──────┘ │
│flag=0 │ │
│ break │ │
└───────┘ │
↓ │
┌─────────────────┐ │
│ flag == 1 ? │ │
└─────────────────┘ │
↓是 │
┌─────────┐ │
│ 输出 i │ │
└─────────┘ │
↓ │
i++ ────────────────┘

算法思想:
遍历100到200之间的所有整数

对每个数,检查是否能被2到其平方根之间的任何整数整除

如果不能被任何数整除,则该数是素数

第6章编程练习:
1、
image

image

5、
image
image

7、
image
image

10、
image
image

13、
image
image

16、
image
image

18、
image
image

第7章编程练习:
1、
image
image

2、
image
image

4、
image
image

5、
image
image

7、
image
image
image

思考:
通过编写这一系列C语言程序,我对程序设计有了更深入的理解和思考,现将主要收获总结如下:
一、输入输出的复杂性与缓冲区管理
核心认知:输入输出看似简单,实则隐藏着复杂的边界情况。
具体体会:

  1. 缓冲区问题:在字符替换程序中,最初忽略了换行符的影响,导致替换计数为0。这让我认识到getchar()会读取所有输入字符,包括换行符。
  2. 用户交互设计:程序不仅要功能正确,还要考虑用户的使用习惯。比如在工资计算程序中,清晰的提示信息和格式化的输出大大提升了用户体验。
  3. 错误处理:完善的程序应该能够处理异常输入,如大写字母金字塔程序中对输入范围的检查。
    技术收获:
    掌握了getchar()scanf()等输入函数的特点
    学会了使用continue跳过不需要处理的字符
    理解了标准输入的行缓冲机制
    二、循环结构的灵活运用与选择
    核心认知:不同的循环结构各有适用场景,正确选择能提升代码质量和效率。
    具体体会:
  4. while vs do-while:在π的计算程序中,while循环更自然,因为需要先判断条件;而在数组显示程序中,do-while确保至少执行一次。
  5. 循环嵌套:字母金字塔程序展示了嵌套循环的强大,外层控制行数,内层控制每行的字符输出。
  6. 终止条件设计:平方和计算程序通过while (scanf() == 2 && lower < upper)巧妙处理了多种退出情况。
    技术收获:
    掌握了break和continue在循环控制中的精确使用
    学会了通过循环计数器控制输出格式
    理解了循环效率优化(如素数判断中的j <= sqrt(i)
    三、算法思维与数学建模
    核心认知:程序设计本质上是将实际问题转化为计算机可执行的算法。
    具体体会:
  7. 数学模型建立:投资比较程序将金融概念转化为迭代计算模型,清晰展示了单利与复利的区别。
  8. 算法优化:累加和计算从双重循环优化到数学公式,性能大幅提升。
  9. 问题抽象:Rabnud博士的朋友增长问题,将社交现象抽象为数学规律。
    技术收获:
    学会了从实际问题中提取数学模型
    理解了时间复杂度与空间复杂度的概念
    四、从具体到抽象的思维提升
    通过这一系列程序的编写,我实现了几个重要的思维转变:
  10. 从面向过程到面向问题:不再仅仅关注语法细节,而是首先分析问题本质。
  11. 从实现功能到优化体验:在保证正确性的基础上,考虑程序的易用性和健壮性。

总结
这些程序设计练习不仅巩固了C语言的语法知识,更重要的是培养了计算思维和问题解决能力。每个程序都像是一个小型的工程项目,从需求分析、算法设计、代码实现到测试调试,完整地体验了软件开发的各个环节。这种从理论到实践的转化过程,让我对程序设计有了更深刻和全面的理解。
程序设计既是科学也是艺术——科学在于其严谨的逻辑和算法,艺术在于其优雅的实现和用户体验的考量。这种双重属性正是编程吸引人的魅力所在。

http://www.jsqmd.com/news/36863/

相关文章:

  • 2025年草莓速冻冷库企业推荐排行榜
  • 基于单片机拖尾式多模式流水灯系统仿真设计 - 详解
  • 2025年3000卫生纸加工设备推荐排行
  • 项目管理系统开发指导
  • 2025年博山电机供货商排行榜单
  • 20251110
  • 2025年管道风机定做厂家哪家靠谱
  • 2025年电力巡检无人机培训推荐榜推荐排行榜
  • 2025年信号转换器供货商排行
  • 2025年多功能数显电表仪表优质厂家排名
  • 2025年鲜菇鸡汤锅底料哪家好
  • 2025年做工精细的小白瓶前置过滤器哪家靠谱
  • 2025年节能门窗厂商口碑排行
  • AI自动化神器N8N,保姆级安装教程,小白也能5分钟搞定(建议收藏)
  • 2025年资深的新疆有机骆驼奶粉口碑排行
  • 2025年11月高温线厂家最新推荐榜:铁氟龙高温线/硅胶高温线/高压高温线/多芯高温线缆/解锁极端环境传输新体验
  • 2025年复合钢格栅定制厂家口碑排行榜
  • 2025年11月滑梯厂家推荐榜: 解锁安全户外滑梯/不锈钢滑梯/组合滑梯/非标滑梯/儿童滑梯趣味游乐新体验
  • 2025年资深的大型展厅设计渠道哪家强
  • 低代码流程引擎避坑指南:从配置到运维的实战技巧
  • 2025工业清洗设备及服务厂家推荐榜:聚焦凝汽器 / 换热器/空预器/板式换热器/管式换热器/空冷岛/电磁脉冲/清洗领域 四大实力品牌引领行业升级
  • 2025制氮机行业实力推荐榜:变压吸附制氮机、工业 / 小型/PSA/防爆/实验室/制氮机优选,江阴三阳领衔四大靠谱厂家
  • 尝试
  • 2025济南艺考文化课培训机构实力测评:三大口碑院校深度解析
  • 2036:【例5.3】开关门
  • 济南艺考文化课培训机构口碑排行榜2025:聚焦专业教学,助力艺考生高效提分
  • AI元人文:苹果6元一斤——从微观事件到文明尺度的价值权衡
  • ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫
  • 2025年推拉雨棚制造企业排行榜单
  • 2025年云桌面服务商排行榜单