大学寒假这样过,过完惊艳所有人,不只是你的宿友,还有千千万万个程序员同行们!!!&统计随机数

看起来很随机了。但随机性如何呢?分布得均匀吗?所谓均匀分布,应该每个数出现的概率是一样的。在上面的20个结果中,6出现了5次,而4和8一次也没出现过。但这说明不了什么问题,毕竟我们的样本太小了,才20个数,如果样本足够大,比如说100000个数,统计一下其中每个数出现的次数也许能说明问题。但是总不能把100000个数都打印出来然后挨个去数吧?我们需要写一个函数统计每个数字出现的次数。完整的程序如下:
#include <stdio.h>
#include <stdlib.h>
#define N 100000

int a[N];

void gen_random(int upper_bound)
{
int i;
for (i = 0; i < N; i++)
a[i] = rand() % upper_bound;
}

int howmany(int value)
{
int count = 0, i;
for (i = 0; i < N; i++)
if (a[i] == value)
++count;
return count;
}

int main(void)
{
int i;

gen_random(10);
printf("value\thow many\n");
for (i = 0; i < 10; i++)
	printf("%d\t%d\n", i, howmany(i));

return 0;

}
在这里插入图片描述

看这样一个计划:

6:30 起床洗漱
7:30 早餐
8:00 背英语单词
9:30 健身,简单运动
12:00 美味午饭
14:00 饭后午休/朋友谈心
16:00 看部电影/学计算机编程
18:00 舒心晚餐
20:00 读书
22:00 睡觉

瞧瞧,瞧瞧,同学们瞧瞧,这个计划整得怎么样?很充实很详细吧!but,如果你能这样坚持一个寒假,算我输,你不是人,你已经成仙了!

说句实在话,临近放假了,我自己都有点飘飘然,心不静,真的。工作上只求稳妥,不求表现,顺顺利利把这一周多的时间耗过去就是福啊,千万别出幺蛾子。

说个我身边的例子吧。我妹,真的身边人,已经放假二十多天了,电脑就没打开过,一行代码都没敲过,所以我得赶紧整个靠谱的方案给她规划一下。

PS:在此之前,我专门针对她写过一个回答:

计算机学院的学生该怎样提高自己的编程能力?

其实吧,我们也没必要自我欺骗,说要完成几个或者十几个目标,完成一两个目标就很不错了。毕竟,我们都是个平凡的人哪。

寒假一个半月的时间,我认为一名大学生可以从 4 个方面着手,个人提升、学习考证、额外技能、面试刷题。

01、个人提升

假期的时间是最连贯的,几乎零打扰。除了偶尔约同学出去逛个街、喝个小酒,剩下的时间大把大把,真的是这样,饭不用做,衣服不用洗,父母给安排的明明白白的。

时间这么充沛的情况下,通过视频来提升自己应该是最恰当的方式了,因为视频的整个体系都是非常完整的,比起白纸黑字,视频的观感也更符合大学生的诉求。

在我看来,B 站是一个非常牛逼的学习网站(真心的),上面的内容包罗万象,应有尽有。比如计算机网络、计算机组成原理、操作系统、数据库、算法与数据结构,以及各种编程语言的学习教程。
在这里插入图片描述
1)计算机网络

当今这个时代,没有网络简直无法生存,哪怕是在电梯里的一分钟,我都受不了那种手机没有网络的状态。我们所学的编程知识,如果脱离了网络,将变得毫无意义,因为没有哪个编程语言是要在单机环境下运行的。

计算机网络方面的视频我推荐湖科大教书匠的《计算机网络微课堂》,制作得非常用心,是一部不可多得的佳作。目前更新了 73 小节,每节 20 分钟左右,很适合在假期刷。
在这里插入图片描述
视频地址如下所示:

https://www.bilibili.com/video/BV1c4411d7jb
2)计算机组成原理

众所周知,计算机是由 CPU、内存、显示器这些设备组成的硬件,但我们大学毕业后,往往从事的是软件方面的开发工作。那怎样才能在硬件和软件之间自由穿梭呢?答案就是学好计算机组成原理。

