程序阅读理解题目(高中语文版,附答案)

来源: 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、标题:救救那些孩子。

原文地址:https://www.cnblogs.com/dabaopku/p/2519698.html