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

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

时间:2023-11-15 20:11:10浏览次数:42  
标签:return 函数 20231329 2024 int 2023 声明 Fact 变量

作业信息

这个作业属于哪个课程 https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP
这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08
这个作业的目标 计算机科学概论第9章 并完成云班课测试《C语言程序设计》第7章并完成云班课测试
作业正文 https://www.cnblogs.com/xjn123/p/17834374.html

教材学习内容总结

计算机科学概论第九章
9.1面向对象
面向对象设计的底层概念是类和对象
设计方法分为:集体讨论,过滤,场景,责任算法
9.2翻译过程
采用一些软件工具:编译器,解释器
9.3程序设计语言的范例
有两种主要的范例,分别是命令和声明
命令式的范例具有顺序执行指令的特征,变量的使用代表了内存地址,而使用赋值语句则改变这些变量的值
声明式范例
声明式范型是一个描述结果的模型,但是完成结果的过程的过程则不被描述。在这种范型中有两种基本模型:函数式和逻辑式
9.4高级程序设计语言的功能性
布尔表达式:是一个标识符序列,标识符之间由相容的运算符分割,求得的值是true or false
数据归类
四种数据类型:整数,实数,字符和布尔型
伪代码提供了三种方法来改变控制算法的流程:重复,选择和子程序
9.5面向对象语言的功能性
封装:把数据和动作结合在一起 提供分装结构的叫做类
继承:允许一个类继承另一个类的属性和行为的语言特性
多态:语言具备的消除同名操作的歧义的能力

C语言程序与设计第7章
1.函数的定义
函数的分类:标准库函数 printf() scanf() ; 自定义函数
2.函数调用
ret = Fact(m);//调用函数Fact(),并将函数的返回值存入ret
函数的返回值只能有一个
3.函数原型
long Fact(int n);函数原型声明
4.函数的递归调用和递归函数
result = Fact(n)调用递归函Fact()计算n
if (n==1) return 1;
else if (n ==2) return 1;
else return (Fib(n-1)+Fib(n-2))
5.变量的作用域和生存期
不被任何语句块内定义的变量 称为全局变量
int count (全局变量count用于累计递归函数被调用的次数,自动初始化为0)
变量的存储类型一般声明方式如:存储类型,数据类型,变量名表
四种变量
自动变量:auto 类型名 变量名;
静态变量:static类型名 变量名;
外部变量:extern 类型名 变量名;
寄存器变量:register类型名 变量名;

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

问题1
在了解了四种变量后 我不太清楚外部变量与寄存器变量在语句中具体位置以及区分使用哪种变量
外部变量作用域:外部变量通常在整个程序中都是可见的,即它们可以在多个文件中使用。它们的作用域通常是全局的,可以在程序的任何地方访问
// 例子:外部变量的声明和定义
int globalVar; // 外部变量的声明

int main() {
globalVar = 10; // 外部变量的使用
return 0;
}
寄存器变量作用域:寄存器变量的作用域与普通变量相似,通常是在声明它们的块中可见。它们不能被声明为全局变量。
// 例子:寄存器变量的声明
int main() {
register int x; // 寄存器变量的声明
x = 5; // 寄存器变量的使用
return 0;
}
问题2 在编写计算组合数的程序代码,我不太理解、unsigned long Fact(unsigned int n)的含义
unsigned long Fact(unsigned int n) 是一个函数的声明,表示这个函数的返回类型是 unsigned long,而它接受一个参数 n,类型为 unsigned int。

问题3 递归函数具体使用范围于使用方法
分而治之问题;树形结构问题;数学归纳法问题
终止条件: 递归函数必须有一个终止条件,以确保递归的终止。这通常是在基本情况下返回一个明确的值。

效率考虑: 在使用递归时需要注意效率问题,因为递归可能导致栈溢出,而且某些情况下使用循环可能更高效
递归计算阶乘的例子
def factorial(n):
# 基本情况
if n == 0 or n == 1:
return 1
# 递归调用
return n * factorial(n - 1)

基于AI的学习

1.我在学c语言程序与设计函数相关问题的知识点,请你以苏格拉底的方式对我进行提问,一次一个问题
AI:你能简要解释一下在 C 语言中什么是函数吗?
构成代码的基本结构
AI:在 C 语言中,一个程序的基本结构由哪些部分构成?
函数 变量 运算语句(if for while)
AI:在 C 语言中,函数的基本结构是怎样的?你能够描述一下函数的声明和定义的区别吗?
函数的声明和定义在 C 语言中有明显的区别。声明提供了函数的原型,包括函数名、参数类型和返回类型,而定义则提供了实际的函数体,包含了实际的代码

2.我在学数据类型的知识点,请你以苏格拉底的方式对我进行提问,一次一个问题
AI:对于编程语言中的基本数据类型,你是否了解它们的概念以及它们是如何存储和操作的?如果是,请简要解释。
整数 实数 字符和布尔型
应用整数的是算数运算符和关系运算符,应用实数的是特定精度的数的范围 字符是首先要在字符集里表示这个字符 然后再查找关系 布尔什只有true false
AI:在编程中,为什么需要不同的数据类型?你认为使用不同的数据类型有什么优势或者应用场景?
你的理解是什么?
内存管理
操作和性能优化
数据结构
错误检测和类型安全
代码可读性和维护性

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

