20210422

回顾 | GS2-C1-660-121~130 | Linux系统编程 | 数据结构-串(三)| 田静语法C5

Table of Contents

回顾

恋词复习

  • scrutinize v.详细检查;仔细观察;细读;细阅
  • probe n.探索,查究;探针;探测器
  • prevail v.获胜,占优势;流行;盛行
  • prone adj.有..倾向的;俯卧的
  • remold v.改造;改铸

GS2-C1-660-121~130

今天做了10道第一章的选择题,总体来说选择题对概念的考察性很强。看笔记吧。

Linux系统编程

上课还是听了课记录一些东西把。

函数原型:int sprintf(char *str, const cahr *format...)
功能:按照format中指定的格式,使用...中的数据组装字符串存入到str
@str:用于存储组装好的字符串
@format:组装字符串的格式。

看个例子:

#include <stdio.h>
//...
typedef struct student
{
char sno[16];
char sname[16];
char sex[4];
int age;
}stu_t;
stu_t stus3[]=
{
[0] = {'1','zhangshan','F',18};
[1] = {'2','lisi','M',19};
[2] = {'3','wangwu','F',16},
};
char *errmsg = NULL;
const char *format = "insert into student values('%s','%s','%s','%d');";
char insert_sql[128] = "";
unsigned int i;
for(i = 0; i < 3; ++i)
{
//1.组装insert_sql
memset(insert_sql,0,sizeof(insert_sql));
sprintf(insert_sql,format,stus[i].sno,stu[i].sname,stu[i].sex,stu[i].age);
//2.执行insert_sql
if(sqlite3_exec(ppdb,insert_sql,NULL,NULL,&errmsg) != SQLITE_OK)
{
perror("sqlite insert error");
sqlite3_close(ppdb);
return -1;
}
}
sqlite3_close(ppdb);
}

数据结构-串(三)

求解next数组

  1. T="abcdex"T="abcdex"
j 123456
模式串T abcex
next[j] 011111
  • 当j=1时,next[1]=0
  • 当j=2时,j由1到j-1就只有字符“a”,属于其他情况next[2]=1;
  • 当j=3时,j由1到j-1串是“ab”,显然“a”与“b”不相等,属其他情况,next[3]=1;
  • 以后同理,所以最终此T串的next[j]为011111。
void getNext (Str substr, int next[])
{
int j= 1,t;
next [1] = 0;
while(j < substr.length)
{
if (substr.ch [j] == substr.ch[t])
{
next[j+1] = t+1;
++t;
++j;
}
else
t = next[t];
}
}

KMP算法代码

int KMP(Str str, Str substr, int next[])1
{
    int i=1,j=1;
    while(i <= str.length && j <= substr.length)
    {
        if(j-=0 || str.ch[i] == substr.ch [j])
        {
            ++i;
            ++j;
        }
        else
        {
            j=next[j];
        }
    }
    if(j > substr.length)
        return i-substr.length;
    else
        return 0;
}

田静语法C5-特殊句式

倒装

只需要掌握:主谓倒装。主谓倒装又分为全部倒装和部分倒装

  • 全部倒装中特殊句型: There be句型
  • 部分倒装
    • 否定副词或词组位于句首
    • only位于句首
    • 虚拟条件句省略if,出现频率不高

强调

除了形容词和动词其他都可以强调。

虚拟

所谓“虚拟”只是谓语动词的特殊变化,通过把谓语动词“变态”(改变时态),即可表达虚拟。

  • if虚拟条件句:从句往前推,主句四加一,将来同现在。
  • 名词性从句的虚拟。对应主句中有表示“建议、命令、要求”的词(无论词性是什么),名词性从句都需要虚拟。名词性从句的虚拟要把谓语动词变长should+动词原形,并且should可以省略。