一张写着'毫无品味'四个字的图片

英语语法综述

英语语法核心框架梳理 这份笔记旨在构建一个清晰、系统的英语语法知识体系。将从最宏观的句子结构入手,逐步深入到具体的词法和动词系统,帮助理解英语语法的底层逻辑。 第一部分:句子核心结构——五大基本句型 任何一个完整的英语句子都必须包含主语 (Subject)和谓语 (Predicate)。 主语:句子的发出者或描述的对象,通常由名词、代词等充当。 谓语:说明主语的动作或状态,其核心是动词 (Verb)。 基于谓语动词性质的不同,所有简单句都可以归纳为以下五种基本结构。 句型一:S + V (主语 + 谓语) 结构:主语 (Subject) + 不及物动词 (Intransitive Verb) 说明:谓语动词本身能表达完整的意思,不需要承受动作的对象(宾语)。动作仅限于主语自身。 示例: The sun rises. (太阳升起。) He smiled. (他笑了。) 句型二:S + V + O (主语 + 谓语 + 宾语) 结构:主语 (Subject) + 及物动词 (Transitive Verb) + 宾语 (Object) 说明:谓语动词所表示的动作需要一个直接的承受者,即宾语。 示例: She reads a book. (她读一本书。) I love English. (我爱英语。) 句型三:S + V + iO + dO (主语 + 谓语 + 间接宾语 + 直接宾语) 结构:主语 (S) + 及物动词 (V) + 间接宾语 (indirect Object) + 直接宾语 (direct Object) 说明:这类动词需要两个宾语。直接宾语是动作的直接对象(物),间接宾语是动作的接收者(人)。记忆技巧:动词 + 给谁 + 什么。 示例: My father bought me a new phone. (我父亲给我买了一部新手机。) He told us a story. (他给我们讲了一个故事。) 句型四:S + V + O + C (主语 + 谓语 + 宾语 + 宾语补足语) 结构:主语 (S) + 及物动词 (V) + 宾语 (O) + 宾语补足语 (Object Complement) 说明:宾语补足语用于补充说明宾语的状态、身份或特征。宾语和宾补在逻辑上构成主谓或主表关系(O+C = 一个完整信息)。 示例: The news made him happy. (这个消息让他很高兴。) -> 逻辑上 him is happy We elected him our monitor. (我们选他当我们的班长。) -> 逻辑上 him is our monitor 句型五:S + V + P (主语 + 系动词 + 表语) 结构:主语 (Subject) + 系动词 (Linking Verb) + 表语 (Predicative) 说明:系动词没有实际动作意义,主要起连接作用,将主语和表语联系起来,说明主语的身份、性质或状态。表语也叫主语补足语。 示例: He is a doctor. (他是一名医生。) The food tastes delicious. (食物尝起来很美味。) 第二部分:句子成分的扩展——修饰语 在基本句型骨架之上,我们可以添加修饰成分使句子信息更丰富。 ...

September 11, 2025 · 3 min · xiao

补考内容

