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

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

时间:2024-11-17 16:08:57浏览次数:1  
标签:函数 20241416 学号 元素 2024 面向对象 整型 数组 求余

作业信息
|这个作业属于哪个课程|https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP|
|这个作业要求在哪里|https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08|
|这个作业的目标|功能设计与面向对象设计,面向对象设计过程,面向对象语言三要素,汇编、编译、解释、执行|
|作业正文| https://www.cnblogs.com/rockytyh/p/18550657
教材学习内容总结
《计算机科学概论》第9章内容总结
面向对象设计(OOD):介绍了面向对象设计的基本思想,包括类和对象的概念。类是对象的蓝图,而对象是类的实例。面向对象设计强调数据(对象)和行为(方法)的封装。
面向对象语言的要素:讨论了面向对象语言的三个核心要素:封装、继承和多态。封装是指将数据和操作封装在类中,继承允许新类继承现有类的属性和方法,而多态则是指允许不同类的对象对同一消息做出不同的响应。
程序设计语言范型:介绍了不同的程序设计范型,包括命令式范型(如面向过程和面向对象)和声明式范型(如函数式和逻辑式)。每种范型都有其特定的编程风格和解决问题的方法。
编译器和解释器:解释了编译器和解释器的区别,编译器将高级语言代码转换成机器码,而解释器则直接执行高级语言代码或字节码。
数据类型和结构:讨论了数据类型的重要性,包括基本数据类型(如整数、实数、字符和布尔型)和复合数据类型(如字符串和数组)。同时,也介绍了强类型语言和弱类型语言在数据类型处理上的差异。
控制结构:介绍了控制结构的重要性,包括选择结构(如if-else语句)、循环结构(如while和for循环)和子程序(函数和过程)。
布尔表达式和逻辑编程:探讨了布尔表达式在编程中的作用,以及逻辑编程的基本概念,包括事实、规则和询问。
输入/输出结构:讨论了输入/输出结构在程序设计中的重要性,以及如何在程序中实现输入和输出。
高级程序设计语言的功能性:强调了高级语言在设计中提供的功能,如布尔表达式、数据类型和控制结构,以及它们如何简化程序设计并提高安全性。
《C语言程序设计》第7章内容总结

数组的基本概念
数组是一种数据结构,它可以存储相同类型的多个元素。例如,int arr[10]定义了一个可以存储10个整数的数组arr。数组的元素在内存中是连续存储的,这使得可以通过索引(下标)来高效地访问各个元素。索引从0开始,所以对于上述数组,arr[0]表示第一个元素,arr[9]表示第十个元素。
一维数组的定义和初始化
定义方式有多种,如在定义时指定大小并初始化部分元素,例如int a[5] = {1, 2},这样数组a的前两个元素被初始化为1和2,其余元素默认初始化为0。也可以在定义时不指定大小,让编译器根据初始化列表中的元素个数来确定数组大小,如int b[] = {3, 4, 5};此时数组b的大小为3。
二维数组的概念和操作
二维数组可以看作是一个表格,它有行和列。例如int matrix[3][4]定义了一个3行4列的二维数组。可以把二维数组看作是由多个一维数组组成的数组。
访问二维数组元素也使用索引,例如matrix[1][2]表示访问第二行(索引从0开始,所以是1)第三列(索引是2)的元素。
字符数组的定义和初始化
字符数组用于存储字符序列,例如char str[10]定义了一个可以存储10个字符的字符数组。可以在定义时初始化,如char greet[] = {'H', 'e', 'l', 'l', 'o', '\0'},这里\0是字符串结束标志,它表示一个字符串的结束。
教材学习中的问题和解决过程
问题1:如何将数组与函数联系在一起?
答案1:数组作为函数参数传递
传递方式:在 C 语言中,数组名作为函数参数时,实际上传递的是数组的首地址。这意味着函数可以通过这个地址访问和修改数组中的元素。例如,定义一个函数来打印整型数组的元素:
注意事项:在函数参数列表中,int arr[]和int *arr是等价的声明方式,都表示接收一个指向整型的指针。这种方式使得函数能够高效地访问数组,因为不需要复制整个数组的内容到函数中。但是,这也意味着在函数内部对数组元素的修改会影响到原始数组。
函数返回数组(不常见且有一定限制)
直接返回数组是不允许的:在 C 语言中,函数不能直接返回一个数组。因为数组名是一个指针常量,它代表数组的首地址,函数结束后,其内部的局部数组的存储空间会被释放,返回的数组地址可能会指向无效的内存区域。
返回指针指向数组:可以返回一个指针,这个指针指向一个在函数外部定义的数组或者是通过动态内存分配(如malloc函数)在堆上创建的数组。例如:
注意内存管理:当返回一个指针指向动态分配的数组时,需要在合适的时候(通常是在不再使用数组后)使用free函数来释放内存,以避免内存泄漏。
利用数组和函数实现特定功能
排序功能:可以编写一个函数来对数组进行排序。例如,实现简单的冒泡排序函数:
查找功能:编写一个函数在数组中查找特定元素。例如,线性查找函数:
问题2:c语言中只有整型数字可以求余吗?
答案2:在C语言中,求余操作是通过 % 运算符来实现的。这个运算符不仅可以用于整型数字,还可以用于浮点型数字。不过,需要注意的是,当涉及到浮点数时,求余的结果可能与整数求余的结果有所不同,因为浮点数的表示和运算涉及到精度问题。
具体来说:
整型求余:对于整型数(如 int、long 等),% 运算符会返回两数相除后的余数。这是最常见的用法,也是最直观的。
浮点型求余:对于浮点型数(如 float、double 等),% 运算符的行为取决于具体的实现,但通常它也会返回两数相除后的余数。不过,由于浮点数的精度限制,结果可能不如整型数那样精确。
混合类型求余:当操作数中一个是整型,另一个是浮点型时,整型数可能会被提升为浮点型,然后进行求余运算。

