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

作业信息

这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计(https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP))
这个作业要求在哪里 2024-2025-1计算机基础与程序设计第十一周作业
这个作业的目标 1、计算机网络2、网络拓扑3、云计算4、网络安全5、Web6、HTML,CSS,Javascript7、XML
作业正文 本博客链接

教材学习内容总结

《计算机科学概论》第十五章和第十六章:
《计算机科学概论》中的“网络与万维网”两章涵盖了计算机科学中网络通信和互联网技术的基础概念。以下是对这些内容的总结:

  1. 计算机网络

    • 定义:计算机网络是由多个计算机设备组成的系统,它们通过通信线路相互连接,以实现资源共享和信息传递。
    • 功能:包括数据传输、资源共享、分布式处理等。
    • 协议:网络通信遵循特定的协议,如TCP/IP协议族,确保不同设备间有效通信。
  2. 网络拓扑

    • 定义:网络拓扑描述了网络中设备如何物理或逻辑上连接。
    • 类型:常见的网络拓扑包括星型、环型、总线型、树型和网状型等。
    • 影响:网络拓扑影响网络的性能、可靠性和扩展性。
  3. 云计算

    • 定义:云计算是一种通过互联网提供计算资源(如服务器、存储、数据库、网络、软件等)的服务模式。
    • 特点:具有弹性、可扩展性、按需自服务、广泛的网络访问等。
    • 服务模型:包括IaaS(基础设施即服务)、PaaS(平台即服务)和SaaS(软件即服务)。
  4. 网络安全

    • 重要性:保护网络和数据不受未授权访问、破坏、泄露等威胁。
    • 技术:包括防火墙、加密、入侵检测系统、安全协议等。
    • 法规和政策:涉及数据保护法规和网络安全政策。
  5. Web(万维网)

    • 定义:万维网是一个通过互联网访问的信息系统,用户可以通过浏览器访问网页。
    • 组成:由网页、网站和Web应用程序组成。
    • 访问方式:通过统一资源定位器(URL)访问。
  6. HTML, CSS, Javascript

    • HTML(超文本标记语言):用于创建网页内容和结构的标记语言。
    • CSS(层叠样式表):用于设置网页的视觉和版式样式。
    • Javascript:一种脚本编程语言,用于实现网页的交互性。
  7. XML

    • 定义:可扩展标记语言(XML)是一种标记语言,用于存储和传输数据。
    • 用途:常用于配置文件、数据交换和文档存储。
    • 特点:具有自我描述性,易于人类阅读和机器解析。

这些内容构成了计算机网络和万维网的基础知识框架,对于理解现代计算机通信和互联网技术至关重要。学习这些概念有助于掌握如何在网络环境中开发、部署和维护应用程序。

《C语言程序设计》第十章:
《C语言程序设计》第十章关于字符串的内容可以总结如下:

  1. 字符串字面量

    • 字符串字面量是由一对双引号包围的字符序列,例如 "Hello, World!"
    • 在C语言中,字符串字面量实际上是字符数组的常量,存储在程序的只读数据段。
    • 字符串字面量在末尾隐含一个空字符('\0'),表示字符串的结束。
    char str[] = "Hello, World!"; // str是一个字符数组,包含字符串和空字符
    
  2. 字符串的存储

    • 字符串在C语言中以字符数组的形式存储。
    • 字符串的每个字符占用一个数组元素,最后一个元素是空字符('\0')。
    • 字符串数组的大小比字符串长度多1,以存储空字符。
    char str[] = "Hello"; // 实际分配了6个字符的空间加上1个空字符
    
  3. 字符指针

    • 指向字符的指针可以用于指向字符串。
    • 字符串的地址实际上是指向其第一个字符的指针。
    • 可以通过字符指针来访问和操作字符串。
    char *ptr = "Hello"; // ptr指向字符串"Hello"的第一个字符
    
  4. 字符串的访问和输入/输出

    • 通过数组下标访问字符串中的字符。
    • 使用 printfscanf 函数进行字符串的输入和输出。
    • printf 使用 %s 格式化字符串来输出字符串。
    • scanf 使用 %s 格式化字符串来输入字符串,但不包括空格。
    printf("%s\n", str); // 输出字符串
    scanf("%s", str);   // 输入字符串
    
  5. 字符串处理函数

    • C标准库提供了许多处理字符串的函数,如 strcpystrcatstrlenstrcmp 等。
    • 这些函数操作字符串,但不改变字符串字面量的值,因为它们是存储在只读内存中的。
    char src[] = "Source";
    char dest[10];
    strcpy(dest, src); // 将src复制到dest
    
  6. 向函数传递字符串

    • 可以通过值传递(数组)或引用传递(指针)将字符串传递给函数。
    • 传递字符数组时,实际上是传递数组的副本。
    • 传递字符指针时,传递的是地址,因此函数内对字符串的修改会影响原字符串。
    void printStr(char str[]) {
        printf("%s\n", str);
    }
    
  7. 从函数返回字符串指针

    • 函数可以返回指向字符的指针。
    • 返回的指针可以指向静态分配的内存、动态分配的内存或字符串字面量。
    • 返回局部变量的地址是危险的,因为局部变量在函数返回后会被销毁。
    char* createStr() {
        static char str[] = "Dynamic String";
        return str;
    }
    

以上是《C语言程序设计》第十章关于字符串的主要内容总结,涵盖了字符串的基本操作和处理。通过理解和掌握这些概念,可以有效地在C语言中处理字符串数据。

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

