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

发布时间 2023-12-07 12:13:09作者: 20231414王仕琪

学期(2023-2024-1) 学号(20231414) 《计算机基础与程序设计》第十一周学习总结

作业信息

这个作业属于哪个课程 <班级的链接>(2023-2024-1-计算机基础与程序设计
这个作业要求在哪里 <作业要求的链接>(2023-2024-1计算机基础与程序设计第十一周作业)
这个作业的目标 <写上具体方面>计算机网络,网络拓扑,云计算,网络安全,Web,HTML,CSS,Javascript,XML
作业正文 ... 本博客链接 https://i.cnblogs.com/posts/edit

教材学习内容总结

《计算机科学概论》
计算家网络是为了通信和共享资源而以各种方式连在一起的一组计算设备。电子邮件、即时消息和网页都依赖于底层计算机网络中发生的通信。
Web服务器是专门用来响应网页请求的计算机。
计算机网络交互的另一个方式是p2p模型
局域网是连接较小区域范围内的少量计算机的网络
管理LAN的各种配置叫作拓扑
广域网:连接两个或多个局域网的网络
包:在网络上传输的数据单位
路由器:指导包在网络上向最终目的地传输的网络设备
超文本传输协议(HTTP)定义www文档的交换
网络软件把主机名翻译成对应的IP地址
域名:主机名中说明特定的组织或分组的部分。
云计算:计算系统资源由第三方提供并通过互联网通信来进行管理的范式
区块链:不会被改变的交易公开分类账。
WEB页是包括或引用各种数据的文档,包括文本、图像、图形和程序。
cookie:是另一种基于web的技术
jsp小脚本:嵌在html文档中用于给web页提供动态内容的代码片段

教材学习中的问题和解决过程

  • 问题1:如何用java编写小程序
  • 问题1解决方案:编写Java小程序的步骤如下:
  1. 确定程序的功能和需求,明确程序要实现的功能和目标。

  2. 设计程序结构,包括确定程序的类和方法,以及它们之间的关系。

  3. 编写程序代码,根据程序设计的结构,编写程序的代码实现功能。

  4. 测试程序,对编写的程序进行测试,确保程序能够正确地实现所需的功能。

  5. 调试程序,对程序进行调试,解决程序中可能出现的错误和问题。

  6. 优化程序,对程序进行优化,提高程序的性能和效率。

  7. 完善程序,对程序进行完善,添加必要的注释和文档,使程序易于理解和维护。

  8. 发布程序,将程序发布到需要的环境中,让用户可以使用和享受程序带来的好处。

基于AI的学习


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

  • 问题1:%[\n]是什么意思,%[\n]可以直接用gets或getchar替换吗
  • 问题1解决方案:%[^\n]scanf函数中的格式化字符串,它告诉scanf函数要读取输入直到遇到换行符(\n)为止。这在处理输入字符串时非常有用,因为它允许我们读取包括空格在内的整行文本,直到用户按下Enter键为止。%[^\n] 用于 scanf 函数,而 getsgetchar 是用于读取字符串和字符的函数,所以它们并不能直接替换 %[^\n]

gets 函数用于读取一行字符串,但是它已经被标记为不安全的函数,因为它没有提供缓冲区溢出保护,所以不建议使用。

getchar 函数用于逐个读取输入的字符,而不是一次性读取整行文本。

如果你想要读取一行字符串,建议使用 fgets 函数,因为它可以指定要读取的最大字符数,从而避免缓冲区溢出。

  • 问题2:indigit函数
  • 问题2解决方案:在C语言中,isdigit函数是一个用于检查字符是否为数字的标准库函数。它通常用于检查字符是否是数字字符('0'到'9'之间的字符)。

isdigit函数的原型如下:

int isdigit(int c);

该函数接受一个整数作为参数,通常是表示一个字符的ASCII码值,然后返回一个非零值(真)如果该字符是一个数字字符,否则返回0(假)。

例如,下面的代码演示了如何使用isdigit函数来检查字符是否为数字:

#include <stdio.h>
#include <ctype.h>

int main() {
    char ch = '5';
    if (isdigit(ch)) {
        printf("%c is a digit.\n", ch);
    } else {
        printf("%c is not a digit.\n", ch);
    }
    return 0;
}

在上面的例子中,isdigit(ch)函数用于检查字符ch是否为数字字符。如果是数字字符,则输出5 is a digit.,否则输出5 is not a digit.

学习进度条

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

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:5小时

  • 实际学习时间:8小时

  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料