标签:函数,20241416,学号,元素,2024,面向对象,整型,数组,求余
From: https://www.cnblogs.com/rockytyh/p/18550657

相关文章

  • 2024年大学生计算机大赛决赛-个人赛参考代码
    比赛链接A.退休代码voidsolve(){inta,b;cin>>a>>b;intnum=a+b;intres=(1000000+num-1)/num;cout<<res/12<<''<<res%12;}B.四季代码voidsolve(){ inta,b; scanf("%d-%d&qu......
  • 20222305 2024-2025-1 《网络与系统攻防技术》实验六实验报告
    网络攻防实验报告姓名:田青学号:20222305实验日期:2024/11/15—2024/11/22实验名称:Metasploit攻击渗透实践指导教师:王志强1.学习内容1.Metasploit:是一款开源安全漏洞利用和测试工具,集成了各种平台上常见的溢出漏洞和流行的shellcode。2.渗透攻击模块(exploits):被动渗透攻击......
  • 2024长城靶场训练
    仿射密码首先题目描述使用仿射函数y=3x+9加密得到的密文为JYYHWVPIDCOZ,请尝试对其解密。flag为flag{大写明文}。1、使用在线网站直接破解或手工计算破解,获得flag。(参数a=3,b=9,对应仿射函数y=3x+9)仿射密码加密_仿射密码解密手工计算使用解密函数为D(x)=a^-1(x-b)(modm),......
  • 学期2024-2025-1 学号20241421 《计算机基础与程序设计》第8周学习总结
    作业信息|这个作业属于哪个课程|https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP||这个作业要求在哪里|https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08||这个作业的目标|功能设计与面向对象设计,面向对象设计过程,面向对象语言三要素,汇编、编译、解释、执行||作......
  • 20222310 2024-2025-1 《网络与系统攻防技术》实验五实验报告
    一、实验内容1.从www.besti.edu.cn、baidu.com、sina.com.cn中选择一个DNS域名进行查询,获取以下信息(1)DNS注册人及联系方式(2)该域名对应IP地址(3)IP地址注册人及联系方式(4)IP地址所在国家、城市和具体地理位置2.尝试获取BBS、论坛、QQ、MSN中某一好友的IP地址,并查询获取该好友所......
  • 2024-2025-1 20241329 《计算机基础与程序设计》第八周学习总结
    作业信息作业归属课程:https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08作业目标:功能设计与面向对象设计;面向对象设计过程;面向对象语言三要素;汇编、编译、解释、执行作业正文:https://www.cnblogs.com/inca......
  • Alpha冲刺(4/14)——2024.11.15
    目录一、团队成员分工与进度二、成员任务问题及处理方式三、冲刺会议内容记录会议内容四、GitHub签入记录及项目运行截图GitHub签入记录五、项目开发进展及燃尽图项目开发进展燃尽图六、团队成员贡献表一、团队成员分工与进度成员完成的任务完成的任务时长剩余时间施......
  • ICPC2024杭州站游记
    Day-??发现杭州站可以报名,但是四处问了问发现并不知道中学生怎么报名?于是去push老叶找HZNU的工作人员报名,最后成功报上了。以为不能跨学校组队于是拉上了高一学弟,仍然沿用了“飞带长队”的队名。Day-?得知海峰加入了凯文队。Day-5加训CCPCHarbin,赢了呆呆鸟罚时。......
  • 20241116
    T1医生厨神秘贪心题。不会。不懂。考虑当\(\maxA_i\lex\)时,可以直接从大往小干。否则需要不断扩大\(x\)使得其超过\(\maxA\)。我们考虑在一个时刻,若存在一个\(a\)使得\(a\lex\land2a\gex\),那我们直接把这个\(a\)干掉是不劣的,因为你现在干掉这个至多只会拖......
  • 2024华为OD算法真题目录
    文章目录一、什么是华为OD,什么是华为OD机试?二、华为OD面试流程?三、华为OD机试通过率高吗?四、华为OD薪资待遇?五、大家比较关注问题的FAQ......