计算机二级C语言疑难

news2024/9/24 6:25:19

1.strcpy函数

在C语言中strcpy()函数会将字符串2(包括字符串结束字符/0)的函数覆盖到字符串1,如果字符串1没有足够的空间容纳字符串会导致缓冲溢出的错误

例题:程序设计

规定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串最前面连续的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。例如,字符串中的内容为:*******A*BC*DEF*G****,若n的值为4,删除后,字符串中的内容应当是:****A*BC*DEF*G****;若n的值为8,则字符串中的内容仍为:*******A*BC*DEF*G****。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。注意:部分源程序存在文件progl.c中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

#include <stdio.h>
void  fun( char *a, int  n )
{
  /* 以下代码仅供参考 */
  int i=0,j,k=0;
  while(a[k]=='*') k++; /* k为统计*字符个数 */
  if(k>n)
  {
    i=n;j=k;
    /* 以下完成将下标为k至串尾的字符前移k-n个位置 */
	

  }
}

main()
{  char  s[81];  int  n;void NONO ();
   printf("Enter a string:\n");gets(s);
   printf("Enter n :  ");scanf("%d",&n);
   fun( s,n );
   printf("The string after deleted:\n");puts(s);
   NONO();
   getchar();
}
void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
  FILE *in, *out ;
  int i, n ; char s[81] ;
  in = fopen("..\\..\\in.dat","r") ;
  out = fopen("..\\..\\out.dat","w") ;
  for(i = 0 ; i < 10 ; i++) {
    fscanf(in, "%s", s) ;
    fscanf(in, "%d", &n) ;
    fun(s,n) ;
    fprintf(out, "%s\n", s) ;    
  }
  fclose(in) ;
  fclose(out) ;
}

答案

#include <stdio.h>
void  fun( char *a, int  n )
{
  /* 以下代码仅供参考 */
  int i=0,j,k=0;
  while(a[k]=='*') k++; /* k为统计*字符个数 */
  if(k>n)
  {
    i=n;j=k;
    /* 以下完成将下标为k至串尾的字符前移k-n个位置 */
	strcpy(&a[0],&a[k-n]);

  }
}

main()
{  char  s[81];  int  n;void NONO ();
   printf("Enter a string:\n");gets(s);
   printf("Enter n :  ");scanf("%d",&n);
   fun( s,n );
   printf("The string after deleted:\n");puts(s);
   NONO();
   getchar();
}
void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
  FILE *in, *out ;
  int i, n ; char s[81] ;
  in = fopen("..\\..\\in.dat","r") ;
  out = fopen("..\\..\\out.dat","w") ;
  for(i = 0 ; i < 10 ; i++) {
    fscanf(in, "%s", s) ;
    fscanf(in, "%d", &n) ;
    fun(s,n) ;
    fprintf(out, "%s\n", s) ;    
  }
  fclose(in) ;
  fclose(out) ;
}

2.结构图的深度、宽度、最大扇入数、最大扇出数

  • 深度‌指的是结构图自顶向下计算的层数,也就是模块的层数。它反映了系统的层次结构,深度较小的结构通常意味着系统较为简单,易于理解和维护。

  • 宽度‌指的是一层中最大的模块个数,也就是同一层中模块的总个数的最大值。宽度较大的结构可能意味着系统功能较为分散,需要更好的协调和管理。

  • 最大扇入数‌是指一个模块直接上属模块的个数,即调用某个模块的模块个数,也就是模块头顶上的连接数。它反映了模块之间的依赖关系,较大的扇入数可能意味着该模块依赖于较多的其他模块,增加了系统的复杂性。(最多引入的线)

  • 最大扇出数‌则指一个模块直接下属模块的个数,也就是一个模块输出线条的最大数目。它表示一个模块对其他模块的控制或影响程度,扇出数较大的模块可能是系统的关键部分,对系统的运行有着重要的影响。(最多引出的线)

例题

某系统结构图如下所示,他的深度、宽度、最大扇出数、最大扇入数分别是多少

深度为3

宽度为3

最大扇出数为(某系统)

最大扇入数为3(功能n.1)

3.malloc函数

        ~是C语言中用于动态分配内存的函数。他的主要功能是提供指定的字节数分配内存,并返回指向该内存块的指针

