2022-2023-1 20221309《计算机基础与程序设计》第七周学习总结

作业信息

这个作业属于哪个课程

<班级的链接>

这个作业要求在哪里

<作业要求的链接>https://www.cnblogs.com/rocedu/p/9577842.html#WEEK07

这个作业的目标

学习《计算机科学概论》第8章和《C语言程序设计》第6章

作业正文

 https://www.cnblogs.com/Plame/p/16797228.html

教材学习内容总结

《计算机科学概论》第8章:了解了数组,列表,队列,二叉树等概念,掌握其应用。

C语言程序设计》第6章:学习了各种循环语句,明白了程序化设计基本思想。

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

问题1:定义静态局部变量的值为何不变?(每次不读取定义吗?)

问题1解决方案:查阅资料,知道在函数中定义的static局部变量,即只能在定义该变量的函数内使用该变量。不论其使用的函数是否被调用,都一直存在。保留上次调用后留下的函数值

出现在函数内部的基本类型的的静态变量初始化语句只有在第一次调用才执行。而对自动变量赋初值是在函数调用时进行,每调用一次函数重新给一次初值,相当于执行一次赋值语句。

链接:https://www.csdn.net/tags/NtDaUg0sNjU5MDYtYmxvZwO0O0OO0O0O.html

 

问题2:非返回值的子程序必须始终具有return语句。

问题2解决方案:查阅资料,知道void型的必须有返回值,一定要有return语句。返回值的类型还要跟函数的类型一样,无参函数可以有返回值,参数和函数能不能返回值没有任何关系。

 

问题3:gcc一般格式是什么?具有几种后缀?

问题3解决方案:查阅资料,知道Gcc指令的一般格式为:Gcc [选项] 要编译的文件 [选项] [目标文件]

后缀名

所对应的语言

-c

只是编译不链接,生成目标文件“.o”

-S

只是编译不汇编,生成汇编代码

-E

只进行预编译,不做其他处理

-g

在可执行程序中包含标准调试信息

-o file

把输出文件输出到file里

-v

打印出编译器内部编译各过程的命令行信息和编译器的版本

-I dir

在头文件的搜索路径列表中添加dir目录

-L dir

在库文件的搜索路径列表中添加dir目录

-static

链接静态库

-llibrary

连接名为library的库文件

链接:https://www.cnblogs.com/azraelly/archive/2012/07/07/2580839.html

Gdb调试相关链接:https://www.cnblogs.com/ggjucheng/archive/2011/12/14/2288004.html                                

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

  • 问题1:scanf返回值处理费发数据

 

问题1解决方案:通过询问同学,正确认识到关联。

 

  • 问题2:清除缓冲区内容用什么函数?

问题2解决方案:第一种:setbuf(stdin,NULL);

第二种:__fpurge(stdin);(相当于Unix下面的fflush()。)

第三种:while((c=getchar())!='\n'&&!=EOF);

  • 问题3:标记!Find应用——标志变量
  • 理解:!Find在控制结构中表示若find为0则继续,如为1则退出。

在多变量改变导致同一结果的问题中有显著作用。

上周考试错题总结

暂无

其他

解决方案:

 

学习进度条

 

代码行数(新增/累计)

博客量(新增/累计)

学习时间(新增/累计)

重要成长

目标

3000行

20篇

200小时

 

第六周

100/500

5/19

15/75

 

第七周

100/600

 

15/90

 

 

 

 

 

 

 

 

 

 

 

posted @ 2022-10-16 21:22  221309张致远  阅读(34)  评论(0编辑  收藏  举报