首页 > 编程语言 >2024-2025-1 20241408陈烨南《计算机基础与程序设计》第五周学习总结

2024-2025-1 20241408陈烨南《计算机基础与程序设计》第五周学习总结

时间:2024-10-26 20:49:25浏览次数:4  
标签:陈烨南 函数 int 20241408 C语言 2024 Kimi 参数 User

这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计
这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05
这个作业的目标
①Pep/9虚拟机
②机器语言与汇编语言
③算法与伪代码
④测试:黑盒,白盒
作业正文 本博客链接

教材学习内容总结

《C语言程序设计》:

字符常量与转义字符:介绍了字符常量是用单引号括起来的一个字符,转义字符是以反斜线(\)开头的字符序列,用于描述特定的控制字符,如换行符(\n)、回车符(\r)、水平制表符(\t)等。

字符输入输出函数:介绍了字符输入函数getchar()和字符输出函数putchar()的使用。

格式化输入输出函数:介绍了数据的格式化输出函数printf()和数据的格式化输入函数scanf()的使用。

ASCII码:讨论了ASCII码(美国标准信息交换码)字符集,它规定了每个字符所对应的编码,即在字符序列中的“序号”。

键盘输入和屏幕输出:作为编写简单的顺序结构程序时最常用到的操作,C程序中的键盘输入和屏幕输出都是通过调用输入/输出函数实现的。

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

Q:如果我想要从一个字符串中提取不同种类的元素该怎么做?
A(AI回答):在C语言中,没有像Python那样的高级字符串处理函数,但我们可以使用一些基本的字符串操作函数来提取字符串中的不同种类的元素。以下是一些常用的方法:

提取特定字符:
使用strchr()函数可以查找字符串中第一次出现的指定字符。

提取子字符串:
使用strstr()函数可以查找一个字符串在另一个字符串中第一次出现的位置。

提取数字:
遍历字符串,使用isdigit()函数检查每个字符是否为数字。

提取单词:
遍历字符串,使用isspace()函数来识别单词的边界。

使用正则表达式:
C语言标准库中没有内置的正则表达式库,但可以使用POSIX正则表达式库<regex.h>。

自定义函数:
根据需要提取的元素特征,编写自定义函数来处理字符串。

基于AI的学习

User: 我在学习《C语言程序设计》第4章的内容,请你以苏格拉底的方式对我进行提问,一次一个问题

Kimi: 当然可以。让我们开始吧。

  1. 你能告诉我,当我们谈论C语言程序设计时,我们首先需要理解的是什么吗?

User: 对该章问题进行提问

Kimi: 好的,让我们深入探讨《C语言程序设计》第4章的内容。我会以苏格拉底式的提问方式来引导你思考。

  1. 在这一章中,我们学习了哪些基本的编程结构?你能描述一下它们各自的特点吗?
  2. 你能解释一下什么是选择结构,以及它在C语言中是如何实现的吗?
  3. 你如何理解“条件语句”在编程中的作用?它有哪些不同的形式?
  4. 在C语言中,我们如何使用循环结构来重复执行一段代码?循环结构有哪些类型?
  5. 你能举例说明,为什么在某些情况下我们需要使用嵌套循环?

User: 一次一个问题

Kimi: 好的,让我们从基础开始。

  1. 在C语言中,一个程序的基本执行单位是什么?

User: 函数

Kimi: 非常好,你已经知道了C语言中的基本执行单位是函数。那么,接下来的问题:

  1. 你能描述一下在C语言中定义一个函数的基本结构吗?

User: 开始-执行命令-结束

Kimi: 接近了,但让我进一步细化这个问题:

  1. 在C语言中定义一个函数时,除了函数体(即开始和结束之间的部分),我们还需要指定什么来告诉编译器这个函数的类型和名称?

User: 函数类型以及名称

Kimi: 对的,函数类型和名称是定义函数时必须指定的。那么,让我们继续:

  1. 在C语言中,函数的返回类型和函数名之间通常用什么符号来分隔?