在使用malloc函数之前一定要计算字节数,malloc开辟的是用户所需求的字节数大小的空间,在开辟一段空间之后,系统会在这段空间之前做一个标记(0或1),如果标记为1则表明此空间正在被使用

malloc函数返回的是一个无类型指针,必须在前面加上指针类型强制转换才可以使用

指针自身=(指针类型*)malloc(sizeof(指针类型)*内存空间)

4.front和rear

front(队头指针)

rear(队尾指针)

当对头和队尾指针指向同一个元素的时候,队列为空或者队列为满

例题:

循环队列的存储空间为Q(1:100),初始状态为front=rear=100。经过一系列正常的入队与退队操作后,front=rear=99,则循环队列中的元素个数为()。

A.0或100

B.1

C.2

D.99

答案A

5.数据库系统的基本特点

数据库技术是在文件系统基础上发展产生的,两者都是以数据文件的形式组织数据,但是数据库系统在文件系统之上加入了DAMS(数据库管理系统)对数据库进行管理,从而使得数据库系统具有一下特点:

数据的继承性;数据的高共享性和低冗余性;数据独立性;数据统一管理与控制

例题

下列叙述中正确的是()。

A.数据库系统可以减少数据冗余和增强数据独立性,而文件系统不能

B.数据库系统能够管理各种类型的文件,而文件系统只能管理程序文件

C.数据库系统可以管理庞大的数据量,而文件系统管理的数据量较少

D.以上选项都不正确

选择A

6.在关系数据库设计中,关系模式设计属于逻辑设计

数据库的逻辑设计主要工作是将E-R图装换成RDBMS中的关系模式。所以关系模式属于逻辑设计

在关系数据库设计中,关系模式设计属于()。

A.需求分析

B.概念设计

C.物理设计

D.逻辑设计

选择D

7.

在关系数据库中,投影(Projection)和选择(Selection)是两种基本的关系代数操作,用于从已有的关系(表)中获取信息。

  1. 投影(Projection)操作

    • 投影操作使用符号 π 表示。
    • 它的作用是从关系中选择出某些列(属性),生成一个新的关系,这个新关系只包含这些选定的列。
    • 投影操作可以去掉重复的行,因为关系中的每个元组(行)都是唯一的。
  2. 选择(Selection)操作

    • 选择操作使用符号 σ 表示。
    • 它的作用是从关系中选择出满足特定条件的行(元组)。
    • 选择操作不会改变原有行的顺序,也不会去掉重复的行。
  3. 连接(Join)操作

    符号:⨝

        功能:基于共同属性将两个关系结合起来。通常分为内连接(Natural Join, θ-Join)和外连接(Outer Join)

        内连接(Inner Join):

        内连接返回两个表中匹配连接条件的行。只有当两个表中都有匹配的行时,结果表中才会包含这些行。内连接是最常用的连接类型。

        外连接(Outer Join):

        外连接返回至少一个表中满足连接条件的所有行,即使另一个表中没有匹配的行。外连接分为左外连接(Left Outer Join)、右外连接(Right Outer Join)和全外连接(Full Outer Join)。

左外连接返回左表的所有行,即使右表中没有匹配的行;右外连接则相反;全外连接返回两个表中的所有行。

逻辑或(OR):

符号:∨ 或者 ||

功能:当两个条件中的至少一个为真时,结果为真。

逻辑与(AND)

符号:^

功能:当两个条件中都为真,结果为真

逻辑非(NOT):

符号:¬

功能:反转条件的真值,如果条件为真,则结果为假;如果条件为假,则结果为真。

逻辑异或(XOR):

符号:⊕

功能:当两个条件中的一个为真,另一个为假时,结果为真;如果两个条件都为真或都为假,结果为假。

例题