1.在进行三角形面积计算时的公式不太清楚
海伦公式: double s = (a + b + c) / 2;
double area = sqrt(s * (s - a) * (s - b) * (s - c));
2.求平方根函数及四舍五入时代码不对
要转型后加0.5(四舍五入
float b = (float)sqrt(a);
float c =(int)(b+0.5);)

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 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

参考资料

标签:return,函数,20231329,2024,int,2023,声明,Fact,变量
From: https://www.cnblogs.com/xjn123/p/17834374.html

相关文章

  • 2023全球智能汽车AI挑战赛——赛道二:智能驾驶汽车虚拟仿真视频数据理解赛道
    赛题:智能驾驶汽车虚拟仿真视频数据理解赛道任务:输入:元宇宙仿真平台生成的前视摄像头虚拟视频数据(8-10秒左右);输出:对视频中的信息进行综合理解,以指定的json文件格式,按照数据说明中的关键词(key)填充描述型的文本信息(value,中文/英文均可以)初赛提交格式:{"author":"abc","time":"YY......
  • 2023NOIP停课集训总结
    2023NOIP停课集训总结​ 距离十八次的NOIP模拟赛结束只剩下三四天了,NOIP也将在11.18周六如期举行。​ 在这次从2023.10.1至2023.11.18的集训中,我确实有了许多收获,感到自己的知识经验积累更加丰富。​ 下面我将从几个方面对此次集训进行总结。1.知识点的收获分块分块是一种......
  • 2023/11/15 NOIP 模拟赛
    T1游戏标签尺取线段树单调队列线段树进阶思路抽象题意,相当于有\(t\)个点,有\(n\)个下接\(x\)轴的矩形。首先明显可以按照\(c\)排序,然后尺取。写法线段树记录每区间内未被覆盖的最大高度。因为插入和删除的顺序相对不变,一个单调队列维护该区间内矩形高度即可,若......
  • 2023-2024-1 信安课程设计 主机安全检测工具设计方案
    主机安全检测工具设计方案开发平台和工具程序架构设计开发路线目前存在的困难开发平台和工具使用Linux平台。选择Python作为主要编程语言。使用第三方库如socket、platform等来简化开发。程序架构设计模块划分1.用户界面模块:处理用户输入,向其他模块传递参数。(初......
  • 现场直击!触想智能亮相德国2023 SPS展会
    当地时间11月14日上午9时 2023年(德国)纽伦堡国际工业自动化及元器件展览会SPS展(以下简称:SPS展会)正式拉开帷幕,触想智能与来自全球各地的领先科技公司及前沿业者齐聚盛会,共赴一场科技与创新交汇的“饕餮盛宴”。△2023SPS展会开幕(触想展台整装备发)作为公......
  • 2023年人工智能还好找工作吗?
    人工智能的就业形势并不严峻,相反,很多岗位都是供不应求的状态,可以看一下下面的官方数据。脉脉高聘人才智库发布《2023泛人工智能人才洞察》,对23年1-8月的人工智能行业现状进行了分析总结。人工智能相关岗位数据:《洞察》数据显示,2022年,人工智能人才供需比为0.63。2023年1-8月,该比例降......
  • 2023.11.15日报
    今天下午去听了九天杯的讲座,说实话,如果是类似pat那种提交做题形式的比赛还有点兴趣参加一下毕竟不至于是提交一个大的作品然后评分(笑),然后就是继续在做大数据的实验,spark的内容已经进行完毕了,主要是安装了一个scala,scala类似maven,只不过在打包之前需要写一个scala和spark的版本......
  • 2023NOIP A层联测31 T4 民主投票
    2023NOIPA层联测31T4民主投票思维好题。思路首先可以设\(s\)每个人最多获得的票数,一开始所有点都把自己的票投给自己父亲。如果一个点的票数超过\(s\)了,那么这个点肯定要把票分给他的父亲。设\(f_{u,s}\)为\(u\)点在最多获得\(s\)票的情况下要向父亲分的票数(不......
  • 2023 China Collegiate Programming Contest Shenzhen Site
    目录写在前面AFGLIEMK写在最后写在前面补题地址:vjudge。以下按照场上过题顺序排序。首银。比游记更早出来,没想到吧。游记链接:留坑。A场上先开的这道。直觉是考虑先全部区间加直到最小值,然后将非最小值全单点加,再重复上述过程。然而会被递增序列卡掉。瓶颈在于单点加太多......
  • 20231109 我如何看待命题:计算机不能解决那些计算机外部世界无解决方法的问题
    “解释为什么计算机不能解决那些计算机外部世界无解决方法的问题”是《计算机科学导论》第一章的第一道课后习题,以下是我的回答:在2023年的今天,我并不完全认同这个问题预设的命题,即“计算机不能解决那些计算机外部世界无解决方法的问题”(以下简称“命题A”)。1、什么是“计算机”......