2022-2023-1 20221304 《计算机基础与程序设计》第六周学习总结
2022-2023-1 20221304 《计算机基础与程序设计》第六周学习总结
作业信息
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP |
---|---|
这个作业要求在哪里 | https://www.cnblogs.com/rocedu/p/9577842.html#WEEK06 |
这个作业的目标 | 自学教材《计算机科学概论》第7章并完成云班课测试,自学《C语言程序设计》第5章并完成云班课测试 |
作业正文 | https://www.cnblogs.com/liu-221304-yi-tong/p/16750952.html |
教材学习内容总结
自学《计算机科学概论》第7章后,我能够区分简单类型与复合类型、描述三种复合数据结构机制,我了解了递归问题。我能够区分无序数组与有序数组,区分选择排序与插入排序,描述快速排序算法。我能对一个数组中的值进行选择排序、冒泡排序、插入排序与快速排序,我会使用二分检索算法。学完《C语言程序设计》第5章后,我对算法的描述方法,单分支、双分支、多分支选择控制结构,条件语句都有所了解,对用于多路选择的switch语句,break语句在switch语句中的作用关系运算符、条件运算符、逻辑运算符和位运算符程序测试都有了一定的认识。
教材学习中的问题和解决过程
- 问题1:子程序语句是什么?
- 问题1解决方案:任何一个均可分解为许多相互独立的小程序段,这些小程序段称为程序模块。我们可以将其中重复的或者功能相同的程序模块设计成规定格式的独立程序段,这些程序段可提供给其它程序在不同的地方调用,从而可避免编制程序的重复劳动。特别是对于那些经常输入输出控制程序等等,都可以编成这种特殊程序段供调用。我们把这种可以多次反复调用的,能完成指定操作功能的特殊程序段称为"子程序"。相对而言就把调用子程序的程序称为"主程序"。把主程序调用子程序的过程称为"调用子程序",又常简称为"转子"。
- 问题2:子程序语句有什么用?
- 问题2解决方案:(1)简化了程序设计过程,使程序设计时间大量节省。(2)缩短了程序的长度,节省了程序的存储空间。(3)增加了程序的可读性,便于对程序的修改、调试。(4)方便了程序的模块化、结构化和自顶向下的程序设计。
- 问题3:位运算符的含义是什么?
- 问题3解决方案:位运算符是程序设计中用来对二进制位进行操作的一种运算符。位运算符只适用于字符型和整数型变量以及它们的变体,其结果可以取0或1以外的值。
- 问题4:位运算符如何使用?
- 问题4解决方案:位运算符的用法有:按位与运算,按位与运算符是双目运算符;按位或运算,按位或运算符“|”是双目运算符;按位异或运算,按位异或运算符“^”是双目运算符;求反运算,求反运算符~为单目运算符;左移运算,左移运算符“《”是双目运算符;右移运算,右移运算符“》”是双目运算符。
(1)按位与运算,按位与运算符是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现。
(2)按位或运算,按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。
(3)按位异或运算,按位异或运算符“^”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。参与运算数仍以补码出现,
(4)求反运算,求反运算符~为单目运算符,具有右结合性。其功能是对参与运算的数的`各二进位按位求反。例如~9的运算为:~(0000000000001001)结果为:1111111111110110。
(5)左移运算,左移运算符“《”是双目运算符。其功能把“《”左边的运算数的各二进位全部左移若干位,由“《”右边的数指定移动的位数,高位丢弃,低位补0。
(6)右移运算,右移运算符“》”是双目运算符。其功能是把“》;”左边的运算数的各二进位全部右移若干位,“》”右边的数指定移动的位数。
代码调试中的问题和解决过程
- 问题1:有问题的代码截图如下:
该代码运行出来结果如下图:
- 问题1解决方案:在云班课中请教同学,得到解答如下:“5/9是整型计算,算出来是0所以c一直是0,你把5/9换成5.0/9”。由此可见,C语言中的数学运算与普通的数学运算不同,以后我一定会更加注意数据类型的区分。
- 问题2:经常出现等号与赋值混淆,少打一个等号的情况。
- 问题2解决方案:每次写完代码,首先检查一下所有=与==是否打对。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 3000行 | 30篇 | 200小时 | |
第一周 | 50/50 | 2/2 | 15/15 | |
第二周 | 100/150 | 2/4 | 15/30 | |
第三周 | 150/350 | 3/7 | 20/50 | |
第四周 | 150/500 | 3/10 | 20/70 | |
第五周 | 150/650 | 2/12 | 20/90 | |
第六周 | 150/800 | 4/16 | 20/110 |
-
计划学习时间:20小时
-
实际学习时间:20小时