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.4.1 如何访问字符串中的单个字符
10.5 字符串处理函数
- 概述常用的字符串处理函数,如复制、连接、搜索等。
10.6 向函数传递字符串
- 讨论如何将字符串作为参数传递给函数,以及相关的注意事项。
10.7 从函数返回字符串指针
- 讲解如何从函数中返回字符串指针,以及内存管理的相关问题。
10.8 本章扩充内容
- 提供本章的额外信息和扩展阅读。
- 10.8.1 const类型限定符
- 介绍const在字符串操作中的应用。
- 10.8.2 字符处理函数
- 讨论字符级别的处理函数,如字符转换、比较等。
- 10.8.3 数值字符串向数值的转换
- 讲解如何将字符串表示的数值转换为数值类型。
- 10.8.1 const类型限定符
计算机科学概论(第七版)第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.4 cookie
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 |