HTML预格式化与基本语法详解

需积分: 9 2 下载量 5 浏览量 更新于2024-08-17 收藏 10.57MB PPT 举报
"预格式化<pre>-html教程全" 在HTML中,`<pre>`标签用于创建预格式化的文本。这个标签的作用是保持文本中的空格、换行和缩进,以便在网页上显示时,能按照原始代码的形式展示。通常,`<pre>`标签用于显示代码片段或任何需要保留原有格式的文本内容。 HTML(HyperText Markup Language)是用于创建网页的标准标记语言。它是一种简单易学的标记语言,通过HTML编写的文件被称为HTML文件,它们可以被Web浏览器解析并显示为网页。 HTML文档的基本结构包括三部分:`<html>`、`<head>`和`<body>`。`<html>`是整个文档的根元素,包含文档的所有内容。`<head>`部分通常包含文档元信息,如标题(`<title>`)和元数据(`<meta>`)。`<body>`则包含用户在浏览器中看到的实际内容。 创建HTML文件有多种方式,如使用简单的文本编辑器(如记事本)手动编写,并保存为`.htm`或`.html`扩展名的文件;使用可视化HTML编辑器,如Frontpage、Dreamweaver等,这些工具提供直观的界面来创建和编辑HTML;或者由Web服务器动态生成。 在命名HTML文件时,应遵循一些规则,比如使用`.htm`或`.html`作为扩展名,避免空格和特殊字符,可以使用下划线(_)以及字母和数字,区分大小写,并且首页文件名通常为`index.htm`或`index.html`。 HTML元素是构成HTML文档的基本单位,它们总是成对出现,由开始标记(如`<body>`)和结束标记(如`</body>`)组成。元素标记用尖括号包围,结束标记前加斜杠。 在HTML元素中,还可以包含属性来提供额外的信息。例如,`<p>`元素的`align`属性用于设置段落的对齐方式,如`<p align="center">`将段落居中显示。 以下是一个简单的HTML网页示例: ```html <!DOCTYPE html> <html> <head> <title>我的第一个网页</title> </head> <body> 欢迎来到我的主页! </body> </html> ``` 在这个例子中,`<!DOCTYPE html>`声明了文档类型,`<title>`定义了页面的标题,而`<body>`中的文本是用户在浏览器中看到的内容。 `<pre>`标签是HTML中用于保持原始格式的重要工具,而HTML则是一门用于构建网页内容和结构的语言,其基本元素和属性共同构成了丰富的网页布局和表现形式。

代码改进,不使用cout<<endl结构#include <iostream> #include <queue> #include <stack> #include <string> using namespace std; struct Student { string name; int number; int score; }; struct TreeNode { Student data; TreeNode* left; TreeNode* right; TreeNode(Student s) : data(s), left(nullptr), right(nullptr) {} }; void postOrder(TreeNode* root) { if (!root) return; postOrder(root->left); postOrder(root->right); cout << root->data.name << " " << root->data.number << " " << root->data.score << endl; } void preOrder(TreeNode* root) { stack<TreeNode*> s; s.push(root); while (!s.empty()) { TreeNode* node = s.top(); s.pop(); if (node) { cout << node->data.name << " " << node->data.number << " " << node->data.score << endl; s.push(node->right); s.push(node->left); } } } void levelOrder(TreeNode* root) { queue<TreeNode*> q; q.push(root); while (!q.empty()) { TreeNode* node = q.front(); q.pop(); if (node) { cout << node->data.name << " " << node->data.number << " " << node->data.score << endl; q.push(node->left); q.push(node->right); } } } int main() { Student students[] = { {"Lei Zhenzi", 101401, 82}, {"Jiang Ziya", 100032, 90}, {"Ne Zha", 101674, 70}, {"Shen Gongbao", 101982, 87}, {"Jiu Weihu", 107431, 75}, {"Tian Zun", 100001, 98}, {"Tai Yi", 101009, 81}, {"Yang Jian", 101321, 63}, {"Huang Feihu", 101567, 72}, {"Zhou Wang", 108160, 55}, {"Li Jing", 102456, 84}, {"Tu Xingsun", 102245, 65}, }; int n = sizeof(students) / sizeof(Student); TreeNode* root = new TreeNode(students[0]); queue<TreeNode*> q; q.push(root); for (int i = 1; i < n; i += 2) { TreeNode* parent = q.front(); q.pop(); parent->left = new TreeNode(students[i]); q.push(parent->left); if (i + 1 < n) { parent->right = new TreeNode(students[i + 1]); q.push(parent->right); } } cout << "Post-order traversal: " << endl; postOrder(root); cout << "Pre-order traversal: " << endl; preOrder(root); cout << "Level-order traversal: " << endl; levelOrder(root); return 0; }

2023-05-22 上传