2023-2024-1 20231309 《计算机基础与程序设计》第五周学习总结
2023-2024-1 20231309 《计算机基础与程序设计》第五周学习总结
作业信息
这个作业属于哪个课程 | 2023-2024-1-计算机基础与程序设计 |
---|---|
这个作业要求在哪里 | 2023-2024-1计算机基础与程序设计第五周作业 |
这个作业的目标 | |
作业正文 | 2023-2024-1 20231309 《计算机基础与程序设计》第五周学习总结 |
教材学习内容总结
本周主要学习了C语言中输入输出的格式参数和转义字符,还有以PEP9为例的机器语言与汇编语言、和算法的表达:伪代码。
基于AI的学习
以下为导出的对话记录:
来自你的消息:
最近我学习了C语言下的键盘输入和屏幕输出,请以苏格拉底的方式向我提问,一次一个问题
来自AI的消息:
当我们学习一门编程语言时,深入理解基本输入输出是很重要的。让我们像苏格拉底那样,通过提问的方式一步步增进我们对键盘输入和屏幕输出的理解。
问题1:什么是键盘输入和屏幕输出?
来自你的消息:
就是输入设备向计算机输入数据,输出设备向外输出数据
来自AI的消息:
非常好!您对键盘输入和屏幕输出的定义正确。现在让我们进一步了解,C语言中如何实现键盘输入和屏幕输出。
问题2:在C语言中,您知道如何读取用户输入吗?
来自你的消息:
scanf()或getchar()
来自AI的消息:
非常好!C语言提供了两个主要的函数用于读取用户输入:scanf()
和 getchar()
。scanf()
函数可以用于读取不同类型的输入(例如整型、浮点型等),而 getchar()
函数则通常用于逐个字符地读取输入。
问题3:在C语言中,您知道如何向屏幕输出文字吗?
来自你的消息:
printf()或putchar()
来自AI的消息:
非常好!C语言提供了两个主要的函数用于向屏幕输出:printf()
和 putchar()
。printf()
函数可以用于输出不同类型的数据(例如整型、浮点型等)和文本字符串,而 putchar()
函数则通常用于逐个字符地输出。
来自你的消息:
继续
来自AI的消息:
当然!还有其他一些常用的输入和输出函数在C语言中可供使用。
输入方面,除了scanf()
和getchar()
之外,C语言还提供了fgets()
函数,用于读取一行字符串输入,以及gets()
函数(不推荐使用),用于读取字符串输入。
输出方面,除了printf()
和putchar()
之外,C语言还提供了puts()
函数,用于输出字符串,并自动在末尾添加换行符。另外,还有fputs()
函数,用于将字符串输出到指定文件中。
以上是一些常见的输入和输出函数,在C语言中可用来实现输入设备向计算机输入数据,输出设备向外输出数据的操作。
来自你的消息:
那你觉得我掌握C语言下的键盘输入和屏幕输出了吗?
来自AI的消息:
根据您对scanf()
、getchar()
、printf()
和putchar()
等函数的了解,您对C语言下的键盘输入和屏幕输出已经有一定的掌握了。这些函数是C语言中常用的输入输出函数,可以满足大部分基本的输入和输出需求。
但是,C语言的输入输出还涉及到更多的细节和函数,比如处理文件输入输出的fscanf()
、fprintf()
、fgetc()
、fputc()
等函数。此外,还有一些格式化输出函数,如sprintf()
和snprintf()
,用于格式化输出到字符串中。
综上所述,您已经掌握了C语言下基本的键盘输入和屏幕输出的知识,但还有其他更高级的输入输出操作可以进一步学习和掌握。不断练习和实践将帮助您更加熟练地应用这些函数。
来自你的消息:
那你再就一些具体内容以苏格拉底的方式向我提问吧,仍然一次一个问题
来自AI的消息:
当然!以苏格拉底的方式向您提问:
- 你是否了解在C语言中如何使用格式化字符串来控制输出的格式和样式?
- 你是否知道在C语言中如何处理输入中的错误和异常情况?
- 你是否熟悉在C语言中如何使用文件输入和输出函数来读取和写入文件?
- 你是否了解在C语言中如何处理字符输入和输出,包括如何转换字符的大小写或进行特定的字符操作?
- 你是否知道在C语言中如何使用缓冲区来提高输入和输出的效率和性能?
请您一次回答一个问题,我将根据您的回答继续提问。
来自你的消息:
1.使用指针与字符数组?(这个我不太清楚)2.调试修复3.不清楚4.转换大小写可以通过ascii码加减操作进行5.不清楚
来自AI的消息:
好的,让我来进一步探究一下您的回答:
-
指针和字符数组在C语言中都可以用于处理字符串。指针可以指向字符数组的首地址,然后通过指针来访问字符串中的字符。而字符数组则表示一段连续的字符空间,可以存储和操作字符串。您可以进一步学习字符串的相关知识,如如何声明、初始化和操作字符串。
-
为了处理输入中的错误和异常情况,我们可以使用一些输入函数的返回值和状态信息,比如
scanf()
和fgets()
函数都会返回成功读取的数据量。此外,对于数字等特定类型的输入,我们可以使用一些错误检查和异常处理函数,如atoi()
和strtol()
函数。当程序发生错误或异常时,我们可以使用调试工具(如GDB)来分析代码并修复问题。 -
在C语言中,我们可以使用文件输入和输出函数来读取和写入文件。核心的文件输入输出函数包括
fopen()
、fclose()
、fread()
、fwrite()
、fseek()
和ftell()
等。您可以了解这些函数的用法,并学习如何在程序中处理文件输入输出的错误和异常情况。 -
您提到,可以通过ASCII码加减操作来进行字符大小写转换。这是一种常见的转换方式,但是要注意字符大小写转换本身有一些细节问题(如本地化等)。C语言中也提供了一些标准库函数来方便进行字符大小写转换,如
toupper()
和tolower()
函数。 -
缓冲区在C语言中非常重要,可以显著提高输入和输出的效率和性能。文件输入输出、标准输入输出和网络输入输出等都涉及到缓冲区的使用。您可以学习缓冲区的相关知识,了解如何控制和管理缓冲区,以及如何使用缓冲区来提高程序的性能。
来自你的消息:
好的,请你对我的回答进行评价总结
来自AI的消息:
根据您的回答,我对您的回答进行评价和总结:
- 您对使用指针和字符数组处理字符串的概念有一定了解,指针可以指向字符数组的首地址来操作字符串。
- 您对调试和修复错误有一定的认识,但具体的调试工具和方法可能需要进一步学习和实践。
- 您对文件输入和输出函数的处理不太清楚,您可以学习如何使用
fopen()
、fclose()
、fread()
、fwrite()
等函数来读取和写入文件。 - 您对字符大小写转换的方法有了解,可以使用ASCII码加减操作或标准库函数来进行转换。
- 您对缓冲区的使用不太清楚。了解缓冲区的概念和如何控制缓冲区可以帮助提高程序的效率和性能。
总体来说,您的回答显示了对C语言下键盘输入和屏幕输出的一些基础理解。建议您继续学习和实践,掌握更多与C语言输入输出相关的知识和技巧,以提高您的编程能力。
上周考试错题总结
- 错题1:
- 原因:后来仔细一看,发现题目缺失了The following equation 所以做不了。
- 错题2:
- GPT解析:True. The central processing unit (CPU) of a computer is typically a single integrated circuit (IC), commonly known as a microprocessor. The CPU is responsible for executing instructions and performing calculations in a computer system. It acts as the “brain” of the computer and is usually composed of multiple cores, registers, and cache memory, all integrated into a single chip.
- 我的理解:看了解析后发现我之前的理解有误,我以为题目的意思是CPU一般都是单核的,而实际上在问是不是单个集成电路,
其他(感悟、思考等,可选)
- 其他学习内容:pep9
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 2/2 | 12/12 | ||
第二周 | 10/10 | 1/3 | 7/19 | |
第三周 | 60/70 | 4/7 | 12/31 | |
第四周 | 120/190 | 3/10 | 12/43 | 学习冯诺依曼体系结构 |
第五周 | 260/450 | 2/12 | 16/59 | 学习机器语言、汇编语言、伪代码 |
-
计划学习时间:14小时
-
实际学习时间:16小时
-
改进情况:本周计划水平与上周一致