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

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

作业信息

这个作业属于哪个课程 2022-2023-1-计算机基础与程序设计
这个作业要求在哪里 (2022-2023-1计算机基础与程序设计第十二周作业)
这个作业的目标 自主学习《C语言程序设计》第11章
作业正文 https://www.cnblogs.com/7777xiaohu/p/16905952.html

教材学习内容总结

1.指针和数组之间的关系
一维数组:数组名可以给指针,相当于把数组的首地址传给了指针
二维数组:把数组名给指针的时候相当于把一维数组的地址传给了指针,所以可以用指针数组接收
2.指针数组(根本上是一个数组,数组中存放着的元素全为指针)
3.动态数组:与静态数组相区分,其大小要用malloc函数申请,用完后用free释放
4.缓冲区溢出攻击:解决方法:fgets或者在scanf函数中限长。

学习中遇到的问题

int a[i][j];
p=a
这一代码如何解释?
C语言中会将这一代码解释为
(a+0)即a[0],看做行指针。

按如下函数原型用函数编程解决如下的日期转换问题(要求考虑闰年的问题):
输入某年某月某日,计算并输出它是这一年的第几天。
/* 函数功能: 对给定的某年某月某日,计算它是这一年的第几天
函数参数: 整型变量year、month、day,分别代表年、月、日
函数返回值:这一年的第几天 */
int DayofYear(int year, int month, int day);
输入提示信息:"Please enter year, month, day:"
输入格式:"%d,%d,%d"
输出提示信息和格式:"yearDay = %d\n"
我的思路:Switch-case
更优解:数组
具体代码实现:

include <stdio.h>

int  DayofYear(int year, int month, int day)
{
    int s=0,i,a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
 if(year%40&&year%100!=0||year%4000)
  a[2]=29;
 for(i=1;i<month;i++)
  s+=a[i];
 s=s+day;
 return s;
}
main()
{
    int year,month,day,a;
    printf("Please enter year, month, day:");
    scanf("%d,%d,%d",&year,&month,&day);
    a=DayofYear( year,  month,  day);
    printf("yearDay = %d\n",a);
}

上周考试错题总结

A computer network is a collection of connected computing devices that may communicate and share resources.
正确答案: 正确
你的作答: 错误
错误原因:对于计算机网络这一概念的掌握还不够
Metalanguage is a specification of the organization of an XML document.
正确答案: 正确
你的作答: 错误
错误原因:对元语言的理解还不够,XML本身就是一种元语言
A Web server generates Uniform Resource Locators (URLs).
正确答案: 错误
你的作答: 正确
统一资源定位符URL(Uniform Resource Locator)是WWW的统一资源定位标志。它是用来表示从因特网上得到的资源位置和访问这些资源 的方法
Which of the following is the primary mechanism for representing the content of a web page?
A. HTMLB. TagC. AttributeD. CookieE. Hypertext
正确答案: A
你的作答: B
以下哪项是表示网页内容的主要机制
HTML是一种超文本标记语言,用于表示网页内容

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 0/0 2/2 20/20
第二周 200/200 2/4 18/38
第三周 101/301 3/7 22/60
第四周 200/501 3/10 30/90
第五周 200/701 3/13 20/110
第六周 200/901 5/18 20/130
第七周 200/1101 1/19 20/150
第八周 200/1301 2/21 20/170
第九周 200/1501 1/22 20/190
第十周 200/1701 1/23 20/210
第十一周 200/1901 1/24 20/230
第十二周 200/2101 1/25 20/250
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:XX小时

  • 实际学习时间:XX小时

  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

posted @ 2022-11-19 16:37  20221418曾庆林  阅读(40)  评论(0编辑  收藏  举报