任何规则都是有例外的,如英语名词的复数形式是在后面加上s,但man、knife的复数却不能加s,而是内部元音或辅音发生变化。
第1题:
试题二(共 15 分)
阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。
[说明]
下面的程序按照以下规则输出给定名词的复数形式:
a. 若名词以“y”结尾,则删除 y 并添加“ies” ;
b. 若名词以“s” 、 “ch”或“sh”结尾,则添加“es” ;
c. 其他所有情况,直接添加“s” 。
[C 程序]
#include <stdio.h>
#include <string.h>
char *plural(char *word)
{
int n;
char *pstr;
n = strlen(word); /*求给定单词的长度*/
pstr = (char *)malloc(n+3); /*申请给定单词的复数形式存储空间*/
if (!pstr || n < 2)
return NULL;
strcpy(pstr,word); /*复制给定单词*/
if ( (1) )
{
pstr[n-1] = 'i'; pstr[n] = 'e'; pstr[n+1] = 's'; (2) ;
}
else
if(pstr[n-1]=='s'||pstr[n-1]== 'h' && ( (3) ))
{
pstr[n] = 'e'; pstr[n+1] = 's'; pstr[n+2] = '\0';
}
else
{ pstr[n] = 's'; pstr[n+1] = '\0'; }
(4) ;
}
main( )
{ int i; char *ps;
char wc[9][10] =
{"chair","dairy","boss","circus","fly","dog","church","clue","dish"}
for(i = 0; i < 9; i++) {
ps = (5) ;
printf("%s: %s\n",wc[i],ps); /*输出单词及其复数形式*/
free(ps); /*释放空间*/
}
system("pause");
}
第2题:
第3题:
英语名词“park(公园)”的复数形式是“()”。
A.parkes
B.parks
C.park
D.parkies
第4题:
英语名词的复数的语法意义一般是加上词尾s或es表示,但()组词不能这样类推。
Aknife.man.leaf.woman
Bchair.pen.book.friend
Cpound.bag.sort.weekday
Dhero.pig.room.source
第5题:
英语名词的复数形式一般是加上词尾s或es表示,但()组词不能这样类推。
Aknife man leaf woman
Bchair pen book friend
Cpound bag sort weekday
Dhero pig room source
第6题:
A同化
B异化
C弱化
D脱落
第7题:
第8题:
英语名词“knife(刀子)”的复数形式是“()”。
A.knives
B.knifes
C.knifs
D.knife
第9题:
英语表示复数的方法就是在所有名词后面加上词尾s。
A对
B错
第10题:
任何规则都是有例外的,如英语名词的复数形式是在后面加上s,但man、knife的复数却不能加s,而是内部元音或辅音发生变化。
A对
B错