7-1 栈操作的合法性 #include <stdio.h> int main() { int n,m,c,i,length; scanf("%d %d ",&n,&m); for(i=0;i<n;i++){ char a; int c=0,length=0; while((a=getchar())!='\n'){ if(a=='S'){ length++; if(length>m){ c=1; } } if(a=='X'){ length--; if(length<0){ c=1; } } } if(c==0&&length==0){ printf("YES\n"); }else{ printf("NO\n"); } } return 0; } 7-3 合并有序数组 #include <stdio.h> #include <stdlib.h> int main(){ int m,n,i; int *arr1,*arr2; scanf("%d",&m); arr1=(int*)malloc(m*sizeof(int)); if(arr1==NULL){ return 1; } for(i=0;i<m;i++){ scanf("%d",&arr1[i]); } arr2=(int*)malloc(n*sizeof(int)); scanf("%d",&n); if(arr2==NULL){ free(arr1); return 1; } for(i=0;i<n;i++){ scanf("%d",&arr2[i]); } int j=0; i=0; while(i<m || j<n){ if(i>0 || j>0){ printf(" "); } if(i<m && (arr1[i]<=arr2[j] || j>=n)){ printf("%d",arr1[i]); i++; }else{ printf("%d",arr2[j]); j++; } } printf("\n"); free(arr1); free(arr2); return 0; } 7-4 顺序表的查找 #include <stdio.h> #include <stdlib.h> int main() { int n,i; int *arr1; scanf("%d", &n); arr1 = (int*)malloc(n * sizeof(int)); for(i=0;i<n;i++){ scanf("%d", &arr1[i]); } int target; while(scanf("%d", &target) == 1 && target != -1){ int found = 0; for(i=0;i<n;i++){ if(arr1[i] == target){ printf("%d ",i+1); found = 1; break; } } if(found==0){ printf("%d ",0); } } free(arr1); return 0; } 6-4 统计二叉树叶子结点个数 int LeafCount ( BiTree T) { if(T == NULL){ return 0; } if(T->lchild == NULL && T->rchild == NULL){ return 1; } else{ return LeafCount(T->lchild) + LeafCount(T->rchild); } } 6-1 二叉排序树的查找操作 BSTree SearchBST(BSTree T, ElemType e) { if(T == NULL || T->data == e){ return T; } if(T->data > e){ return SearchBST(T->lchild, e); } else { return SearchBST(T->rchild, e); } } 6-2 求二叉树的高度 int GetHeight( BinTree BT ) { if(BT==NULL){ return 0; }else{ int lt,rt,result; lt=GetHeight(BT->Left); rt=GetHeight(BT->Right); if(lt>rt){ result=lt; }else{ result=rt; } return result+1; } } 6-3 统计二叉树结点个数 int NodeCount ( BiTree T) { int count=0; if(T!=NULL){ count++; count+=NodeCount (T->Left); count+=NodeCount (T->Right); } return count; } 6-5 先序输出叶结点 void PreorderPrintLeaves( BinTree BT ) { if(BT==NULL){ return; }else{ if(BT->Left==NULL && BT->Right==NULL){ printf("%c",BT->Data); } PreorderPrintLeaves(BT->Left); PreorderPrintLeaves(BT->Right); } } R6-2 另类循环队列 bool AddQ(Queue Q,ElementType X){ if(Q->Count==Q->MaxSize){ printf("Queue Full\n"); return false; } Q->Data[(Q->Count+Q->Front)%Q->MaxSize]=X; Q->Count++; return true; } ElementType DeleteQ(Queue Q){ if(Q->Count==0){ printf("Queue Empty\n"); return ERROR; } int a=Q->Data[Q->Front]; Q->Count--; Q->Front=(Q->Front+1)%Q->MaxSize; return a; } R6-9 在一个数组中实现两个堆栈 Stack CreateStack(int MaxSize) { Stack S; S = (Stack)malloc(sizeof(struct SNode)); S->Data=(ElementType*)malloc(MaxSize*sizeof(ElementType)); S->MaxSize=MaxSize; S->Top1=-1; S->Top2=MaxSize; return S; } bool Push(Stack S,ElementType X,int Tag) { if(S->Top2-S->Top1==1){ printf("Stack Full\n"); return false; }else{ if(Tag==1){ S->Top1++; S->Data[S->Top1]=X; return true; } if(Tag==2){ S->Top2--; S->Data[S->Top2]=X; return true; } } } ElementType Pop(Stack S,int Tag) { if(Tag==1){ if(S->Top1==-1){ printf("Stack %d Empty\n",Tag); return ERROR; } int a=S->Data[S->Top1]; S->Top1--; return a; } if(Tag==2){ if(S->Top2==S->MaxSize){ printf("Stack %d Empty\n",Tag); return ERROR; } int a=S->Data[S->Top2]; S->Top2++; return a; } } R6-8 二叉树的三种遍历(先序、中序和后序) void Preorder(BiTree T) { if(T==NULL){ return; }else{ printf(" %c",T->data); Preorder(T->lchild); Preorder(T->rchild); } } void Inorder(BiTree T) { if(T==NULL){ return; }else{ Inorder(T->lchild); printf(" %c",T->data); Inorder(T->rchild); } } void Postorder(BiTree T) { if(T==NULL){ return; }else{ Postorder(T->lchild); Postorder(T->rchild); printf(" %c",T->data); } } R6-7 输出二叉树的所有叶子 void leaf(Bptr p) { if(p==NULL){ return; }else{ if(p->Lson==NULL&&p->Rson==NULL){ printf("%d ",p->data); } leaf(p->Lson); leaf(p->Rson); } } R6-10 递增的整数序列链表的插入 List Insert(List L,ElementType X) { List a; a=L; while(1){ if(a->Next!=NULL&&a->Next->Data>=X){ List newNode; newNode=(List)malloc(sizeof(struct Node)); newNode->Next=a->Next; newNode->Data=X; a->Next=newNode; return L; }else{ if(a->Next==NULL){ List newNode; newNode=(List)malloc(sizeof(struct Node)); newNode->Next=NULL; newNode->Data=X; a->Next=newNode; return L; } } a=a->Next; } } R6-12 统计二叉树度为1的结点个数 int NodeCount(BiTree T) { if(T==NULL){ return 0; } int count = 0; if((T->lchild!=NULL&&T->rchild==NULL)||(T->lchild==NULL&&T->rchild!=NULL)){ count=1; } return count+NodeCount(T->lchild)+NodeCount(T->rchild); }

August 24, 2025 · 3 min · xiao

我们原神真是太厉害啦

喜欢我原神吗? 你的素养很差,我现在每天玩原神都能赚150原石,每个月保底5000原石的收入,也就是现实生活中每个月5000美元的收入水平,换算过来最少也30000人民币,虽然我只有18岁,但是已经超越了中国绝大多数人(包括你)的水平,这便是原神给我的骄傲的资本。

August 8, 2025 · 1 min · xiao