2023-2024-1 20231329 《计算机程序与设计》第七周学习总结
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/besti |
---|---|
这个作业要求在哪里 | https://www.cnblogs.com/rocedu/p/9577842.html#JXJC |
这个作业的目标 | 计算机科学概论第8章 并完成云班课测试《C语言程序设计》第6章并完成云班课测试 |
作业正文 | https://www.cnblogs.com/xjn123/p/17817851.html |
教材学习内容总结
《计算机科学概论》第八章
8.1抽象数据类型
在计算领域,可以从应用层,逻辑层和实现层这三个方面观察数据
8.2栈
抽象复合结构,只能从一端访问栈中元素
8.3队列
队列中的项目从一端入,从另一端出
8.4列表
列表是抽象结构 不要把列表误认为是数组
8.5树
分层体系结构是树,常用的树为二叉树,二叉树是一种抽象结构。
根:树中唯一的开始节点
叶节点:没有子女的树节点
在二叉检索树中搜索,构造二叉检索树
《C语言程序与设计》第六章 循环控制结构
6.1循环控制结构与循环语句
while
{
语句列表
}
do while
do
{
语句序列
}while(循环控制表达式)
for语句
for (初始化表达式;循环控制表达式;增值表达式)
{
语句序列
}
6.2计数控制循环
p=p*i
6.3嵌套循环
6.4条件控制循环
若函数scanf()调用成功,则其返回值为成功读入的数据项数
6.5流程的转移控制
goto语句标点;
if(表达式) goto;
break语句实际是一种有条件的跳转语句
continue语句
穷举法
教材学习中的问题和解决过程
while (“ret”!=1)
不太理解该语句的含义
若存在输入错误,则重新输入
列表也可以被形象化为链式结构,链式结构以节点的概念为基础。一个节点由两部分组成:用户的数据和指向列表的下一个节点的链接或指针。列表的最后一个节点的指针变量存放的是列表结束的符号。
链式结构的核心思想是使用节点来存储数据,每个节点包含两个部分:
用户的数据:这是节点实际存储的数据,可以是任何类型的数据,例如整数、字符串、对象等。
链接或指针:这是指向下一个节点的引用或指针。这个链接将一个节点与下一个节点连接在一起,形成链式结构。最后一个节点的链接通常指向列表的结束符号,表示链表的结束。
教材学习中的问题和解决过程
函数一章中不太了解srand与rand
srand(time(NULL));指的是使每次运行程序时生成的随机序列都不同
magic = rand()%m;是指在范围1-m-1中随机生成一个数
这两种函数都要在头文件加#include<stdlib.h>
基于AI的学习
我在学抽象数据类型知识点,请你以苏格拉底的方式对我进行提问,一次一个问题
1。你是否了解抽象数据类型是什么?请简要解释你对ADT的理解。
是属性明确的与特定实现分离的容器,设计的目的是通过抽象减小复杂度
2.你能列举一些常见的抽象数据类型吗?这些ADT有哪些特征?
栈 列表 树
栈是一种抽象符合结构 只能从一端访问栈中的元素
列表通常提供插入一个项目的操作,删除一个项目的操作等
树可以模拟多种数据关系
3.对于每个抽象数据类型,你能进一步解释它们的用途和一些典型的操作吗?例如,栈通常用于什么情况?树如何模拟数据关系?
不太清楚
没问题,让我为你提供一些更详细的解释:
栈(Stack):栈是一种抽象数据类型,它遵循先进后出(Last In, First Out,LIFO)的原则。栈通常用于跟踪函数调用、表达式求值、内存管理等。典型的栈操作包括推入(push)元素到栈顶、弹出(pop)栈顶元素以及查看栈顶元素的操作。栈在编程中常用于保存临时数据或维护执行上下文。
列表(List):列表是一种抽象数据类型,它允许按照线性顺序存储和操作数据元素。列表通常支持插入(insert)、删除(delete)、搜索(search)和遍历(traverse)等操作。列表可以用于各种情况,从简单的数据存储到更复杂的数据结构,如链表、数组等。
树(Tree):树是一种抽象数据类型,它用于模拟层次关系的数据结构。树由节点组成,每个节点可以有零个或多个子节点。树常用于表示分层结构,如文件系统、组织结构、数据库索引等。树有各种类型,包括二叉树、平衡树、二叉搜索树等,每种类型都有其特定的应用和操作。
代码调试中的问题和解决过程
输入1个字符,输出ASCI码表中它的下一个字符。
scanf("%c",&sum);
sum++;
区别于输入1个字符,输出其ASCII码。
scanf("%c",&num);
int asciiValue =num;
printf("%d\n",asciiValue);
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 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 |