首页 > 编程语言 >2024-2025-1 20241307《计算机基础与程序设计》第七周学习总结

2024-2025-1 20241307《计算机基础与程序设计》第七周学习总结

时间:2024-11-09 20:29:56浏览次数:1  
标签:语句 case 排序 程序 2024 2025 算法 printf 20241307

作业信息

这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计
这个作业要求在哪里 (2024-2025-1计算机基础与程序设计第七周作业)
这个作业的目标
作业正文 2024-2025-1 学号20241307《计算机基础与程序设计》第七周学习总结

教材学习内容总结

《计算机科学概论》第七版第七章主要介绍了计算机问题求解的方法、算法以及相关的程序设计概念,以下是详细总结:

  1. 计算机问题求解过程:

• 分析和说明阶段:理解问题的需求和目标,明确已知条件和要达到的结果。这是解决问题的基础,需要对问题进行深入的分析和理解,将其转化为计算机可以处理的形式。

• 算法开发阶段:根据问题的分析结果,设计解决问题的算法。算法是解决问题的具体步骤和方法,它应该是正确、高效且易于实现的。在这个阶段,需要考虑算法的逻辑结构、控制流程和数据处理等方面。

• 实现阶段:将设计好的算法转化为计算机程序代码。这需要选择合适的编程语言和开发工具,按照算法的步骤编写程序,并进行调试和测试,确保程序的正确性和可靠性。

• 维护阶段:在程序运行过程中,可能会出现各种问题或需要进行功能扩展和优化。因此,需要对程序进行维护,包括修复错误、改进性能和添加新功能等。

  1. 算法的基本概念:

• 算法的定义:算法是一组明确的、可执行的步骤,用于解决特定的问题或完成特定的任务。它是计算机程序的核心,决定了程序的效率和正确性。

• 算法的特性:包括确定性(每个步骤都有明确的定义和结果)、有穷性(算法在有限的时间内能够结束)、可行性(算法的每个步骤都可以通过计算机实现)、输入和输出(算法需要接收输入数据,并产生输出结果)。

  1. 算法的分类:

• 计数控制循环:这类算法通过设定一个计数器,在计数器满足一定条件时重复执行某些操作。例如,for 循环就是一种计数控制循环,它可以根据设定的循环次数来执行循环体中的代码。

• 事件控制循环:当某个事件发生时,循环才会继续执行。这种算法通常用于处理实时性要求较高的问题,例如监听网络端口的程序,当有数据到达端口时,程序会进行相应的处理。

• 搜索算法:

• 顺序搜索:按照数据的存储顺序依次查找目标元素,适用于数据量较小或未排序的数据。

• 二分搜索:对于已排序的数据,通过不断将数据区间一分为二,逐步缩小搜索范围,提高搜索效率。

  1. 排序算法:排序是将一组数据按照特定的顺序进行排列的操作。常见的排序算法有:

• 选择排序:每次从待排序的数据中选择最小(或最大)的元素,将其与当前位置的元素交换,直到所有元素都排序完毕。

• 冒泡排序:通过不断比较相邻的两个元素,将较大(或较小)的元素交换到后面,经过多次循环,最终实现数据的排序。

• 插入排序:将待排序的数据依次插入到已排序的序列中,保持序列的有序性。

• 快速排序:选择一个基准元素,将数据分为两部分,一部分小于基准元素,另一部分大于基准元素,然后对这两部分分别进行排序,最后将它们合并起来。

  1. 计算机问题求解的重要思想:

• 信息隐蔽:将程序的实现细节隐藏起来,只对外提供必要的接口和功能。这样可以提高程序的可维护性和可扩展性,降低程序之间的耦合度。

• 抽象:将复杂的问题抽象为简单的模型或概念,以便更好地理解和解决问题。抽象可以帮助程序员忽略不必要的细节,专注于问题的本质。

