首页 > 编程语言 >2022-2023-1 20221304 《计算机基础与程序设计》第七周学习总结

2022-2023-1 20221304 《计算机基础与程序设计》第七周学习总结

时间:2022-10-16 08:44:34浏览次数:98  
标签:语句 2022 元素 列表 数组 2023 20221304 数据结构 EOF

2022-2023-1 20221304 《计算机基础与程序设计》第七周学习总结

作业信息

这个作业属于哪个课程 https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP
这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK07
这个作业的目标 自学教材《计算机科学概论》第8章并完成云班课测试,自学教材《C语言程序设计》第6章并完成云班课测试
作业正文 https://www.cnblogs.com/liu-221304-yi-tong/p/16777307.html

教材学习内容总结

在《计算机科学概论》第8章中,我学会了区分基于数组的实现和链式实现、区分数组和列表、区分无序列表和有序列表、区分栈和列表的行为、区分二叉树和二叉检索树、如何把一系列项目插入二叉检索树,理解了树与图的区别,了解了子程序和参数的概念。在《C语言程序设计》第6章中,我学到了计数控制的循环、条件控制的循环、嵌套循环、for语句、while语句、do-while语句、continue语句、break语句,了解了结构化程序设计的基本思想以及程序调试与试错。

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

  • 问题1:数组和列表有什么异同?
  • 问题1解决方案:查阅资料后得知:数组中的元素只能是同种数据类型;列表中的元素可以不是同一种数据类型。列表是一种数据项构成的有限序列,即按照一定的线性顺序,排列而成的数据项的集合,在这种数据结构上进行的基本操作包括对元素的的查找,插入,和删除。列表的两种主要表现形式是数组和链表,栈和队列是两种特殊类型的列表。由此可见列表和数组的本质区别。列表是数据集合的统称,而数组是列表在结构上的具体表现形式。
  • 问题2:树与图具体有什么区别?
  • 问题2解决方案:一、图数据结构:图从数学领域进化而来,主要被用来描述一个从一个位置到另一个位置的路线的模型。一个图包含一系列的点和一系列的边。边用来把点连接起来。路线是用来描述共用一条边的点的轨迹的术语。二、树数据结构:树,和图一样也是一系列点的集合。有一个根节点。这个根节点有一些子节点。子节点也有它们自己的孙子节点。不断重复直到所有的数据都被用树的数据结构表示。树是没有环的图(在图里面,环的路线是开始和结束都是一样的点)一个子节点只有一个父节点,所以树不是一个递归的数据结构。
  • 问题3:结构化程序设计的基本思想具体有哪些?
  • 问题3解决方案:结构化程序设计(structured programming)是进行以模块功能和处理过程设计为主的详细设计的基本原则。结构化程序设计是过程式程序设计的一个子集,它对写入的程序使用逻辑结构,使得理解和修改更有效更容易。它的原则有“自顶向下、逐步求精”的设计方法,各个模块通过“顺序、选择、循环”的控制结构进行连接,并且只有一个入口、一个出口。结构化程序设计的原则可表示为:程序=(算法)+(数据结构)。算法是一个独立的整体,数据结构(包含数据类型与数据)也是一个独立的整体。两者分开设计,以算法(函数或过程)为主。随着计算机技术的发展,软件工程师越来越注重于系统整体关系的表述,于是出现了数据模型技术(把数据结构与算法看做一个独立功能模块),这便是面向对象程序设计的雏形。

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

  • 问题1:不知道如何忽略数字中的负号。
  • 问题1解决方案:方法一:用条件语句判断,若为正数则直接执行后面的语句;若为负数,先乘(-1)再执行后面的语句。方法二:使用C库函数——fabs()

  • 问题2:求阶乘的方法?
  • 问题2解决方案:可以用for语句或while语句,但是查资料后发现,还有专用的函数fact可以用来求阶乘。
  • 问题3:不知道c语言中主函数main(int argc, char *argv[ ])的含义。
  • 问题3解决方案:经过查询资料得知:
    argc: 整数,用来统计你运行程序时送给main函数的命令行参数的个数
    argv[ ]: 指针数组,用来存放指向你的字符串参数的指针,每一个元素指向一个参数
    argv[0] 指向程序运行的全路径名
    argv[1] 指向在DOS命令行中执行程序名后的第一个字符串
    argv[2] 指向执行程序名后的第二个字符串
    ...
    argv[argc]为NULL。
  • 问题3:不明白c语言中数组的使用方法。
  • 问题3解决方案:通过查阅资料得知,数组是具有相同类型的集合,数组的大小(即所占字节数)由元素个数乘以单个元素的大小。数组只能够整体初始化,不能被整体赋值。只能使用循环从第一个逐个遍历赋值。初始化时,数组的维度或元素个数可忽略 ,编译器会根据花括号中元素个数初始化数组元素的个数。当花括号中用于初始化值的个数不足数组元素大小时,数组剩下的元素依次用0初始化。字符型数组在计算机内部用的时对应的ascii码值进行存储的。一般用”“引起的字符串,不用数组保存时,一般都被直接编译到字符常量区,并且不可被修改。
  • 问题4:不理解C语言中scanf()!EOF的意义。
  • 问题4解决方案:通过查阅资料得知,EOF是文件结尾标志,EOF是一个计算机术语,为End Of File的缩写,在操作系统中表示资料源无更多的资料可读取。EOF 与 scanf 函数的关系:(1)EOF (End Of File)名称是文件结束标志,定义为 -1(不是ASCII码值为-1),可以通过 Ctrl+Z 直接键入。(2)scanf 函数是有返回值的。一般来说,它的返回值是成功读取的元素个数。但当遭遇读取失败时,它的返回值便是-1(也就是它自己返回一个EOF)。而若是一个元素都还没成功读入的时候就遇到了读取失败或EOF,那它直接就会返回-1,不管后面再输入了什么。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 3000行 30篇 200小时