表示学生选修课程的关系模式是SC(S#,C#,G),其中S#为学号,C#为课程号,G为成绩,检索选修了课程号为2的课且成绩不及格的学生学号的表达式是()。

A.σc#=2^G<60(SC)

B.σG<60(SC)

Cσs#(σc#=2^G<60(SC)

D.πs#(σc#=2(SC))

答案:由题可知显示符合条件的学生学号(S#),首先用到投影操作排除D,其次是两边条件都为真,逻辑与^所以选择C

答案:本题检索的是病人姓名Pn,故B、D选项错误。检索在1号医生处就诊的男性病人姓名,选项C中未筛选病人性别,故选项C错误。所以本题答案为A。

8.结构体的应用

在C语言中使用struct关键字定义结构体,并指定结构体的名称和成员变量

使用“.”运算符用来访问结构体变量

例题

#include <stdio.h>
#include<stdlib.h>
#include <string.h>
struct stu
{
    char *name,gender;
    int score;
}
main()
{
    stu a={NULL,'m',290} ,b;
    a.name=(char *)malloc(10) ;
    strcpy (a.name,"Zhao");            //strcpy复制字符串函数,将字符串"zhao"复制给a.name
    b=a;
    b.gender='f';
b.score=350;
printf("%s,%c, %d,", a.name, a. gender, a.score);
printf("%s,%c, %d\n", b.name, b.gender, b.score) ;
}

这段程序的运行结果是什么?

答案:Zhao,m,290,Zhao,f,250

9.malloc函数

这个函数向内存申请一个连续可用的空间,并返回指向这块空间的指针。

如果开辟成功,则返回一个指向开辟好空间的指针。

如果开辟失败,则返回一个NULL指针,因此malloc的返回值一定要做检查。

返回值的类型是void* ,所以malloc函数并不知道开辟空间的类型,具体在使用的时候由使用者自己决定。

如果size为0,malloc的行为是标准还是未定义的,由编译器决定。

malloc申请的空间,当程序退出时,要还给操作系统,当程序不退出,动态申请的内存,不会主动释放,需要用free函数来释放。
malloc申请到空间后,直接返回这个空间的首地址,不会初始化空间的内容

malloc开辟的空间具有独立性,如果给一个变量使用malloc开辟空间后,赋值不会影响到这个变量之前的值

例题

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct stu                    //typedef可以为已知关键字、未知数据类型、函数指针取别名
{
    char *name,gender;
    int score;
}STU;//别名
void f(char*p)
{
    p=(char*)malloc(10);
    strcpy(p,"Qian");
}
main()
{
    STU a={NULL,'m",290},b;
    a.name=(char*)malloc(10);
    strcpy ( a.name,"Zhao");
    b=a;
    f(b.name);
    b.gender= 'f'; b.score = 350;
    printf("%s,%c, %d,",a. name,a.gender,a.score);
    printf("%s,%c,%d\n",b.name,b.gender,b.score) ;
}

程序结果?

Zhao,m,290,Zhao,f,350

10.

在C语言中并不存在平方运算符

"^"是异或运算符。“安慰异或”运算的规则是两个运算数中相对应的二进制位上,如果相同位0,不同为1

在C语言中使用pow()函数进行计算任意次方,pow(x,2)==x^2

使用sqrt进行开方运算sqrt(4)=2

#include<stdio.h>
main()
{
    int c;
    c=10^5;
    printf("%d\n",c);
}

输出结果?

15

11. 文件操作

(1)file是一个系统定义的结构体类型。通过使用 FILE 类型的指针,程序可以对文件进行打开、读取、写入和关闭等操作。

FILE *fp = fopen("example.txt", "r");

 (2)fopen函数用于打开文件并返回一个指向给文件的指针,以便后续对该文件进行读写操作

fopen(文件名称,文件打开格式)

  • 如果文件位于当前目录下,并且你知道它的扩展名是.txt,你可以这样写:
  • fopen("example", "r");
  • 如果文件不在当前目录下,你需要提供完整的路径和扩展名:fopen("/path/to/file/data.txt", "r");

常见的文件打开方式包括:

 r:只读方式(文件必须存在)

w:写入方式(文件存在清空之前的内容,不存在新建一个)

a:追加方式(文件存在在尾部追加,不存在新建文件)

r+:读写方式(文件必须存在)

w+:读写方式(存在清空文件内容,不存在新建文件)

a+:读写方式(文件存在在末尾追加,不存在新建文件)

文件成功打开返回一个指向file类型的指针,以便后续操作

(3)fseek函数

用于移动文件指针到指定位置,主要用于改写文件内部的位置

fseek(指向文件流的指针,偏移量,偏移位置)

偏移位置: SEEK_SET:文件头开始偏移

SEEK_CUR:当前位置开始偏移

SEEK_END:文件尾开始偏移

int fseek(FILE *stream(指针), long offset(偏移量),int whence(基准位置));
  • 如果偏移量超出文件范围,例如正向偏移超过文件末尾或反向偏移超过文件开始位置,函数仍然会返回0,但不会改变文件指针的实际位置。
  • 成功调用fseek函数时返回值为0;如果失败则返回非零值,并可能设置错误指示符。

(4)fscanf函数

fscanf(FILE *stream,const char *format,……)

stream为要读取文件的指针,format指定数据格式,省略号表示一系列变量

(5)rewind函数

该函数接受一个参数stream,即指向已打开文件的指针。调用此函数后,文件指针会从当前位置移动到文件的开头,并清除与文件流相关的错误和eof标志。

(6)fprint函数

fprintf(FILE *stream,const char *format,……);

stream指向要写入数据的流

format:格式控制字符串

……:后续的可变参数

(7)fcolse函数

fclose(FILE *stream)

stream指向要关闭的流

成功关闭返回值为0;如果失败,则返回 EOF(-1)

例题

#include<stdio.h>
main()
{
    FILE*fp;
    int i,a[6]={1,2,3,4,5,6},k;
    fp = fopen("data.dat","w+");
    for (i=0; i<6; i++)
     {
        fseek(fp,OL, 0);fprintf(fp,"%d\n", a[i]);
     }

    rewind(fp);
    fscanf(fp,"%d",&k);
    fclose(fp);
    printf("%d\n", k);
}

输出结果:

答案:6

12.在C语言中首先执行的一定是main()函数

13.一维数组的名字就是首元素的地址

#include<stdio.h>
int main()
{
    char S[]="abcdefg"
    char* p = s;
    printf ("%s\n",p+1);
    return 0;
}

输出bcdefg

如果是printf(“%s\n”,p)则输出abcdefg

14指针

例题1

#include<stdio.h>
int main()
{
    char S[]="abcdefg"
    char* p = s;
    char* q = s[6]
    printf ("%s\n",q-p);
    return 0;
}
/*a b c d e f g
  0 1 2 3 4 5 6
q-p==6-0
输出6*/

例题2

#include<stdio.h>
int main()
{
    char S[]="abcdefg"
    char* p = s;
    //s++;和p++的区别
    return 0;
}
s++是错误的,因为s是常量不能进行运算

例题3

#include<stdio.h>
int main()
{
    char S[]="abcdefg"
    char* p = "abcdefg"
    printf("%s\n",s[]);
    printf("%s\n",p);
    return 0;
}
输出都会输出abcdefg,它们的区别在于s指向的是整个数组;而p存放的是整个数组的地址(是一个字符串常量)

例题4

#include<stdio.h>
void fun (char p[])//在这里p[]和*p是完全相同的,且p[]可以进行p++运算,因为他作为一个形参就不是数组名了
{
    p++;
    *p='w';
}
int main()
{
    char s[] ="asdf"
    fun(s) ;
    printf("%s\n",s) ;
}

无论是什么类型的指针都占据4个字节

例题5

#include<stdio.h>
void fun (char p[])
{
    printf("%d\n",sizeof(p[])/sizeof(p[0]))
}
int main()
{
    char s[] ="asdf"
    fun(s) ;
}
输出结果是4,因为sizeof(p[])的值为4

15.二级指针

二级指针用于存放一级指针的地址

16.EOF标志

EOF作为文件结束的标志,但是文件必须是文本文件。EOF的值是1

17.结构体变量成员的引用

如果已经定义了一个结构体变量和基类型是同一种结构类型的指针变量,并且可以让该指针指向同类型的变量可以:结构体变量.成员名        指针变量名->成员名        (*指针变量名).成员名

以上三种来引用结构体变量中的成员

例题

设有以下程序段
 

struct person

{

        har name[10];

        char sex;

        float weight;

}

        zhangsan,*ptr;

        ptr=&zhangsan;

若要从键盘读入姓名给结构体变量zhangsan的name成员,输入项错误的是()

A. scanf("%s", zhangsan->name);

B. scanf("%s",zhangsan. name);

C. scanf("%s", ptr->name);)

D.scanf("%s",(*ptr). name);

选择A

18.一条C语言语句可能会被转换成0条、1条或多条

19.编译器会忽略多余的分号

#include<stdio.h>
main() 
    int a = 0, b = 0, c = 0, d;
    c = (a += b,, b += a);                 //第四行
    d = c;;                                //第五行
    ;                                      //第六行
    ;printf("%d,%d,%d\n", a, b, c);        //第七行
    return 0;
}

编译时出现错误的是第几行?

答案:4

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2159668.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2.Spring-容器-注入

注册&#xff1a;将组件放入容器中&#xff1b; 注入&#xff1a;让容器按需进行操作&#xff1b; 一、Autowired&#xff1a;自动注入组件 原理&#xff1a;Spring调用容器的getBean 二、Qualifier 精确指定 精确指定&#xff1a;如果容器中组件存在多个&#xff0c;则使用…

在虚幻引擎中实现Camera Shake 相机抖动/震屏效果

在虚幻引擎游戏中创建相机抖动有时能让画面更加高级 , 比如 遇到大型的Boss , 出现一些炫酷的特效 加一些短而快的 Camera Shake 能达到很好的效果 , 为玩家提供沉浸感 创建Camera Shake 调整Shake参数 到第三人称或第一人称蓝图 调用Camera Shake Radius值越大 晃动越强

Nginx基础详解1(单体部署与集群部署、负载均衡、正反代理、nginx安装)

本阶段的任务 1.学会集群的操作概念 2.完成对Nginx的入门操作 3.使用Nginx实现集群和负载均衡 4.使用Nginx实现高可用的方案 目录 1.单体部署与集群部署 1.1单体部署的概念 1.2单体部署的优缺点 1.3集群部署的概念 1.4集群部署的优缺点 1.5集群部署需要注意的点 1.…

嵌入式linux方向细分工作岗位分析

大家好,今天主要给大家分享一下,linux方向细分的工作岗位有哪些?,为即将进入linux领域的开发者指明方向。 第一:总结分布 第二:Linux BSP工程师岗位 工作内容: 1、开发和维护Linux系统的板级支持包(BSP),包括启动加载程序、设备驱动、文件系统等。 2、负责解决硬件和软…

2003-2022年各省区域创新能力评价相关指标数据(报告年份2003-2022年)

2003-2022年各省区域创新能力相关指标数据&#xff08;报告年份2003-2022年&#xff09; 1、来源&#xff1a;2003-2022年中国区城创新能力评价报告 2、指标&#xff1a;综合值、知识创造综合指标、研究开发投人综合指标、专利综合指标、科研论文综合指标、知识获取综合指标、…

个人导航网站介绍和部署

前言&#xff1a; 大家好&#xff0c;我是神的孩子都在歌唱&#xff0c;这是我csdn的博客 , 这是我做的一个神唱导航网站项目&#xff0c;这是一个练习项目&#xff0c;所以还存在很多问题&#xff0c;目的是方便收集和查阅日常浏览的网站&#xff0c;代码完全开源github&#…

LeetCode 面试经典150题 201.数字范围按位与

题目&#xff1a;给你两个整数 left 和 right &#xff0c;表示区间 [left, right] &#xff0c;返回此区间内所有数字 按位与 的结果&#xff08;包含 left 、right 端点&#xff09;。 提示&#xff1a;0 < left < right < 2^31 - 1 思路&#xff1a; 位与的特性…

leetcode91. 解码方法,动态规划

leetcode91. 解码方法 一条包含字母 A-Z 的消息通过以下映射进行了 编码 &#xff1a; “1” -> ‘A’ “2” -> ‘B’ … “25” -> ‘Y’ “26” -> ‘Z’ 然而&#xff0c;在 解码 已编码的消息时&#xff0c;你意识到有许多不同的方式来解码&#xff0c;…

【漏洞复现】HIKVISION 视频编码设备接入网关 showFile.php 任意文件下载漏洞

免责声明&#xff1a; 本文内容旨在提供有关特定漏洞或安全漏洞的信息&#xff0c;以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步&#xff0c;并非出于任何恶意目的。阅读者应该明白&#xff0c;在利用本文提到的漏洞信息或进行相关测…

PHP智慧教育新篇章优校管理系统小程序源码

智慧教育新篇章 —— 优校管理系统 &#x1f680;【开篇启航&#xff1a;智慧教育的浪潮已至】 在这个日新月异的时代&#xff0c;教育也在悄然发生着变革。随着科技的飞速发展&#xff0c;智慧教育已成为教育领域的新风尚。而“优校管理系统”&#xff0c;正是这股浪潮中的佼…

Keil5 操作

目录 1.Debug&#xff08;软件模拟调试&#xff1a;&#xff09;&#xff1a; 2.代码提示设置&#xff1a; 3.添加. c与.h文件&#xff1a; 常用技巧 安装下载推荐&#xff1a;正点原子 1.Debug&#xff08;软件模拟调试&#xff1a;&#xff09;&#xff1a; 文章讲解 …

【例题】证明极限

已知&#xff1a; ∀ ε > 0 , ∃ n > N , ∣ a n − A ∣ < ε \forall \varepsilon >0, \exist n>N,|a_n-A|<\varepsilon ∀ε>0,∃n>N,∣an​−A∣<ε 目标&#xff1a; ∀ ε > 0 , ∃ n > N 1 , ∣ a 1 . . . a n n − A ∣ < ε \…

pytorch学习笔记二:用pytorch神经网络模型做气温预测、分类任务构建和分类网络构建、卷积神经网络原理介绍

文章目录 一、搭建pytorch神经网络进行气温预测1&#xff09;基础搭建2&#xff09;实际操作标识特征和标签3&#xff09;构建成标准化的预处理数据&#xff08;做标准化收敛速度更快&#xff09; 二、按照建模顺序构建完成网络架构1&#xff09;np.array格式的标签(y)和特征(x…

从入门到精通:计算机视觉学习路线与实战项目推荐

全面解析计算机视觉的学习路径&#xff0c;深入探讨关键技术与实战项目&#xff0c;助您快速掌握核心技能 引言 随着人工智能的飞速发展&#xff0c;计算机视觉已成为AI领域中最具潜力和应用价值的分支之一。从自动驾驶到医疗影像分析&#xff0c;计算机视觉技术正在改变我们的…

9.23-部署项目

部署项目 一、先部署mariadb [rootk8s-master ~]# mkdir aaa [rootk8s-master ~]# cd aaa/ [rootk8s-master aaa]# # 先部署mariadb [rootk8s-master aaa]# # configmap [rootk8s-master aaa]# vim mariadb-configmap.yaml apiVersion: v1 kind: ConfigMap metadata:name: ma…

【通俗易懂介绍OAuth2.0协议以及4种授权模式】

文章目录 一.OAuth2.0协议介绍二.设计来源于生活三.关于令牌与密码的区别四.应用场景五.接下来分别简单介绍下四种授权模式吧1.客户端模式1.1 介绍1.2 适用场景1.3 时序图 2.密码模式2.1 介绍2.2 适用场景2.3时序图 3.授权码模式3.1 介绍3.2 适用场景3.3 时序图 4.简化模式4.1 …

【LIO-SAM】LIO-SAM论文翻译(2020年)

【LIO】LIO-SAM论文翻译&#xff08;2020年&#xff09; 1&#xff0e;Abstract&#xff12;&#xff0e;INTRODUCTION&#xff14;&#xff0e;通过平滑和映射实现激光雷达惯性里程计A. 系统概述B. IMU Preintegration Factor&#xff08;推导过程参阅&#xff09;C. Lidar Od…

对onlyoffice进行定制化开发

基于onlyoffice8.0源码&#xff0c;进行二次开发&#xff0c;可实现包括但不限于以下的功能 1、内容控件的插入 2、内容空间的批量替换 3、插入文本 4、插入图片 5、添加&#xff0c;去除水印 6、修改同时在线人数限制 7、内容域的删除 8、页面UI的定制化 9、新增插件开发 10、…

Pytest-如何将allure报告发布至公司内网

原理简介 使用Python启动HTTP服务器&#xff0c;指定一个端口号port&#xff0c;内网用户可以使用ipport访问报告。 本文章继续进阶&#xff0c;简单使用nginx进行一个代理&#xff0c;使用域名可以直接访问报告。 前情概述 Pytest-allure如何在测试完成后自动生成完整报告&am…

Ansible流程控制-条件语句_循环语句

文章目录 Ansible流程控制条件语句且、或、非、是模糊条件when指令的详细使用方法 循环语句如何使用使用item变量结合with_items或loop指令item变量有固定子元素&#xff1f; 实例-服务器安装基础环境优化需求部分实现换指定新仓库安装基础软件包 Ansible流程控制 一、 1. 条件…