弄明白了计算机的组成原理,也就对整个软件开发有了一个系统的认知,不论是计算机的硬件原理,还是软件架构,都能很好的驾驭,随之而来的,我们的职业发展机会也就更多了。

如果想深入学习计算机组成原理的话,我推荐哈工大的这门视频课,整体评价非常高。一共 128 节,每节课差不多 10 分钟左右,建议 1.5 倍速食用。
在这里插入图片描述
视频地址如下所示:

https://www.bilibili.com/video/BV1WW411Q7PF
3)操作系统

为什么要学习操作系统呢?第一,面试要考;第二,无论学习哪门子编程语言,比如说 Java、C/C++,还是 D++(走错片场了),都需要和操作系统打交道,像 Java 中的多线程技术,其实是由操作系统来负责进程和线程管理的;第三,学习操作系统,还能学到内存分配方面的知识。

我推荐清华大学的《操作系统》课,虽然清华大学的校门进不去,清华大学的视频课还是可以白嫖的嘛。一共 98 小节,每节课差不多 15 分钟左右。
在这里插入图片描述
视频地址如下所示:

https://www.bilibili.com/video/BV1js411b7vg
关于计算机网络、计算机组成原理、操作系统之间的关系,我们可以用一幅图来表示下。
在这里插入图片描述
4) 数据库

数据库,其实是一种经常被我们忽略,但实际上相当重要的课程,尤其是在海量数据的信息化时代。使用数据库可以高效且条理分明地存储数据,方便我们进行有效的检索和访问。一个软件如果没有数据库的支撑,就相当于空有一副皮囊却没有灵魂。

要想学好数据,首先要学习一下 SQL,我推荐一个老外的视频课(中字版啦),内容制作得非常棒,所以完全不用担心听不懂。155 小节,但每节课大概只有 1 分钟或者 5 分钟的长度,真 10 个小时就能学完。
在这里插入图片描述
视频地址如下所示:

https://www.bilibili.com/video/BV1UE41147KC
然后再学习一下市场占有率非常高的 MySQL,视频我推荐尚硅谷的一个课程,女老师讲的。不得不承认,老师讲得很精彩,嗯,弹幕里也很精彩。350 集,内容量巨大。

在这里插入图片描述
视频地址如下所示:

https://www.bilibili.com/video/BV12b411K7Zu
目前大多数公司的存储都是 MySQL + Redis,MySQL 作为主要的存储方式,Redis 作为缓存,用来加快热点数据的读写速度,从而提高性能。所以学完 MySQL,可以趁热打铁学一下 Redis。我推荐狂神说的 Redis 课程,一共 36 小节,每节课差不多 20 分钟
在这里插入图片描述
视频地址如下所示:

https://www.bilibili.com/video/BV1S54y1R7SB
5) 算法与数据结构

无论什么时候,程序=数据结构+算法这种说法都是成立的。浙江大学的一个的课还是挺不错的(我推荐过很多次了),很系统很经典,适合小白入门。143 小节,每节课五六分钟,男女老师混合讲,不同的台风,学习起来也会轻松一些。
在这里插入图片描述
视频地址如下所示:

https://www.bilibili.com/video/BV1JW411i731
6)编程语言

学完基础课,就要学编程语言了,也只有学了编程语言,我们程序员才能写出有应用价值的程序,才能在毕业后找到一份称心如意的工作。如果时间充足的话,我建议先学习 C 语言打好基础,然后再学 C++ 或者 Java 作为工作语言。

学习 C 语言的话,我推荐浙江大学的翁恺教授的课程,讲得非常棒,我已经是第 3 次推荐了吧。132 小节,每节课差不多 10 分钟,学习起来很轻松。老师背后的书是真的多,有不少是英文原版的,我偷偷地买了好几本,哈哈。
在这里插入图片描述
视频地址如下所示:

https://www.bilibili.com/video/BV19W411B7w1
学习 C++ 的话,推荐侯捷老师的全家桶。不过,由于版权问题,B 站上已经全部下架了,很可惜。不过,油管上还可以看,直接搜「侯捷」就可以了。基本上看过的人都说好,强烈推荐。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值