程序阅读理解题目(高中语文版,附答案)
来源: http://blog.renren.com/blog/232342242/848626331
【原文】
1 #include <stdio.h>
2
3 int fac(int n){
4 if ( n == 1 ){ ///////////////////
5 return 1 ; ///////////////////
6 } else { /////////////////////////
7 return n * fac(n-1) ; ////////
8 } ////////////////////////////////
9 }
10
11 int main(){
12 printf("%d\n", fac(5)) ;
13 printf("%d\n", fac(6)) ;
14 printf("%d\n", fac(7)) ;
15 printf("%d\n", fac(8)) ;
16 return 0 ;
17 }
【题目】
1、请解释第1行的作用。
2、改错别字。请指出第二段话中的一个错别字并改正。
3、作者在第三段第一句中的“main”有何用意?
4、最后一句“return 0”非常高妙,试赏析。
5、我们知道,行注释用“//”就行了,请分析第二段中多余“/”好在哪里。
6、分析第二段使用的修辞手法。
7、第三段中,printf的结构重复出现,试分析作者为什么不用一个循环?
8、给本文起一个恰当的标题。
【参考答案】
1、第1行交代了的背景资料,为后文描写printf买下伏笔。
2、第3行的左括号误写为全角,应更正为半角。
3、“main”的意义在于,提醒读者该段是本文的主要段落,含有本文的中心思想。
4、且看第11行,该函数表示,它要返回一个int。“return 0”中的0也是一个int,前后呼应。int抽象,0具体,这是虚实结合的写作手法。本文以此句为总结,画龙点睛。高,实在是高。
5、通过阅读,我们发现第二段是计算最密集的部分,乃本文高潮。以多余的“/”作为背景,一方面行文整齐,另一方面烘托出紧张的气氛。读罢此段,心情跟着计算量所变化,有种人机合一之感。故好!
6、我们通过第7行来分析该段。第一重,5 * fac(4);第二重,4 * fac(3);第三重,3 * fac(2);……。54,43,32……。54,43,32……。不难看出,这是顶针的修辞手法!
(注:某些文献将这种修辞手法叫做“递归”,砖家组认为,“递归”的叫法虽能表意,但缺乏艺术感,故标准答案为“顶针”,答“递归”者赏1e-6的动笔分)
7、这其实是排比句式,反复强调本文将print什么东西这一主旨,气势磅礴,句式工整,读来荡气回肠。
8、标题:救救那些孩子。
(注:因该小问过于开放,故该问不设分值,仅供考生娱乐)
【1e-6分的答案】
1、尼玛不要它能编译过吗?有些编译器默认include了,可以编过的,尼玛这行就没有作用了啊。
2、尼玛编译一下不就告诉你哪里不对了。
3、尼玛没有main链接到哪里?编个.o出来当花瓶啊。
4、尼玛想return 250也没人说你啊。
5、尼玛看不出来哪里好,全部删掉。
6、尼玛就一普通的不加修饰的递归。修辞?
7、这尼玛有两种可能:1、为了提高非常微量的效率;2、作者作为人肉编译器,已经将循环展开。
8、标题:救救那些孩子。