User: 空格

Kimi: 实际上,在C语言中,函数的返回类型和函数名之间通常用一个星号(*)来分隔,如果函数返回的是一个指针类型的话。但如果是普通的数据类型,返回类型和函数名之间是没有分隔符的,它们是紧挨着的。那么,我的下一个问题:

  1. 函数的参数列表在函数定义中起到什么作用?

User: 不知道

Kimi: 没问题,让我们来探讨一下。

  1. 你能告诉我,当你在C语言中定义一个函数时,参数列表是用来做什么的吗?

User: 定义函数的输入值

Kimi: 完全正确,参数列表用于定义函数的输入值。那么,让我们继续深入:

  1. 如果一个函数不需要从调用者那里接收任何输入值,你会如何在函数定义中表示这一点?

User: void

Kimi: 非常接近了,但通常我们使用一对空括号 () 来表示一个函数不接受任何参数。虽然在某些情况下,void 可以用来指明函数不返回任何值,但在参数列表的上下文中,void 并不是用来表示没有参数的。那么,让我来纠正一下:

  1. 如果一个函数不接受任何参数,那么它的参数列表应该如何书写?

User: 不知道

Kimi: 没问题,我来告诉你。

  1. 在C语言中,如果一个函数不接受任何参数,它的参数列表应该写作一对空括号,即 ()。例如,一个不接受任何参数的函数可以定义为 void functionName()。这样的函数通常被称为无参函数。

User: 针对这些知识点,我理解了吗

Kimi: 很好,让我们通过几个问题来检验你对这些知识点的理解。

  1. 如果你想要定义一个返回整数类型,并且不接受任何参数的函数,你会如何声明它?
  2. 函数的参数列表除了定义输入值之外,还有没有其他作用?
  3. 函数的返回类型和函数名之间通常用什么符号分隔?
  4. 如果一个函数需要从调用者那里接收两个整数参数,并返回这两个整数的和,你会如何定义这个函数?
  5. 函数的返回类型和参数列表之间通常用什么符号分隔?

User: 1、int main()
2、确定操作目标
3、空格
4、int sum_two_integers(int num1, int num2) {
return num1 + num2;
}
5、不知道

