收获的芝士
1.上网查阅资料了解了什么是%*c以及它的作用,也由此知道了输入缓冲区的概念,和格式化字符串的形式为%[*][输入数据长度]类型,该种形式可以跳过输入的字符,用于末尾时,如scanf(" %d %d %d %*c",&a,&b,&c),可以忽略最后的回车键使其不出现在缓冲区中。该操作能保证下一行的第一个字符为用户想输入的,而不是\n的ascll码。
#include <stdio.h>
int main(void)
{
int a;
scanf("%d",&a);
char ch=getchar();
if(ch=='\n')
{
printf("yes");
}
return 0;
}
上图中输入一个数字之后按下回车,会输出yes;证明了回车键会在下一行第一个字符被读取。
#include <stdio.h>
int main(void)
{
int a;
scanf("%d %*c",&a);
char ch=getchar();
if(ch=='\n')
{
printf("yes");
}
else
{
printf("NO");
}
return 0;
}
上图中利用%*c格式化回车键,使得输入一个数字后按下回车,并不会输出单词,证明将回车键
在缓冲区中删除,不会影响下一行的输入。
2.重新复习了一下指针,指针和数组之间的联系。并且较为详细了解了字符串的相关知识,以及<string.h>库中的部分函数,如strcpy();strlen();strstr();strchr();strcat()等。其中可以利用strchr()函数对一个字符串进行单个字符的修改,使得该字符串可以部分输出。
ex:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
char a[]="hello";
char *p=strchr(a,'l');
*p='\0';
char *t=(char*)malloc(strlen(a)+1);
strcpy(t,a);
printf("%s",t);
free(t);
return 0;
}
输出结果就为he,实现字符串的部分输出。
3.在回顾指针时,又学习到了一些比较细节的知识点;
int i;
const int* p1= &i;
int const* p2= &i;
int *const p3= &i;
若const在*前,证明无法通过对p做赋值而改变p的值,而是需要通过指针的传递进而改变p的值;若const在*后,证明p的地址无法被做改变,也就是指针的指向不能被改变。
4.进行听课学习时,学习到了数据结构,以及数组在数据结构中的作用,并且也学习到了结构的嵌套。在数据结构中,指针的应用有些变化,如下图所示:
struct date
{
int year;
int month;
int day;
}now;
struct date *p=&now;
p->month=12;
在数据结构中依旧可以利用指针对实参进行改变,但注意->,意思是指向该结构中的变量;
6.对unity的c#语言有一点点的初步了解,学习到了关于组件的获取,用Getcomponent(所需组件)执行,部分组件不需要自己去定义,如角色刚体组件。也初步了解了该组件部分的内容,如重力(Gravity),速度(Velocity),质量(Mass);也知道了需要使用Input.Getkey()来检测是否按下指定的键。
7.在空余时间还对高数课上没听懂的知识进行了课后再次学习,如罗尔定理,拉格朗日定理,以及一些需要记忆的公式;线性代数用的功夫最多,课上真是听不懂在讲啥,每天上完线代都要回去上网听课重新学习一遍,如行列式的计算方法,矩阵的计算方法,行列式的各个性质,以及如何运用其去做题等等。
遗憾和反思
1.高数课没好好听讲嘞,导致只能课下再找时间去学习,有点浪费时间了。
2.线性代数感觉听会了,但是一做题又不会,还是需要抓住课上的时间尽可能的把所学的应用到题中。
3.在做problem时,发现有些知识不会了或者是应用起来并没有之前熟练了,以后还是需要时常做题保持一下手感和巩固知识。
对某些问题的看法
1.我觉得mac很需要兼容一下windows系统,玩不了游戏🤔️。
2.天理校园里多投放一些小蓝车该多好呀,每天早上赶早八发现没车会为我心头另添一抹绝望的
3.希望在破冰会之后,录像少流传一些😭
下周规划
1.抽时间准备了解一下前端相关的知识,因为对前端也比较感兴趣嘞,准备都了解了解再确定之后的方向。(也就是初步了解)
2.准备把c语言的课听完。并打算再把指针那块给复习一下