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小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)
参考资料
- 《计算机科学概论》
- ...