问题一:网络不同类型的各自作用
解答:网络可以根据不同的标准进行分类,每种类型的网络都有其特定的作用和应用场景。以下是一些常见的网络类型及其作用:

  1. 局域网(Local Area Network, LAN)

    • 作用:连接相对较小的地理区域内(如办公室、学校、家庭)的计算机和其他设备,实现资源共享和通信。
    • 特点:通常由组织内部管理,速度较快,延迟低。
  2. 广域网(Wide Area Network, WAN)

    • 作用:连接覆盖广泛地理区域的网络,如城市、国家或全球范围。
    • 特点:跨越更大的地理范围,速度可能较慢,延迟较高,通常由电信公司运营。
  3. 城域网(Metropolitan Area Network, MAN)

    • 作用:连接城市或大都市区域内的网络。
    • 特点:覆盖范围介于LAN和WAN之间,可以连接多个LAN。
  4. 个人区域网(Personal Area Network, PAN)

    • 作用:连接个人工作空间内的设备,如智能手机、笔记本电脑和可穿戴设备。
    • 特点:非常短距离的无线连接,通常用于个人设备间的通信。
  5. 互联网(Internet)

    • 作用:全球最大的网络,连接世界各地的计算机网络,提供信息检索、电子邮件、在线聊天等多种服务。
    • 特点:由无数个网络组成,使用TCP/IP协议族。
  6. 企业网(Enterprise Network)

    • 作用:服务于企业内部的网络,连接企业内部的各个部门和分支机构。
    • 特点:通常需要高度的安全性和可靠性,以支持企业运营。
  7. 校园网(Campus Network)

    • 作用:服务于学校或大学校园内的网络,连接教室、图书馆、宿舍等。
    • 特点:支持教育和研究活动,提供资源访问和远程教育。
  8. 无线网络(Wireless Network)

    • 作用:通过无线电波连接设备,提供无线上网服务。
    • 特点:灵活性高,用户可以在网络覆盖范围内自由移动。
  9. 有线网络(Wired Network)

    • 作用:通过物理介质(如以太网电缆)连接设备。
    • 特点:通常提供更稳定和更快的连接速度。
  10. 虚拟私人网络(Virtual Private Network, VPN)

    • 作用:在公共网络上创建一个安全的、加密的连接,模拟私人网络。
    • 特点:用于远程访问企业网络或保护个人数据不被截获。

每种网络类型都有其特定的用途和优势,选择合适的网络类型取决于用户的具体需求和应用场景。

问题二:搜索引擎的工作原理
解答:搜索引擎的工作原理可以大致分为以下几个步骤:

  1. 爬行(Crawling)

    • 搜索引擎使用称为“爬虫”(crawlers)或“蜘蛛”(spiders)的自动程序来发现互联网上的网页。
    • 爬虫从已知的URL列表开始,访问这些网页,并提取网页上的链接,然后继续访问这些链接指向的网页,如此循环。
  2. 索引(Indexing)

    • 爬虫抓取的网页内容被存储在搜索引擎的数据库中,这个过程称为索引。
    • 搜索引擎分析网页内容,提取关键词、元数据、URL、页面结构等信息,并建立索引,以便快速检索。
  3. 处理(Processing)

    • 搜索引擎会对索引的数据进行处理,包括消除重复内容、识别网页质量、评估网页的权威性等。
    • 这个过程可能涉及到复杂的算法,如PageRank(谷歌早期使用的一种算法)等,以确定网页的重要性和相关性。
  4. 排名(Ranking)

    • 当用户输入查询时,搜索引擎会根据查询的关键词,从索引中找到所有相关的网页。
    • 然后,搜索引擎使用排名算法对这些网页进行排序,以确定哪些结果最相关,应该显示在搜索结果的顶部。
  5. 检索(Retrieval)

    • 用户看到的结果就是搜索引擎根据排名算法检索并展示的网页列表。
    • 用户可以点击这些链接访问网页。
  6. 用户界面(User Interface)

    • 搜索引擎还提供了用户界面,允许用户输入查询并显示搜索结果。
    • 用户界面还包括对搜索结果的过滤、排序和呈现方式的控制。
  7. 反馈和学习(Feedback and Learning)

    • 用户与搜索引擎的互动(如点击搜索结果)为搜索引擎提供了反馈,帮助其改进算法。
    • 搜索引擎会持续学习,通过分析用户行为来优化搜索结果的相关性和准确性。
  8. 缓存(Caching)

    • 为了提高效率,搜索引擎会缓存热门网页的副本,这样当用户请求时可以直接提供,而不需要重新从原始服务器获取。

搜索引擎的工作原理是一个复杂的技术过程,涉及到大量的数据存储、处理和算法优化。随着技术的发展,搜索引擎也在不断进化,以提供更准确、更个性化的搜索结果。

基于AI的学习




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

一:本周进行C语言考试,有道编程题返回数组时出现错误
解决:自己忘记定义的数组score[],返回副函数的时候()里不需要加[],自己对细节没有处理好
二:oj里的题自己编的程序会显示Runtime Error
解决:程序过于复杂,导致很长时间系统不报错,也不能运行

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第十一周 700/3000 2/15 10/195

计划学习时间:20h
实际学习时间:18h

posted @ 2024-12-06 21:37  南极熊2  阅读(5)  评论(0编辑  收藏  举报