2024-2025-1 20241329 《计算机基础与程序设计》第十一周学习总结
作业信息
作业归属课程:2024-2025-1-计算机基础与程序设计
作业要求:2024-2025-1计算机基础与程序设计第十一周作业
作业目标:计算机网络;网络拓扑;云计算;网络安全;Web;HTML,CSS,Javascript;XML
作业正文:2024-2025-1 20241329 《计算机基础与程序设计》第十一周学习总结
教材学习内容总结
《计算机科学概论(第七版)》第15章
1. 计算机网络
- 网络定义:网络是一组连接在一起以共享资源和数据的计算机。网络技术注重的是底层协议和数据传输速度。
- 网络类型:通常根据网络的作用域对它们分类,包括局域网(LAN)、广域网(WAN)和城域网(MAN)。LAN拓扑包括环形拓扑、星形拓扑和总线拓扑,以太网已成为局域网的标准拓扑。
- 以太网:以太网最简单的形式是一条以太电线连接数台计算机,每台计算机有唯一的媒体访问控制地址(MAC地址)。
2. 网络拓扑
- 拓扑类型:包括环形拓扑、星形拓扑和总线拓扑,这些是局域网常见的物理布局方式。
3. 云计算
- 定义:云计算的理念是计算需求可以通过因特网上不同地方的资源进行处理,而不需要在本地计算机上进行处理。
- 内容:第十五章还探讨了云计算技术,包括其基本概念和应用。
4. 网络安全
- 定义:网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭到破坏、更改或泄露。
- 网络威胁:计算机网络面临四种威胁:截获、中断、篡改和伪造。网络安全威胁可以分为被动攻击和主动攻击。
- 加密技术:对付被动攻击可采用各种数据加密技术,而对付主动攻击,则需加密技术与适当的鉴别技术结合。
- 恶意程序:包括计算机病毒、计算机蠕虫、特洛伊木马和逻辑炸弹等。
- 安全协议:讨论了SSL/TLS协议用于数据传输安全,以及IPSec等网络层安全协议。
《计算机科学概论(第七版)》第16章
1. Web
- 定义:Web是万维网的简称,它是一个基于互联网的信息检索系统,使用户能够通过超文本链接访问和查看互联网上的文档。
- 发展:Web起源于20世纪90年代中期,由蒂姆·伯纳斯-李发明,并逐渐成为全球范围内共享和发布信息的主要平台。
- 组成:Web由网页、网站、链接和服务器等组成。网页是包含或引用各种数据(如文本、图像、图形和程序)的文档;网站是一组相关网页的集合;链接是网页之间的连接;服务器是存储和提供网页内容的计算机。
2. HTML,CSS,Javascript
-
HTML(超文本标记语言):
定义:HTML是用于创建网页的标准标记语言。
功能:HTML通过标签来定义网页的结构和内容,如标题、段落、链接、图像等。
元素:HTML包含各种元素(如<html>
、<head>
、<body>
、<h1>
至<h6>
、<p>
、<a>
、<img>
等),每个元素都有其特定的含义和用途。 -
CSS(层叠样式表):
定义:CSS是一种用于描述HTML文档外观和格式的样式表语言。
功能:CSS可以控制网页的布局、颜色、字体、间距等,使网页更加美观和易于使用。
特性:CSS具有层叠性,即多个样式表可以应用于同一个HTML文档,并按照特定的规则进行合并和覆盖。 -
JavaScript:
定义:JavaScript是一种面向Web的编程语言,用于实现网页的动态功能和交互性。
功能:JavaScript可以操作HTML文档的内容、结构和样式,响应用户事件(如点击、输入等),并与服务器进行通信。
特点:JavaScript是弱类型的、动态的、面向对象的编程语言,且易于学习和使用。
3. XML(可扩展标记语言)
- 定义:XML是一种用于存储和传输数据的标记语言,它允许用户自定义标签来描述数据的结构和内容。
- 功能:XML具有数据描述能力强、可读性好、易于扩展等优点,被广泛应用于数据交换、配置文件、Web服务等领域。
- 结构:XML文档由声明、元素、属性等组成。声明部分指定了XML的版本和编码;元素是XML文档的基本单位,用于表示数据;属性则提供了元素的附加信息。
《C语言程序设计》第10章
1. 字符串字面量
- 定义:字符串字面量是一种静态分配的无名字符数组,其生存期覆盖整个程序运行期间。
- 存储:字符串字面量存储在程序的只读数据段中,内容相同的字符串可能占用同一存储空间。
- 特性:字符串字面量是只读的,不能被修改。如,
char *str = "Hello, World!";
中的str
指向的是只读内存区域。 - 例:
char*str = "Hello, World!";
2. 字符串的存储
- 字符数组:字符串在C语言中通过字符数组存储,要求数组末尾必须包含一个
\0
字符,以表示字符串的结束。 - 动态内存分配:可以使用
malloc
或calloc
函数在堆上动态分配内存来存储字符串。如:char *str = malloc(100* sizeof(char));
- 注意:动态分配的内存使用后需释放,以避免内存泄漏。
3. 字符指针
- 定义:字符指针可以指向字符数组或字符串字面量。
- 使用:通过字符指针可以动态地访问和修改字符串内容。
- 区别:指向字符串常量的指针不能直接修改其内容,而指向字符数组的指针可以进行修改。
- 例:
char str[] = "Hello"; char*ptr = str;
4. 字符串的访问和输入/输出
- 访问:可以通过下标或指针访问字符串中的字符。
- 输入:使用
scanf
函数读取字符序列时,遇到空格、制表符或换行符会停止读取。推荐使用fgets
函数替代gets
函数,后者已被移除。 - 输出:使用
puts
函数输出字符串并自动换行,或使用printf
函数通过格式控制符%s
输出字符串。 - 例:
scanf("%s", str); printf("%s\n", str);
5. 字符串处理函数
- 常用函数:C语言标准库提供了许多处理字符串的函数,如
strcpy
(复制字符串)、strcat
(连接字符串)、strlen
(计算字符串长度)、strcmp
(比较字符串)、strchr
(查找字符)等。 - 功能:
strcpy
:复制字符串,连同结束标志\0
一同复制。strcat
:连接两个字符串,形成一个新字符串。strlen
:计算字符串的实际长度,不含字符串结束标志\0
。strcmp
:比较两个字符串的首字母顺序。strchr
:查找字符在字符串中的位置。
- 例:
strcpy(dest, src); strcat(dest, src); int len = strlen(src); int cmp = strcmp(str1, str2); char*pos = strchr(str, ch);
6. 向函数传递字符串
- 方式:可以通过字符数组或字符指针作为函数参数传递字符串。
- 注意:传递的是字符串的内存地址而非值,因此函数内部可以修改字符串内容。
- 例:
void printString(char *str) {
printf("%s\n", str);
}
- 例:
void modifyString(char str[]) {
str[0] = 'H';
}
- 注意:传递给函数的字符串必须是可修改的,不能是字符串字面量。
7. 从函数返回字符指针
- 方式:函数可以返回指向字符串的指针。
- 注意:返回的指针应指向静态内存或动态分配的内存,以确保返回后指针仍然有效。
- 例:
char* getString() {
static char str[] = "Hello";
return str;
}
- 例:
char* getDynamicString() {
char *str = malloc(100* sizeof(char));
strcpy(str, "Hello");
return str;
}
- 注意:动态分配的内存使用后需释放,以避免内存泄漏。