第一周 50/50 2/2 15/15
第二周 100/150 2/4 15/30
第三周 150/350 3/7 20/50
第四周 150/500 3/10 20/70
第五周 150/650 2/12 20/90
第六周 150/800 4/16 20/110
第七周 150/800 1/17 20/130
  • 计划学习时间:20小时

  • 实际学习时间:20小时

标签:语句,2022,元素,列表,数组,2023,20221304,数据结构,EOF
From: https://www.cnblogs.com/liu-221304-yi-tong/p/16777307.html

相关文章

  • Apache Commons Text远程代码执行漏洞(CVE-2022-42889)分析
    漏洞介绍根据apache官方给出的说明介绍到ApacheCommonsText执行变量插值,允许动态评估和扩展属性的一款工具包,插值的标准格式是"${prefix:name}",其中"prefix"是用于定位o......
  • 2022.10.15线程状态观测
    线程状态观测线程优先级packagecom.fei.stata;​publicclassTestPriorityextendsThread{  publicstaticvoidmain(String[]args){    System.out......
  • 报告分享|2022年移动应用技术趋势白皮书
    报告链接:http://tecdat.cn/?p=29239本白皮书通过盘点国内移动应用发展环境、热门技术创新动态,分析影响移动应用发展的技术趋势,以及细分应用领域的技术创新热点,洞悉开发者......
  • 报告分享|2022电商出海营销白皮书
    报告链接:http://tecdat.cn/?p=29241随着线上化购物方式成为全球消费的常态,全球电商市场保持高速增长,新市场、新商机不断涌现。然而,全球经济普遍下行、消费者信心不足,也成......
  • 2022-10-15 react之umi之connect
    类函数写法:import{connect}from'umi';@connect(({data})=>({id:data.id}))组件函数写法:exportdefaultconnect(({data})=>({id:data......
  • [2022.10.15]值传递 重载
    什么是值传递什么是引用传递为什么java是值传递http://t.csdn.cn/yS3Lj记住就行 调用方法:对象名.方法名(实参列表)Java支持两种调用方法的方式,根据方法是否返回值......
  • 武汉大学2022级新生程序设计竞赛 F - 最短公共超串 // kmp
    题目来源:“帆软杯”武汉大学2022级新生程序设计竞赛F题目链接:F-最短公共超串题意给定两个字符串\(a\)和\(b\),求:一个同时以\(a\)和\(b\)作为子串的最短字符串。数据范......
  • 2022-2023-1 20221419 《计算机基础与程序设计》第7周学习总结
    2022-2023-120221419《计算机基础与程序设计》第7周学习总结作业信息班级:[2022-2023-1-计算机基础与程序设计]https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP......
  • 2022-2023-1 20221306 《计算机基础与程序设计》第七周学习总结
    作业信息班级链接:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK07作业目标:子程序与参数,抽象数据......
  • 2022NOIPA层联测9
    A.泰山压顶code#include<cstring>#include<algorithm>#include<cstdio>#include<cmath>#include<queue>#include<map>#include<set>usingnamespacestd;typ......