Kimi: 让我们逐一检查你的答案:

  1. int main() 是一个正确的函数声明,它定义了一个返回整数类型的 main 函数,通常用于程序的入口点。不过,这并不是一个不接受任何参数的函数声明,因为 main 函数通常接受命令行参数。如果你想要定义一个不接受任何参数的函数,你应该使用 int functionName(void) 或者 int functionName()(如果函数体中没有参数)。

  2. 参数列表确实用于定义函数的输入值,但它也有助于确定函数的签名,这是区分不同函数的关键因素之一。

  3. 函数的返回类型和函数名之间通常用空格分隔,而不是星号。星号用于指针类型,例如 int* functionName() 表示该函数返回一个指向整数的指针。

  4. int sum_two_integers(int num1, int num2) { return num1 + num2; } 是一个正确定义的函数,它接受两个整数参数,并返回它们的和。

  5. 函数的返回类型和参数列表之间通常用空格分隔。例如,int functionName(int param1, int param2) 中,intfunctionName 之间、functionName( 之间都是用空格分隔的。

现在,让我们回答你最后一个问题:函数的返回类型和参数列表之间通常用什么符号分隔?答案是:通常用空格分隔。

学习进度条

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

image

标签:陈烨南,函数,int,20241408,C语言,2024,Kimi,参数,User
From: https://www.cnblogs.com/chenyenai/p/18504481

相关文章

  • 高级java每日一道面试题-2024年10月24日-JVM篇-说一下JVM有哪些垃圾回收器?
    如果有遗漏,评论区告诉我进行补充面试官:说一下JVM有哪些垃圾回收器?我回答:1.Serial收集器特点:Serial收集器是最古老、最稳定的收集器,它使用单个线程进行垃圾收集工作。在进行垃圾回收时,它会暂停所有用户线程,即StopTheWorld(STW)。单线程工作,适合单核CPU。在年......
  • 高级java每日一道面试题-2024年10月23日-JVM篇-说一下JVM有哪些垃圾回收算法?
    如果有遗漏,评论区告诉我进行补充面试官:说一下JVM有哪些垃圾回收算法?我回答:在Java虚拟机(JVM)中,垃圾回收(GarbageCollection,GC)是一项非常重要的功能,用于自动管理应用程序的内存。JVM采用多种垃圾回收算法来决定何时以及如何回收不再使用的对象所占用的内......
  • 2024 SCP-J/S 游寄
    J组游寄上午七点三十几到的考场,坐标BJUT,遗憾地没怎么在门口看见同学。开场先看了看T1,蛮简单的桶,样例测了大差不差,开始看T2。一眼模拟题,模拟每一步走的过程,记录中间走的格数。样例都过了,祝我AC。T3火柴棒似曾相识但貌似没见过。感觉像个完全背包,但是写着写着发现转移方程写......
  • (2024最新毕设合集)基于Django的房价分析平台-65434|可做计算机毕业设计JAVA、PHP、爬虫
    摘要本论文主要论述了如何基于Django框架开发一个房价分析平台,本系统将严格按照软件开发流程进行各个阶段的工作,通过爬虫技术对贵州省的房价数据进行爬取,面向对象编程思想进行项目开发。在引言中,作者将论述房价分析平台的当前背景以及系统开发的目的,后续章节将严格按照软件......
  • 2024CSP-J题解附源码T1-T3
    T1#include<bits/stdc++.h>usingnamespacestd;///T1题解///输入行数n///输入n行,每行一个字符串,字符串只有两个字母组成,第一个字母是花色,第二个字母是点数。///一副牌只有52种组合,因为map能去重,所以用map进行统计不同组合数即mp.size()///结果为52-mp.size()map<string......
  • CSP-S 2024 游记
    CSP-S2024游记赛前颓废了一天,小说真好看,饭真好吃当天上午打了$01$哥哥的模拟赛,第一题是结论题,打了二三题的暴力下午收拾收拾准备进场了,右边女的,左边是上次省选就坐我左边,再左边还是女的开心开题第一题$2$分钟秒了,然后看第二题,发现暴力不太会打,想了$30$分钟,......
  • 2024-10-26:最长公共后缀查询。用go语言,给定两个字符串数组 wordsContainer 和 wordsQu
    2024-10-26:最长公共后缀查询。用go语言,给定两个字符串数组wordsContainer和wordsQuery,要对每个wordsQuery[i]找到一个与其有最长公共后缀的字符串。如果有多个字符串与wordsQuery[i]有相同的最长公共后缀,则返回在wordsContainer中最早出现的那个。最后,返回一个整数数组a......
  • 2024CS 525 All SectionsProgramming
    AdvancedDatabaseOrganization-Fall2024CS525-AllSectionsProgrammingAssignmentIII:RecordManagerDue:Friday,October18th2024by23h59TaskThegoalofthisassignmentistoimplementasimplerecordmanager.Therecordmanagerhandlestablesw......
  • 【2024版】PyCharm专业版下载+安装+汉化教程,Pycharm环境配置和使用指南,零基础小白Pyth
    前言PyCharm是一款由JetBrains公司推出的PythonIDE。它提供了一个简单易用的图形用户界面,并且具有很多有用的功能,如代码补全和自动代码检查,帮助开发人员更加高效地编写Python代码。此外,PyCharm还提供了调试器和版本控制系统集成,使得开发人员能够更加轻松地管理和维护他们的......
  • 2024.10.23
    Java连接mysql数据库1.1流程java连接mysql大致需要这六步:导入驱动包:这里我使用的是mysql-connector-java-8.0.17.jar(点击下载),这个包连接mysql5.6,5.7,8.0版本都没问题。Class.forName("com.mysql.cj.jdbc.Driver");url和账户名密码JDBC连接串:jdbc:mysql://<地址>:<端口>/<......