周三下午,C语言课结束之后,辅导员李老师把两个班的人留下来开了个简短的班会。
"说个事,"李老师站在讲台上,手里拿着一张表格,"咱们计算机系一班和二班需要选一个课代表,负责收作业、跟教授沟通之类的。有没有人自愿的?"
教室里沉默了三秒钟。
然后所有人都开始假装看手机、翻课本、整理书包——总之就是没有人抬头。
课代表这活儿,说白了就是跑腿的。要收作业、要传话、有时候还得替同学挨骂。好处嘛,基本没有。
"没人愿意?"李老师的眉头微微皱了起来。
赵明宇在底下小声嘀咕:"谁愿意干这个,又没学分加。"
陈小东更直接:"费力不讨好的活儿,打死我也不干。"
周浩然推了推眼镜,居然也破天荒地低下了头——虽然他是学霸,但他最怕这种"社交型"的工作。
李老师的目光在教室里扫了一圈,最后落在了最后一排靠墙的位置。
"那个……陆辰?"
陆辰心里咯噔一下。
"我看你上课挺认真的,平时也不怎么说话,应该是个靠谱的人。"李老师说得理所当然,"课代表你来当,怎么样?"
"我?"陆辰愣住了。
周围的同学瞬间来了精神,不等陆辰反应过来,就有人开始起哄。
"陆辰可以啊,老实人!"
"对对对,陆辰最合适了!"
"全票通过!课代表陆辰!"
这帮人根本不是觉得陆辰"合适",纯粹是庆幸被选中的不是自己。
陆辰张了张嘴,想说点什么拒绝的话,但看着李老师那副"就你了"的表情,又看了看周围同学那一张张如释重负的脸——
他叹了口气:"好吧。"
"行,那就这么定了。"李老师满意地点了点头,"对了,下周一C语言课之前,你把上周布置的作业收齐了交给周教授。"
说完她就走了,留下陆辰一个人坐在最后一排,面对全班同学投来的同情目光。
赵明宇凑过来拍了拍他的肩膀:"辰哥,节哀。"
"滚。"陆辰难得爆了句粗口。
陈小东在旁边笑得直不起腰:"课代表大人,以后作业借我抄抄呗?"
"自己写。"
"哎哟,新官上任三把火啊?"
陆辰没理他们,低头收拾书包。心里却在想——课代表就课代表吧,反正也没什么别的损失。
他不知道的是,这只是开始。
周五下午的C语言课,陆辰第一次体会到了"课代表"这个身份的分量。
周教授照例在上课前五分钟走进教室,把教案往讲台上一放,目光扫了一圈,最后定格在陆辰身上。
"课代表。"
陆辰条件反射地站了起来:"到。"
"上周布置的五道编程题,收齐了没有?"
"收齐了,周教授。"陆辰从书包里拿出一沓作业本,走上讲台交了上去。
周教授翻了翻,微微点了点头,没说什么。
陆辰松了口气,准备坐回去。
"等一下,"周教授忽然叫住他,"既然你是课代表,那你应该对上周讲的内容掌握得不错。来,我问你一个问题。"
陆辰的脚步顿住了。
全班的目光再次集中到他身上。
赵明宇在底下用口型说:"加油。"
陈小东则做了一个"自求多福"的手势。
周教授推了推眼镜,慢悠悠地说:"我们上周讲了循环结构。for循环和while循环的区别是什么?在什么情况下应该选择使用哪个?请用具体的代码示例来说明。"
陆辰的脑子飞速运转。
这个问题……他知道大概的意思。for循环适合已知循环次数的场景,while循环适合条件判断的场景。但是要他当场写出代码示例来说明——
他犹豫了几秒钟,磕磕巴巴地说:"for循环……适合循环次数已知的情况,while循环适合……不确定循环次数的情况。具体代码的话……"
他说不下去了。
因为他发现自己虽然记住了概念,但真要写代码的时候,脑子里一片混乱。for循环的三个表达式怎么排列来着?分号后面该写什么?循环体的大括号放在哪里?
教室里安静了几秒。
然后角落里传来一个不大但足够让全班听到的声音:"课代表连这个都答不上来?"
说话的是二班的一个男生,叫孙鹏,平时就爱挑事。
陆辰的脸一下子红到了耳根。
周教授倒是没什么特别的表情,只是淡淡地说:"概念说得对,但代码写不出来,说明你只是背了定义,没有真正理解。坐下吧,课后好好练练。"
陆辰坐了下来,感觉自己屁股底下像坐了一排钉子。
赵明宇在旁边小声安慰:"没事没事,周教授就是这样,嘴毒但不记仇。"
陈小东也凑过来说:"那个孙鹏就是个傻逼,别理他。"
但陆辰心里清楚,人家说的没错。他确实没写出来。
作为课代表,答不上来教授的问题,这本身就是一种尴尬。
"叮。"
系统的提示音在脑海里响起,这次的声音比平时更清脆、更有分量。
━━━━━━━━━━━━━━━━━━
【挑战任务发布】
任务名称:编程入门挑战
任务描述:在一周内掌握C语言基础编程,能够独立完成至少3道编程题
任务难度:★★☆☆☆
任务时限:7天
任务奖励:天赋+1,砥砺值+20
失败惩罚:天赋-0.5
━━━━━━━━━━━━━━━━━━
天赋+1。
陆辰盯着这个奖励,瞳孔微微一缩。
他现在的天赋是35分,在五个维度里属于偏低的。如果能加1分的话——
他没有犹豫。
"接了。"
当天晚上,陆辰回到宿舍后的第一件事不是洗漱,而是打开C语言课本,从第一章开始重新看。
赵明宇回来的时候看到陆辰正对着电脑屏幕敲代码,差点以为自己走错了宿舍。
"不是吧陆辰?都快十点了你还在学?"
"嗯。"
"你这是受了多大刺激啊……"赵明宇挠了挠头,"不就是被周教授问了一道题吗?至于吗?"
陆辰没抬头:"至于。"
陈小东已经戴上了耳机准备打游戏,听到这话转过头来:"辰哥,你要不要这么卷啊?咱们才大一,以后有的是时间学。"
"以后是以后,现在是现在。"
周浩然从上铺探出头,有些意外地看着陆辰。他本来以为自己是宿舍里最用功的人,没想到陆辰比他还拼。
"需要帮忙吗?"周浩然问。
陆辰想了想:"你知道for循环怎么写吗?我不是说概念,我是说实际写代码的时候,具体的格式和逻辑怎么处理?"
周浩然从上铺爬了下来,拉了把椅子坐到陆辰旁边。
"你看,for循环的基本格式是这样的——"他在陆辰的草稿纸上写了起来,"for(初始化; 条件; 更新){ 循环体 }。比如你要打印1到10,就写for(int i=1; i<=10; i++) { printf(\"%d\\n\", i); }。"
陆辰盯着那行代码看了几秒钟。
之前在课堂上死活理解不了的东西,被周浩然这么一拆解,忽然就通了。
"原来是这样……"陆辰喃喃道。
"对,关键是把每个部分的逻辑理清楚。"周浩然推了推眼镜,"循环就像你跑步——你定一个起点(初始化),定一个终点(条件),每跑一圈就记一下数(更新),跑到终点就停下来。"
陆辰愣了一下。
跑步?
他忽然觉得这个比喻莫名贴切。他每天晚上在操场上跑圈,不就是一个活生生的循环吗?
"我懂了。"陆辰点了点头。
"那while呢?"陆辰追问。
"while更简单,就是先判断条件,满足就执行循环体,不满足就跳过。就像你跑步的时候——'如果还不到五圈,就继续跑'。区别在于for是'从第一圈跑到第五圈',while是'只要不到五圈就继续'。"
陆辰茅塞顿开。
原来编程和跑步一样,核心都是"重复做一件事直到满足某个条件"。
接下来的一个小时,周浩然把基础的循环、条件判断、数组遍历都给陆辰过了一遍。陆辰听得很认真,时不时在草稿纸上记几笔。
十一点半的时候,周浩然打了个哈欠:"差不多了,今天就到这儿吧。你明天自己练练手,写几道题巩固一下。"
"谢谢浩然。"
"没事。"周浩然爬回上铺,拉上被子,三秒钟后就传来了均匀的呼吸声。
陆辰看了看表,已经十一点四十了。
他还想再练一会儿,但系统的今日任务里有一条"23:00前入睡"。
算了,明天再继续。
陆辰洗漱完钻进被窝,闭上眼睛。
脑海里浮现出系统面板。
━━━━━━━━━━━━━━━━━━
【挑战任务:编程入门挑战】
【进度:1/7天】
【今日学习时长:2.5小时】
【掌握程度:基础语法了解20%】
━━━━━━━━━━━━━━━━━━
还有六天。
他一定能完成。
第二天是周四,陆辰破天荒地在早起后没有去跑步,而是把晨跑的时间压缩到1公里,剩下的时间全用来敲代码。
宿舍里,赵明宇打着哈欠从床上爬起来,看到陆辰已经坐在电脑前噼里啪啦地打字了。
"你昨晚几点睡的?"
"十一点半。"
"那你现在几点起的?"
"五点四十。"
赵明宇的表情像是看到了外星人:"五点四十?你疯了?"
陆辰没理他,眼睛盯着屏幕上的代码。
昨天周浩然教的那些东西,他在脑子里过了一遍又一遍,现在已经开始上手写实际的程序了。
第一道题:输入一个整数n,输出1到n的所有偶数。
他打开编辑器,敲下了自己的第一段代码:
```c
#include
int main() {
int n;
scanf("%d", &n);
for(int i=2; i<=n; i+=2) {
printf("%d ", i);
}
return 0;
}
```
编译——运行——
输出正确。
陆辰盯着屏幕上的结果,心里涌起一股奇妙的感觉。
这是他自己写出来的第一段代码。虽然简单得不能再简单,但那种"用逻辑指挥计算机做事"的感觉,让他体会到了一种前所未有的满足感。
原来这就是编程。
不是死记硬背,而是用一种精确的语言去描述你想要的结果。
他忽然觉得,天赋35分的自己好像也没那么笨。
接下来的几天,陆辰像是被打通了任督二脉一样,疯狂地学习编程。
周五:循环嵌套、break和continue的区别。
周六:数组、字符串的基本操作。
周日:函数的定义和调用、递归的初步理解。
每天晚上他都学到十一二点——不对,更准确地说,他每天都卡着23:00的线准时睡觉,然后第二天五点多起来继续学。
宿舍里的三个人看着他这个状态,反应各不相同。
赵明宇的态度从最初的震惊变成了习以为常:"算了,随他去吧,卷王是劝不动的。"
陈小东则是一边打游戏一边感慨:"辰哥你这架势,期末考试怕不是要考满分?"
周浩然最淡定,因为他是唯一一个知道陆辰在做什么的人——每天晚上他都会花半小时帮陆辰答疑,两个人的关系也从"普通室友"变成了"学习搭档"。
周三晚上,距离挑战任务截止还有最后一天。
陆辰坐在电脑前,面前摆着三道编程题——这是他从C语言课本的课后习题里挑出来的中等难度的题目。
第一题:输入一组整数,找出最大值和最小值。
他写了五分钟,编译运行——通过。
第二题:输入一个字符串,统计其中字母、数字和其他字符各有多少个。
他写了十分钟,中间调了两个bug——通过。
第三题:输入一个正整数n,输出n的阶乘。
这道题他犹豫了一下——用循环还是递归?
他想起了周浩然说过的话:"简单问题用循环就行,递归适合那种'大问题可以拆成同样结构的小问题'的情况。"
阶乘n! = n × (n-1) × … × 1,这不就是一个典型的循环问题吗?
```c
#include
int main() {
int n;
long long result = 1;
scanf("%d", &n);
for(int i=1; i<=n; i++) {
result *= i;
}
printf("%lld\n", result);
return 0;
}
```
编译——运行——输入10——输出3628800——
正确。
陆辰长长地舒了一口气。
他看了一眼系统面板。
━━━━━━━━━━━━━━━━━━
【挑战任务:编程入门挑战】
【进度:7/7天】
【累计学习时长:28小时】
【掌握程度:基础语法掌握75%】
【独立完成编程题:12道】
【任务判定:完成!】
━━━━━━━━━━━━━━━━━━
"叮——"
这一次的提示音格外响亮,像是有人在脑海里敲了一下钟。
━━━━━━━━━━━━━━━━━━
【挑战任务完成!】
【奖励发放中……】
【天赋+1:35→36】
【砥砺值+20:当前砥砺值48】
【额外奖励:脑力+0.5(因高强度学习附带提升)】
【当前综合评分:38.7】
━━━━━━━━━━━━━━━━━━
天赋从35提升到了36。
陆辰闭上眼睛感受了一下——好像没有什么特别明显的变化?但又好像有一点。
他重新打开C语言课本,翻到之前一直看不太懂的指针章节。
之前那些绕来绕去的地址、解引用、指针运算,现在看起来居然清晰了不少。虽然还没有到"一看就懂"的程度,但至少不再是完全的天书了。
"天赋这东西……真的能影响理解力?"陆辰喃喃自语。
他忽然想起了小时候听老人说过的话——有的人天生脑子灵,学什么都快。
以前他觉得那是天赋,与生俱来,自己这种普通人羡慕不来。
但现在他发现,天赋也可以后天修炼。虽然慢了点,虽然要付出比别人更多的努力——但总归是在涨的。
陆辰关掉电脑,揉了揉酸涩的眼睛。
十一点二十了。还有四十分钟的"早睡"任务。
他刚准备起身去洗漱,赵明宇的声音忽然从床上传来:"陆辰,你最近是不是在偷偷做什么兼职?"
"没有啊,怎么了?"
"那你哪来这么多精力?白天上课,晚上学编程,早上还早起跑步,你不累的吗?"
陆辰想了想,认真地说:"不累。"
"不累?"赵明宇翻了个身,把手机屏幕对着陆辰,"你看,我刷一个小时短视频都觉得累,你这作息表比996还猛,你跟我说不累?"
陆辰笑了笑,没解释。
有些事不需要解释。就像他不需要告诉赵明宇自己脑子里有个系统,不需要解释每天的自律任务会带来什么样的回报。
"早点睡吧。"他简单地说了一句,钻进了被窝。
闭上眼睛的那一刻,系统面板在黑暗中亮起。
━━━━━━━━━━━━━━━━━━
【周报总结】
本周砥砺值获取:+32
本周综合评分变化:37.1→38.7(↑1.6)
维度变化:
· 颜值:42.5(↑0.4)
· 体魄:31.5(↑0.3)
· 天赋:36(↑1.0)
· 脑力:38.5(↑0.5)
· 魅力:35(未变化)
【解锁成就:初学者之心】
【说明:在一周内从零开始掌握一门编程语言的基础,体现了宿主的学习能力和毅力。】
━━━━━━━━━━━━━━━━━━
陆辰看着那一排数字,嘴角微微上扬。
每一行、每一个小数点后面的变化,都是他用时间、用汗水、用一个个深夜和清晨换来的。
不快,但踏实。
明天还有明天的任务。而他现在需要做的,就是好好睡一觉。
窗外,临江大学的夜空繁星点点。
陆辰不知道的是,明天的C语言课上,一场不大不小的"打脸"正在等着他。
而这场打脸,将彻底改变周教授对他的看法。
本书首发来自 17K小说网 ,第一时间看正版内容!
作者寄语: