学期2024-2025-1 学号20241317 《计算机基础与程序设计》第3周学习总结

学期2024-2025-1 学号20241317 《计算机基础与程序设计》第3周学习总结

作业信息

这个作业属于哪个课程 <班级的链接>(如2024-2025-1-计算机基础与程序设计
这个作业要求在哪里 <作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)
这个作业的目标 <写上具体方面>
作业正文 https://www.cnblogs.com/manurios/p/18462280

教材学习内容总结

  • 基本数据类型
  • 整数类型
  • 包括 int、short、long 等不同长度的数据类型,能满足不同数值范围的存储需求。理解整数在计算机中的存储方式以及不同类型所占字节数和取值范围是关键。例如,int 类型在一般系统中占 4 个字节,取值范围依据字节数和编码规则而定。
  • 浮点数类型
  • float 和 double 用于存储小数。double 精度更高,能表示的数值范围更广。浮点数在计算机中以科学计数法形式存储,了解其存储格式有助于理解数值精度和有效数字相关问题。比如在一些精度要求较高的科学计算中,选择合适的浮点数类型很重要。
  • 常量与变量
  • 常量
  • 有直接常量如整数常量、实数常量、字符常量等,还有符号常量通过#define 定义。常量在程序运行中值不能被改变,理解不同类型常量的表示形式和使用场景能让程序更清晰、易读且便于修改。比如定义圆周率为符号常量,在计算圆相关问题时可提高代码可维护性。
  • 变量
  • 变量需先定义后使用,有明确的类型、名字和作用域等属性。变量名要遵循命名规则,通过合理命名变量能增强程序的可读性。在程序运行过程中,变量的值可以根据计算或输入等方式改变,理解变量的存储和生命周期有助于编写高效、准确的程序。
  • 运算符与表达式
  • 算术运算符
  • 如加、减、乘、除、取余等。掌握算术运算符的优先级和结合性是正确计算表达式的基础。例如,先乘除后加减,同级运算符从左到右计算,但括号可以改变运算顺序。在复杂的数学计算表达式编写中,准确运用算术运算符能得出正确结果。
  • 赋值运算符
  • 将一个值赋给变量,简单赋值以及复合赋值运算符如 +=、-= 等在简化代码和提高效率方面有作用。理解赋值过程中的数据类型转换规则也很重要,比如将一个较小类型的值赋给较大类型变量时的自动转换,以及反之可能出现的截断等情况。
  • 其他运算符
  • 关系运算符用于比较大小等关系,结果为逻辑值;逻辑运算符用于组合逻辑关系,在条件判断等结构中频繁使用。不同运算符共同构成表达式,准确理解和运用它们能实现各种功能需求,如根据条件执行不同代码块等。

通过对第 2 章的学习,为后续编写更复杂、功能更强大的 C 语言程序奠定了坚实的数据基础和运算规则基础。
通过 AI 工具总结一下内容,自己再补充
通过思维导图形成知识体系
看懂就过,看不懂,学习有心得的记一下

教材学习中的问题和解决过程(先问 AI)

(一个模板:我看了这一段文字 (引用文字),有这个问题 (提出问题)。 我查了资料,有这些说法(引用说法),根据我的实践,我得到这些经验(描述自己的经验)。 但是我还是不太懂,我的困惑是(说明困惑)。【或者】我反对作者的观点(提出作者的观点,自己的观点,以及理由)。 )

  • 问题1:XXXXXX
  • 问题1解决方案:XXXXXX
  • 问题2:XXXXXX
  • 问题2解决方案:XXXXXX
  • ...

基于AI的学习

