问题 阅读理解与欣赏

阅读下列文言文语段,完成相关题目。

  子曰:“学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?”(《学而》)

  曾子曰:“吾日三省吾身:为人谋而不忠乎?与朋友交而不信乎?传不习乎?”(《学而》)

  子曰:“温故而知新,可以为师矣。”(《为政》)

  子曰:“由,诲女知之乎!知之为知之,不知为不知,是知也。”(《为政》)

  子曰:“三人行,必有我师焉。择其善者而从之,其不善者而改之。”(《述而》)

  曾子曰:“士不可以不弘毅,任重而道远。仁以为己任,不亦重乎?死而后已,不亦远乎?”(《泰伯》)

  子曰:“岁寒,然后知松柏之后凋也。”(《子罕》)

  子贡问曰:“有一言可以终身行之者乎?”

  子曰:“其恕乎!己所不欲,勿施于人。”(《卫灵公》)

1、《论语》是记录_____________言行的书。共______篇。孔子名______,字______。

2、解释下列划线词的意思。

(1)人不知而不 愠:_____________

(2)温而知新  故:_____________

(3)学而不思则 罔:_____________

3、指出下列句子中的通假字并解释。

(1)学而时习之,不亦说乎?。________________

(2)由,诲女知之乎!知之为知之,不知为不知,是知也。________________

4、用现代汉语翻译下列文言句子。

(1)温故而知新,可以为师矣。

____________________________________________

(2)己所不欲,勿施于人。

____________________________________________

(3)择其善者而从之,其不善者而改之。

____________________________________________

(4)吾日三省吾身。

____________________________________________

5、找出文中你最欣赏的一句话,结合自己的生活体验谈谈体会。

____________________________________________

答案

1、孔子及其弟子 20 丘 仲尼

2、(1)生气、发怒  (2)旧的知识  (3)有害

3、(1)说通“悦”,愉快    (2)知通“智”,聪明,智慧

4、(1)复习所学的知识,从中获得新的理解与体会,就可以当老师了。

  (2)自己不想做的事情,不要施加在别人(身上)。

  (3)选择他善的方面向他学习,看到他不善的方面就对照自己改正自己的缺点。

  (4)我每天多次反省自己

5、“略”。言之成理即可。

单项选择题 A1/A2型题
问答题

【说明】
【C程序1】用回溯算法来产生由0或1组成的2m个二进位串,使该串满足以下要求。
视串为首尾相连的环,则由m位二进制数字组成的2m个子序列,每个可能的子序列都互不相同。例如,如果m=3,在串11101000首尾相连构成的环中,由3位二进制数字组成的每个可能的子序列都在环中恰好出现一次,它们依次是111,110,101,010,100,000,001,011,如图2-14所示。


【C程序2】是求“背包问题”的一组解的递归算法程序。“背包问题”的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为W1,W2,…,Wn,希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于S。
【C程序1】
#define N 1024
#define M 10
int b [N+M-1]
int equal(int k, int j int m)
int i;
for(i=0; i<m; i++
if ( b[ k + i] (1) )
return 0;
return 1;
int exchange (int k, int m, int v)
while ( b[ k + m - 1 ) == v )
b[ kncm--i]=! v (2) ;

(3) =v;
return k;init ( iht v)
int k
for( k = 0;K = N + M - 1;k++)
b[k] = v;main ( )
int m, v, k, n, j;
printf (’Enter m (l<m<10) , v v=0, v=1)\ n") ;
scanf (" %d%d , &m, &v);
n = 0x01 << m;
init (!v);
k=0;
while( (4) < n)
for (j=0;j<k;j++)
if (equal (k, j, m))
k=exchange (k, m, v)
j= (5) ;

for (k= 0 ;k<n ;k++ )
print (" %d\ n" , b[k]) ;
【C程序2】
#include<stdio. h>
#define N 7
#define S 15
int w[N+1] = 0, 1, 4, 3, 4, 5, 2, 7;
int knap (int S, int n)
if (S == 0)
return 1;
if (s<0 || (s>0 && n<1))
return 0;
if ( (6) ))
printf( "4d", w[n]);
return 1;

return (7) main ( )
if (knap (S, N)
printf("OK:\n");
else
printf("NO!\n")