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

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

作业信息

这个作业属于哪个课程 https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP
这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK11
这个作业的目标 ①计算机网络 ②网络拓扑 ③云计算 ④网络安全 ⑤Web ⑥HTML,CSS,Javascript ⑦XML
作业正文 https://www.cnblogs.com/qiangedaming/p/18590775

教材学习内容总结

《C语言程序设计》第10章 字符串

10.1 字符串字面量

  • 介绍字符串字面量的概念和使用方法。

10.2 字符串的存储

  • 讲解字符串在内存中的存储方式,包括字符数组的使用。

10.3 字符串指针

  • 讨论字符串指针的概念,以及如何通过指针操作字符串。

10.4 字符串的访问和输入/输出

  • 介绍如何访问字符串中的单个字符,以及字符串的输入和输出方法。
    • 10.4.1 如何访问字符串中的单个字符
      • 讲解通过索引和指针访问字符串字符的方法。
    • 10.4.2 字符串的输入/输出
      • 介绍使用标准输入输出函数处理字符串的方法。

10.5 字符串处理函数

  • 概述常用的字符串处理函数,如复制、连接、搜索等。

10.6 向函数传递字符串

  • 讨论如何将字符串作为参数传递给函数,以及相关的注意事项。

10.7 从函数返回字符串指针

  • 讲解如何从函数中返回字符串指针,以及内存管理的相关问题。

10.8 本章扩充内容

  • 提供本章的额外信息和扩展阅读。
    • 10.8.1 const类型限定符
      • 介绍const在字符串操作中的应用。
    • 10.8.2 字符处理函数
      • 讨论字符级别的处理函数,如字符转换、比较等。
    • 10.8.3 数值字符串向数值的转换
      • 讲解如何将字符串表示的数值转换为数值类型。

计算机科学概论(第七版)第15章

15.1 连网

  • 15.1.1 网络的类型
  • 15.1.2 Internet 连接
  • 15.1.3 包交换

15.2 开放式系统与协议

  • 15.2.1 开放式系统
  • 15.2.2 网络协议
  • 15.2.3 TCP/IP
  • 15.2.4 高层协议
  • 15.2.5 MIME 类型

15.3 网络地址

  • 15.3.1 域名系统
  • 15.3.2 维护因特网

15.4 云计算

15.5 区块链

第十五章主要讨论了网络的基本概念,包括网络的类型、Internet连接、包交换技术、开放式系统与协议、网络地址、云计算和区块链技术。此外,还探讨了社交网络的道德问题,并提供了关键术语、练习和思考题。

计算机科学概论(第七版)第16章

16.1 Web 简介

  • 16.1.1 搜索引擎

16.2 即时消息

16.3 博客

16.5 Web 分析

16.2 HTML 和 CSS

  • 16.2.1 基本的 HTML 元素
  • 16.2.2 标记的属性
  • 16.2.3 关于 CSS 的更多内容
  • 16.2.4 更多 HTML5 的元素

16.3 交互式网页

  • 16.3.1 Java 小程序

16.3.2 Java 服务器页

16.4 XML

16.5 社交网络演化

第十六章则聚焦于万维网(Web)的各个方面,包括Web的简介、搜索引擎、即时消息、博客、cookie、Web分析、HTML和CSS的使用,以及交互式网页的创建,如Java小程序和Java服务器页。还涉及了XML和社交网络的演化

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

  • 问题1:为什么在C语言中字符串以空字符('\0')结尾?
  • 问题1解决方案:X在C语言中,字符串实际上是以字符数组的形式存储的。数组本身并不存储它的长度信息,因此,为了确定字符串的结束位置,C语言使用了一个特殊的字符——空字符('\0')作为字符串的结束标志。这样,字符串处理函数就可以通过检查字符数组中的每个元素,直到遇到空字符来确定字符串的结束位置。这种设计简化了字符串的处理,但同时也要求程序员在使用字符串时必须确保空字符的存在,以避免潜在的运行时错误,如缓冲区溢出。
  • 问题2:字符串指针和字符数组在传递给函数时有什么区别?
  • 问题2解决方案:在C语言中,字符串指针和字符数组在传递给函数时有以下区别:
    • 传递方式:
    • 当你传递一个字符数组时,实际上是在传递数组的首地址,这意味着函数接收到的是数组的副本,对数组的修改不会影响原始数组。
    • 当你传递一个字符串指针时,你传递的是指向字符串的指针,函数接收到的是原始字符串的地址,对字符串的修改会直接影响原始字符串。
    • 内存管理:
    • 字符数组通常在栈上分配内存,其大小在编译时确定,且数组的生命周期与函数调用的生命周期相同。
    • 字符串指针可以指向栈上的局部数组,也可以指向堆上分配的内存。指向堆内存的字符串指针需要手动管理内存的分配和释放。
    • 函数原型:
    • 字符数组作为参数时,函数原型通常看起来像这样:void function(char array[]);
    • 字符串指针作为参数时,函数原型看起来像这样:void function(char *ptr);
    • 使用场景:
    • 字符数组适用于函数内部需要修改数组内容,或者数组大小在编译时已知且不会改变的情况。
    • 字符串指针适用于处理动态分配的字符串,或者需要传递大量数据以避免复制的情况。
    理解这些区别对于正确使用字符串和避免内存管理错误至关重要。

基于AI的学习

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

  • 问题1:下标越界的情况编译不会报错,可以运行,但是结果出错。
  • 问题1解决方案:运行前再次检查是否存在下标越界的情况。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 000/000 2/2 07/07
第二周 000/000 1/3 07/14
第三周 000/000 1/4 07/21
第四周 050/050 1/5 07/28
第五周 050/100 1/6 07/35
第六周 070/170 1/7 07/42
第七周 080/250 1/8 07/49
第八周 100/350 1/9 07/56
第九周 200/550 1/10 07/63
第十周 200/750 1/11 09/72
第十一周 200/950 1/12 09/81
posted @ 2024-12-06 14:49  谦个大铭  阅读(7)  评论(0编辑  收藏  举报