• 事物命名:为程序中的变量、函数、对象等命名,以便更好地理解和管理程序。良好的命名可以提高程序的可读性和可维护性。

• 测试:在程序开发过程中,对程序进行测试是非常重要的。测试可以帮助发现程序中的错误和缺陷,确保程序的正确性和可靠性。测试包括单元测试、集成测试、系统测试等不同的阶段。

以下是 C 语言程序设计第五章相关内容总结:

一、if 语句

• 基本形式:if (表达式) 语句;。如果表达式的值为真(在 C 语言中,非零值表示真,零值表示假),则执行后面的语句。例如:if (x > 5) printf("x大于5\n");。

• if - else 形式:if (表达式) 语句1; else 语句2;。当表达式为真时执行语句 1,为假时执行语句 2。如if (score >= 60) printf("及格\n"); else printf("不及格\n");。

• 嵌套 if 语句:在 if 语句或 else 语句中可以再包含 if 语句。例如,if (a > 10) {if (a > 20) printf("a大于20\n"); else printf("a大于10小于等于20\n");}。需要注意 if 和 else 的匹配规则,else 总是与它上面最近的未配对的 if 相匹配,可以使用大括号来明确匹配关系。

二、switch 语句

• 基本结构:switch (表达式) { case 常量表达式1: 语句序列1; break; case 常量表达式2: 语句序列2; break; …… default: 语句序列n; }。表达式的值必须是整型或字符型等离散类型。

• 执行过程:首先计算表达式的值,然后与各个 case 后的常量表达式的值进行比较。若与某个 case 值相等,则执行该 case 后面的语句序列,直到遇到break语句或switch语句结束。如果没有匹配的 case,则执行default部分(如果有)的语句。例如:
switch (num) {
case 1:
printf("值为1\n");
break;
case 2:
printf("值为2\n");
break;
default:
printf("其他值\n");
}
• 注意事项:break语句在 switch 语句中非常关键,若没有break,程序会顺序执行下一个 case 的语句,可能导致不符合预期的结果。default子句是可选的,但合理使用可以处理一些意外情况。

条件语句在 C 语言程序设计中用于根据不同的条件执行不同的代码片段,实现程序的逻辑控制,使程序能够根据运行时的情况做出正确的反应,是构建复杂逻辑程序的重要基础。

教材学习中的问题和解决过程(先问 AI)

  • 问题1:对网络协议理解困难
  • 问题1解决方案:网络协议内容复杂,概念抽象。解决方案是结合实际案例学习,比如分析网页浏览时的 HTTP 协议流程,也可以制作图表,梳理不同协议层的关系。
  • 问题2:数据传输原理混淆
  • 问题2解决方案:数据在网络中的传输涉及很多知识点,易混淆。可通过搭建简单的局域网,观察数据传输情况来加深理解,还可以观看动画演示,更直观地掌握数据打包、路由选择等原理。

基于AI的学习



代码调试中的问题和解决过程

  • 问题1:scanf两个值读取错误
  • 问题1解决方案:可以在&数值间插入符号,更加清晰明了
  • 问题2:switch结构中case后方的无法被读取
  • 问题2解决方案:case后接数字如果是字符需要用单引号转化为常量

其他(感悟、思考等,可选)

学习 C 语言程序设计第五章,深刻体会到函数的魅力。它就像一个个小巧的积木,组合起来构建强大的程序。通过函数的调用和参数传递,代码变得更有条理、可复用。而计算机科学概论第七版第七章,则让我对网络世界有了新认知。从网络协议到数据传输,复杂却有序。这两部分内容让我明白,编程和网络是紧密交织的。程序依靠网络拓展能力,网络需要程序来实现功能。知识相互关联,共同推动技术的发展,激发我进一步探索的欲望。

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 4/4 18/38
第三周 500/1000 5/7 22/60
第四周 500/1300 6/9 30/90
第五周 1000/1400 7/9 60/90
第六周 1200/1500 8/9 70/90