问题1:不同数字类型占用空间的不同
在C语言中,不同数字类型所占空间存在区别:

  1. 整数类型
  • char类型
  • 通常占用1个字节(8位)。它主要用于存储字符数据,但从本质上来说,也是一种小范围的整数类型,其取值范围一般为 -128到127(有符号)或者0到255(无符号)。
  • short类型
  • 在大多数系统中占用2个字节(16位)。有符号的short类型取值范围大约是 -32768到32767;无符号的取值范围是0到65535。
  • int类型
  • 一般占用4个字节(32位)。有符号int的取值范围约为 -2147483648到2147483647;无符号int的取值范围是0到4294967295。不过,在一些早期或者特殊的系统中,int可能占用2个字节。
  • long类型
  • 在32位系统中通常占用4个字节,和int相同;但在64位系统中,long类型一般占用8个字节(64位),其取值范围相应扩大很多。
  • long long类型
  • 明确占用8个字节(64位),主要用于需要更大整数范围的情况,有符号的取值范围约为 -9223372036854775808到9223372036854775807,无符号的取值范围是0到18446744073709551615。
  1. 浮点数类型
  • float类型
  • 占用4个字节(32位)。其中1位用于符号位,8位用于指数部分,23位用于尾数部分。它能提供大约7位有效数字的精度,可表示的数值范围约为±3.4×10⁻³⁸到±3.4×10³⁸。
  • double类型
  • 占用8个字节(64位)。1位符号位,11位指数部分,52位尾数部分。double类型能提供大约15 - 16位有效数字的精度,数值范围约为±1.7×10⁻³⁰⁸到±1.7×10³⁰⁸。精度更高,可表示的数值范围更广,适用于对精度要求较高的科学计算等场景。

这些数字类型所占空间的区别,使得它们适用于不同的数值存储和运算需求。在编程时,需要根据实际情况,如数值范围、精度要求等来选择合适的数字类型。
问题2:如何理解逻辑运算符

逻辑运算符用于操作布尔值(在C、C++等语言中,0表示假,非0表示真;在Python等语言中,有专门的True和False表示布尔值),主要有以下几种理解方式:

一、“与”运算符(&& 或 and)

1. 语义

  • 表示只有当所有操作数都为真时,结果才为真。例如,在表达式A && B中,如果A为假,那么不需要再判断B,整个表达式就为假,因为只要有一个操作数为假,“与”运算的结果就是假。这被称为短路特性。
    2. 应用场景
  • 常用于多个条件必须同时满足的情况。比如在判断一个数是否在某个区间内,假设判断变量x是否满足1 < x && x < 10,只有当x大于1且小于10时,整个表达式才为真。

二、“或”运算符(|| 或 or)

1. 语义

  • 只要有一个操作数为真,结果就为真。同样具有短路特性,在表达式A || B中,如果A为真,就不需要再判断B,整个表达式就为真了。
    2. 应用场景
  • 用于多个条件中只要满足一个即可的情况。例如,在判断一个字符是否是元音字母时,可以写成 (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u'),只要字符c等于其中一个元音字母,整个表达式就为真。

三、“非”运算符(! 或 not)

1. 语义

  • 它是一元运算符,作用是对操作数取反。如果操作数为真,那么“非”运算后的结果为假;如果操作数为假,“非”运算后的结果为真。
    2. 应用场景
  • 常用于对某个条件进行否定判断。例如,判断一个数x是否不大于10,可以写成!(x > 10),这与x <= 10是等价的。

理解逻辑运算符有助于在编程中构建复杂的条件判断语句,控制程序的流程,根据不同的逻辑关系执行不同的代码块。
三个原则:

  • 切勿原封不动地接受生成式人工智能工具的输出;确保对其进行评估、完善和修改(或提示),以适应您的目标。
  • 切勿将任何个人数据(自己、同学、老师等)或版权材料纳入到你的提示词中。这个可以说是保护个人隐私的最起码的举措。
  • 所有人工智能生成工具都容易产生幻觉,因此会生成不准确或误导性的信息,要学会甄别信息真假

选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容

“我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个问题”

核心是要求GPT:“请你以苏格拉底的方式对我进行提问”

然后GPT就会给你提问,如果不知道问题的答案,可以反问AI:“你的理解(回答)是什么?”

如果你觉得差不多了,可以先问问GPT:“针对我XXX知识点,我理解了吗?”

GPT会给出它的判断,如果你也觉得自己想清楚了,可以最后问GPT:“我的回答结束了,请对我的回答进行评价总结”,让它帮你总结一下。

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

  • 问题1:XXXXXX
  • 问题1解决方案:XXXXXX
  • 问题2:XXXXXX
  • 问题2解决方案:XXXXXX
  • ...

代码托管

(statistics.sh脚本的运行结果截图)

上周考试错题总结

  • 错题1及原因,理解情况
  • 错题2及原因,理解情况
  • ...

其他(感悟、思考等,可选)

xxx
xxx

学习进度条

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

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:XX小时

  • 实际学习时间:XX小时

  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

posted @ 2024-10-13 14:35  manurios  阅读(1)  评论(0编辑  收藏  举报