标签:语句,case,排序,程序,2024,2025,算法,printf,20241307
From: https://www.cnblogs.com/ZYF15246391068/p/18537247

相关文章

  • 网鼎杯2024 MISC04
    网鼎杯2024MISC04新知识:peano曲线下载文件是一个看起来特别无序的图片应该是经过了某种算法,但是我并没有见过,所以是看了wp是一种图像加密算法,需要把这个红线还原重组成二维码,搜索一个是这个Peano曲线fromPILimportImagefromtqdmimporttqdmdefpeano(n):ifn==......
  • 多校A层冲刺NOIP2024模拟赛20
    多校A层冲刺NOIP2024模拟赛20\(T1\)A.星际联邦\(25pts\)部分分\(25pts\):暴力建边后跑\(Kruskal\)或\(Prim\)。点击查看代码structnode{ intfrom,to,w;};inta[300010];vector<node>e;structDSU{ intfa[300010]; voidinit(intn) { for(inti......
  • 笔趣阁纯净版V2024.10.13
    今天给大家推荐一款非常棒的免费小说阅读软件--笔趣阁纯净版版。不管你是想重温经典文学作品,还是想追读时下最火的小说,这款应用都能满足你的需求。对于小说和漫画爱好者来说,它是一个极佳的阅读工具,带你畅游在书籍的海洋中,享受阅读的乐趣。软件特色:1、界面设计非常简洁,没有......
  • 2024最新网络安全专业高薪岗位,网络安全入门到精通,收藏这篇就够了
    2024年,随着人工智能、云安全、供应链威胁、SecOps和产品安全威胁日益凸显,五类“顶流”安全职位(人才)有望加入CISO的“50万年薪俱乐部”。在传统网络安全职位薪酬体系中,处于金字塔顶端的是CISO、网络安全总监、信息安全经理、高级软件安全工程师、IT安全架构师等。根据企业规模......
  • 2024-2025-1-《计算机基础与程序设计》20241313刘鸣宇
    作业信息这个作业属于哪个课程 <班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里 <作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标 <写上具体方面>作业正文 ...本博客链接教材学习内容总结《计算机基础与科学概论》第八章......
  • 2024.11.9组队训练题解记录
    Teleportation鲍勃最近访问了一个奇怪的传送系统。该系统包含\(n\)个房间,编号为\(0\)到\(n-1\)。每个房间都安装了一个传送设备。每个传送设备都有一个看起来像钟表表面的仪表板,上面有一个指针,显示数字\(0\)到\(n-1\),按顺时针顺序排列。最初,第\(i\)个房间的传送设备上......
  • 大二上计组往年卷刷题之简单题部分 202411109
    2020年计组期末卷(非陈家骏班)1.请简述C++程序设计语言的设计理念、演化历程(包括主要的贡献者),并讨论Simula67在其中的作用。C++程序设计语言的设计理念C++的设计理念主要基于以下几个核心原则:高效地使用硬件:C++旨在保持与C语言的兼容性,使得C++代码与C代码运行时具有相似或更......
  • 多校A层冲刺NOIP2024模拟赛20
    简评:新拉的......
  • 2024-2025-1 20241318 《计算机基础与程序设计》第七周学习总结
    这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK07这个作业的目标①数组与链表②基于数组和基于链表实现数据结构③无序表与有序表④树⑤图⑥子程序与参数作......
  • 题解:P11248 [GESP202409 七级] 矩阵移动
    笑点解析:这个人所在城市考试当天刮台风了,没考,免费送了一次12月的考试。设计这么一个东西:\(dp_{i,j}\)表示到格子\((i,j)\)的最大分数。本来还好,但现在的问题是,如果这个格子是‘?’,我哪儿知道到底可不可以变啊?万一变得太多了,那,那不就废了!万一少了,那我分不就没了?所以我们......