C语言期末考试复习PTA数据类型及表达式-分支结构程序-循环结构-数组经典选择题

 目录

 

 

第一章:C语言数据类型和表达式

第一题:

第二题:

第三题:

第四题:

第五题:

第六题:

第七题:

第八题:

第九题:

第二章:分支结构程序设计

第一题:

第二题:

第三题:

第四题:

第五题:

第六题:

第七题:

第八题:

第九题:

第三章:循环结构

第一题:

第二题:

第三题:

第四题:

第五题:

第六题:

第四章:数组

第一题:

第二题:

第三题:

第四题:

第五题:

第六题:

第七题:

第八题:

第九题:

第十题:

第十一题:

第十二题:


 

 

第一章:C语言数据类型和表达式

第一题:

设x 、y均为f1oat型变量,则以下不合法的赋值语句是 ( )。A.
x*=y+8;B.
x=y=0;C.
y=(x%2)/10;D.
y=1+x;

分析:对于c,取余运算两边必须是整型;

第二题:

下面四个选项中,均是合法整形常量的选项是( )A.
160 、 -0xffff 、 011B.
-01 、 986,012 、 0668C.
-0xcdf 、 01a 、 0xeD.
-0x48a 、 2e5 、 0x

分析:首先你要知道十六进制的数怎么表示,它是以0x为前缀使用 0-9 和 A-F(或 a-f)这些字符来表示数字 0-15,然后八进制是以0为前缀,使用数字 0-7 来表示数字 0-7

所以b错在0668,八进制中出现了8,

c错在01a,八进制出现了字母

d错在2e5,是一个浮点数,不是整数,0x是不完整的十六进制表示

第三题:

表达式下面的程序段将输出 ▁▁▁▁▁。double pi = 22 / 7, r = 2, g;
g = 2 * pi * r;
printf("%.2f\n", g);A.
12.57B.
0.00C.
12.00D.
13.00

分析:

22/7,因为双方都是整数,所以得出结果也是整数不会保留小数,所以22/7=3,然后最后是输出12.00

第四题:

为表示“a和b都不等于0”,应使用的C语言表达式是()。A.
(a!=0) || (b!=0)B.
a || bC.
!(a=0)&&(b!=0)D.
a && b

分析:首先读懂题,翻译成a和b都不等于0时为真,所以d肯定对

接下来分析a,b,c

a用||逻辑符,就是只要两边一个满足就为真,那么a不等于0是为真,这个时候b可以为0,照样表达式成立

b同上

c的表达式就已经错了,因为()里面表达式应该是判断,而不是进行赋值

第五题:

设 x、y、t均为int型变量,则执行语句:x=y=3; t= ++x || ++y; 后,y的值为____。A.
1B.
不定值C.
3D.
4

 

分析:执行语句t=++x || ++y;,根据短路逻辑运算符的特性,如果第一个表达式的值为真(非零),则不会执行第二个表达式。先把++x赋给t之后,这个表达式为真不会进行++y。

第六题:

设变量n为float型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是( )A.
n=(n*100+0.5)/100.0B.
n=n*100+0.5/100.0C.
n=(n/100+0.5)*100.0D.
m=n*100+0.5,n=m/100.0

分析:这道题看起来抽象,其实原理很简单,举个例子

假设n的值为3.4567。

按照选项A的表达式,首先计算 3.4567 * 100 = 345.67,将小数点后两位的数值变为整数部分。

接着加上0.5,得到 345.67 + 0.5 = 346.17,进行了四舍五入运算。

最后将结果除以100.0,得到 346.17 / 100.0 = 3.4617,将整数部分转换回小数点后两位的数值。

因此,选项A的表达式 (n*100+0.5)/100.0 能够实现将n中的数值保留小数点后两位,并进行四舍五入运算。

第七题:

表达式下面的程序段将输出 ▁▁▁▁▁ 。int n = 4, s;
s = 1 / 2 * n * (n + 1);
printf("%d\n", s);A.
10B.
0.025C.
0.625D.
0

思路:

写这种题,要明白优先运算的优先顺序,看s,先算小括号里的,然后从左至右一次运算,即先算1/2,但是1和2是整数运算得出0.5然后取整变成0,因此会输出0.

第八题:

表达式(x%3)等价于表达式( )。A.
x%3 == 2B.
x%3 == 0C.
x%3 == 1D.
x%3 != 0

 

 思路:

写这种题记住一点,无需想太多,要想表达式x%3成立,那么x%3的结果就不能为0,因为我们规定表达式值为0就为假,因此表达式等价D。

第九题:

下列不合法的用户标识符是A.
j2_KEYB.
_8_C.
4d_aD.
Double

思路:用户标识符遵循特定规则:

  1. 用户标识符只能包含字母(大小写敏感)、数字和下划线。
  2. 用户标识符不能以数字开头。
  3. 用户标识符不能包含空格或其他特殊字符。

因此选C

第二章:分支结构程序设计

第一题:

若a为int类型,且其值为3,则执行完表达式a+= a-= a*a后,a的值是__。A.
9B.
-3C.
6D.
-12

思路:

明白运算符的优先顺序,*的优先级高于=和+,因此先从a*a开始运算,a的值为3,a*a=9,然后,a-=9,相当于a=a-9,这个时候a还是3,然后3-9=-6即把-6赋给了a,然后a这个时候的值为-6,然后进行最后一语句,a+=-6,a这个时候是-6,这个表达式相当于a=a-6,所以最后a=-12;

 

 

第二题:

定义int score = 75; 则表达式 80 > score > 70 的值是:A.
0B.
trueC.
1D.
false

思路:

从左至右依次进行,首先80>75为真,那么这个时候表达式返回1,即变成1>70为假,所以返回0

第三题:

下列运算符中优先级最低的是__.A.
IIB.
>=C.
~D.
!=

思路:这里给大家整这道题,也是想给大家总结这个运算符的优先级,记住常见的。

4112528002e9414f89efe3022c94f3e3.png

67cf2a6ec8ab4a4788f29372ba7cfc39.png

37dd18c2f3ac4fedab7c7ab270f26ac0.png

观察规律,一目运算符>二目运算符>三目运算符,算术运算符就是+ - * / 这些,关系运算符就是> < 这些,并且记住赋值运算符比 逗号运算符强。

因此这道题选择A

第四题:

设有定义:int a = 1, b = 2, c = 3, d = 4, m = 2, n = 2;
则执行表达式(m = a > b) && (n = c > d);
后,n的值为____。A.
0B.
3C.
1D.
2

 

思路:

由上述介绍了运算符的优先级,那么这道题就如同探囊取物,看表达式,先是a>b,即1>2,为假,返回0,即变成m=0,就是把0赋给了m,表达式为真,然后呢c>d即3>4为假返回0,0赋给了n为真,所以n等于0 对吗?不对,为什么?错就错在你还未理解&&这个运算符,必须两边同时成立才为真,但当左边的表达式为假的时候,他根本不会进行第二个表达式的运算,所以n还是原来的值2,因此这道题为D

这就是逻辑运算符的短路原则,对于||只要第一个操作数为假则不会进行第二个操作数.

对于逻辑或运算符 ||,如果第一个操作数为真(非零),则整个表达式的值为真,不会再计算第二个操作数。只有当第一个操作数为假(0)时,才会计算第二个操作数。

 

 

第五题:

设 int x=1, y=1; 表达式(!x||y--)的值是( )。A.
-1B.
0C.
1D.
2

思路:

根据上题给大家介绍的逻辑运算符的短路规则,这道题很easy了吧

在这个表达式中,x 的值为 1,非零,所以 !x 为假(0)。因此,整个表达式 (!x || y--) 的值取决于 y-- 的结果。

y-- 表示先将 y 的值赋给表达式,然后再将 y 的值减 1。由于后缀自减运算符的优先级较低,所以 y-- 的值为 1,并且 y 的值被减 1 变为 0。

因此,(!x || y--) 的值为 0 || 1,即 1

答案是 C. 1。

 

第六题:

已知int i, a; 执行语句i=(a=2*3,a*5),a+6;后,变量i的值是( )。A.
6B.
30C.
36D.
12

思路:

还是考察运算符的优先级,之前给大家介绍=的优先级比 , 高,因此先执行逗号表达式a=2*3,a*5,其中a首先被赋值为6,然后计算a*5返回结果30,所以整个逗号表达式的值是30。接着,将这个值赋给变量i,即i=30

最后,执行语句a+6,但并没有把其结果赋给任何变量,所以该语句的执行对i的值没有影响。

因此,变量i的值是30,选项B正确。

 

第七题:

若变量已正确定义,表达式 (j=3, j++) 的值是____。A.
5B.
4C.
6D.
3

思路:

在表达式(j=3, j++)中,逗号操作符,会先执行左边的表达式j=3,将3赋值给变量j,然后再执行右边的表达式j++

但是需要注意的是,后置递增运算符++会在整个表达式执行完之后才生效。所以在这个表达式中,尽管执行了j=3的赋值操作,但是j++的递增操作并没有影响到整个表达式的值。

因此,表达式(j=3, j++)的值是3,选项D正确。

 

第八题:

设a=1,b=2,c=3,d=4,则表达式:a<b?a:c<d?a:d 的结果为( )。A.
3B.
4C.
2D.
1

思路:

对于这种多目运算的怎么分析?

答案就是一步步来,首先我们把这个值带进去,1<2为真所以a为表达式的值不执行后面。这里给大家延申一些,如果我是说如果,a<b为假的话,那么就会执行c<d,然后根据c<d是否为真进行判断是执行a还是执行d

 

第九题:

假设所有变量均为整型,则表达式(a = 2, b = 5, b++, a+b)的值是( )A.
2B.
7C.
6D.
8

思路:

在这个表达式中,首先执行 a = 2,将 2 赋给变量 a。然后执行 b = 5,将 5 赋给变量 b。接下来执行 b++,将 b 的值增加 1,此时 b 的值为 6。最后执行 a + b,即 2 + 6,结果为 8。

因此,表达式 (a = 2, b = 5, b++, a+b) 的值为 8。

在这里大家可能会有疑问,为什么不是7,因为b++只要不执行这个语句的时候b已经变成了6。如果说是还在b++这个语句里面,就是先用6然后再加1

 

第三章:循环结构

第一题:

下面这段程序,若scanf输入k的值为50,则程序将循环有限次,在打印输出有限行之后,程序将正常结束。#include <stdio.h>
int main(){int k;scanf("%d", &k);int i=100;while(i > k){printf("%d ", i);i++;}return 0;
}

思路:

这道题,可能很多人都是一知半解,觉得i>k为真,并且i还自增,必然一直循环下去,但是要知道int类型的数据所表达的范围有限。

在这段程序中,如果 scanf 输入的 k 值为 50,并且 i 的初始值为 100,循环条件 i > k 成立,循环体内的语句会被执行。

每次循环中,会打印输出 i 的值,并将 i 的值递增 1。由于 i 是使用整型变量声明的,整型变量在大多数系统中的范围是有限的。当 i 递增到超过整型变量所能表示的最大值时,整型溢出会发生。

对于大多数系统来说,int 类型的范围是 -2,147,483,648 到 2,147,483,647。当 i 的值增加到超过这个范围时,它将溢出并变成一个负值。

因此,当 i 递增到超过 int 类型所能表示的最大值时,循环会终止,程序将正常结束。

 

第二题:

下面这段程序中的循环将是无限循环,程序将始终运行、无法结束(假设运行该程序的计算机系统永远不会发生意外情况而崩溃或断电)。#include "stdio.h"
int main(){for(long num=1; num>0; num++)printf("%ld\n", num);return 0;
}

思路:

这道题也是与上道题,同理

 

第三题:

下列程序段输出结果为 ____。

下列程序段输出结果为 ____。int a=1,b=2,c=2,t;
while(a<b<c) {    t=a; a=b; b=t; c--;    }
printf( "%d,%d,%d", a, b, c);

思路:

首先看while循环条件,a<b即1<2为真返回1,变成1<c,即1<2为真然后进入循环体

然后看循环体前三条语句实际就是把a和b的值进行了交换,没看明白的可以画个图模拟一下,然后c--,这个时候c的值变成了1,接着再次进行循环条件的判断,a<b,因为a和b的值已经交换了,所以变成了2<1即为假,返回0,所以变成了0<c,c的值为1,所以0<1即为真,那么再次进入循环体,然后再次把a和b的值交换,这个时候a再次变成1b再次变成2,c再次--,c就变成了0,所以最终输出2,1,0

 

第四题:

 

对于循环while(!e) 语句,!e等价于____。A.
e!=1B.
e==0C.
e!=0D.
e==1

思路:

之前的内容讲过类似的,再次整出这道题想大家都整,明白,看懂代码,以后可能也需要写出这样的代码。

这次由大家自行解答,若有问题回到前文再看解析。

第五题:

设有程序段int m=20; while (m=0) m=m++;
则下面描述中正确的是( )。A.
循环体语句一次也不执行B.
循环体语句执行一次C.
while 循环执行 10 次D.
循环是无限循环

思路:

这道题和前面的类似,答案由你来书写。

第六题:

执行下面的程序后变量a的值是#include <stdio.h>
int main(void)
{int a, b;for (a = 1, b = 1; a <= 100; a++) {if (b > 10)break;if (b % 3 == 1) {b += 3;continue;}b -= 3;}printf("%d\n", a);return 0;
}A.
8B.
5C.
7D.
6

思路:

这道题考察就是简单循环的理解,建议大家重新理一遍这道题的逻辑,不要直接用编译器来求答案,理解代码的逻辑。看懂代码。

 

第四章:数组

第一题:

在对数组全部元素赋初值时,不可以省略行数,但能省略列数。TF

思路:

对于二维数组,行数可以省略,列数不能省略,举个例子,arr[][3]={{1,2},{1,2,3}},省略了行数,并不影响我们的理解,明显可以得出行数为2。列数不能省略,如果不指定列数, 它就不能知道一行放几个数据了。

第二题:

若有定义float a[6]={1,2,3};,则数组中含有3个元素。TF

 

思路:

数组有6个元素,只不过只指定了前三个元素,那么后三个元素的值。

后三个元素的值不确定。

第三题:

调用strcmp函数比较字符串大小时,通常较长的字符串会较大。TF

思路:

字符串比较大小是按照字典序来比较,不是说字符串长就大。

第四题:

一维数组定义的一般形式如下,其中的数组长度是一个整型常量表达式,给定数组的大小。类型名 数组名[数组长度];TF

思路:

记住即可,数字长度只能放常量不能放变量,比方说int a=100,arr[a]={0} 是错误的。因为a是变量。

第五题:

若字符数组s1和s2中均已正确存储字符串,则可以使用 if(s1>s2) 进行两字符串大小的比较。TF

思路:

不能直接通过关系运算符进行比较,除非在c++里面,可以通过strcmp来比较。

第六题:

一维数组定义的一般形式如下:类型名 数组名[数组长度];
数组元素引用的一般形式如下:数组名[下标]
在引用数组元素时,下标的合理取值范围是[0,数组长度-1],下标不能越界。TF

思路:

这个大家记住即可,答案为T

第七题:

"a" 和 'a'是等价的。TF

思路:

第一个是字符串,第二个是字符元素

第八题:

下面描述正确的是A.
字符个数多的字符串比字符个数少的字符串大B.
字符串“ STOP”和“STOP”相等C.
字符串“That”小于字符串“The”D.
两个字符串所包含的字符个数相同时才能比较字符串

思路:

看c因为第一个和第二个字符都相同,比较第三个,因为a的ascll小于e的ascll所以,第一个字符串小于第二个。

第九题:

以下关于二维数组初始化的说法,正确说法的个数是( )(1)语句int a[2][3]={0}; 能将int型数组a中的每个元素全部初始化为0。(2)语句int a[2][3]=0; 能将int型数组a中的每个元素全部初始化为0。(3)语句int a[2][3]; 能将int型数组中a的每个元素全部初始化为0。(4)语句int a[2][3]={{1,2},{3,4},{5,6}};能将int型数组元素a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2]依次初始化为1,2,3,4,5,6。(5) 语句int a[][3]={1,2,3,4,5,6};能将int型数组元素a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2]依次初始化为1,2,3,4,5,6。(6)语句int a[][3]={{1,2,3},{4,5,6}};能将int型数组元素a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2]依次初始化为1,2,3,4,5,6。

思路:

正确说法的个数是3。(1)语句int a[2][3]={0}; 能将int型数组a中的每个元素全部初始化为0。—— 对,(2)语句int a[2][3]=0; 能将int型数组a中的每个元素全部初始化为0。—— 错误,这种语句是错误的,无法用这种方式对二维数组进行整体赋值。(3)语句int a[2][3]; 能将int型数组中a的每个元素全部初始化为0。—— 错误,这种方式只会在栈上分配空间,但不会对每个元素进行初始化。(4)语句int a[2][3]={{1,2},{3,4},{5,6}};能够将int型数组元素a[0][0],a[0][1],a[1][0],a[1][1],a[0][2],a[1][2]依次初始化为1,2,3,4,5,6,因此是原来的选项是错的(5) 语句int a[][3]={1,2,3,4,5,6};能将int型数组元素a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2]依次初始化为1,2,3,4,5,6。—— 对,。(6)语句int a[][3]={{1,2,3},{4,5,6}};能将int型数组元素a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2]依次初始化为1,2,3,4,5,6。—— 正确,这种方式可以对二维数组进行逐个初始化。

第十题:

对于定义 char str[] = "abc\000def\n"(注:其中0为数字零),求字符串str的长度len和数组str的大小size,len和size分别是:A.
3 ,9B.
3 ,11C.
12 ,13D.
3 ,4

思路:

对于定义 char str[] = "abc\000def\n"; ,字符串 str 的长度 len 是指有效字符的个数,不包括字符串结束符 \0。数组 str 的大小 size 则是指整个数组占用的内存空间大小。在这种情况下,字符串 str 的长度 len 为 3,因为 "abc" 是由三个有效字符组成。数组 str 的大小 size 可以通过使用 sizeof 运算符来获取。sizeof 运算符返回的是数组在内存中所占用的字节数。因为 str 是一个字符数组,所以它占用的内存空间大小等于每个元素的大小乘以元素的个数。每个字符元素的大小为 1 字节。因此,数组 str 的大小 size 取决于编译器和操作系统的实现。通常情况下,它将是 11 字节(包括字符串结束符 \0)。

并且\0和\n看作是一个字符,字符串末尾还有一个\0为显示。

第十一题:

有说明语句int  a[4][5]; ,则a[2]+3表示__。A.
a数组行下标为2、列下标为3的元素的值B.
a数组第3行的首地址C.
a数组第2行的首地址D.
a数组行下标为2、列下标为3的元素的地址

思路:

a[2]+3实际上表示a数组第3行的首地址,并且向后偏移3个元素的地址。因此,a[2]+3可以表示a数组行下标为2、列下标为3的元素的地址。

所以,选项D.a数组行下标为2、列下标为3的元素的地址是正确的答案。

第十二题:

以下定义语句中不正确的是__。A.
int y[5]={0,1,3,5,7,9};B.
double x[5]={2.0, 4.0, 6.0, 8.0, 10.0};    C.
char c1[]={'1', '2', '3', '4', '5'};    D.
char c2[]={'\x10', '\xa', '\x8'};

思路:

很明显A的数组越界了,因为数组下标从0,开始,最终最大也是y[4],只能存五个元素,而出现了6个就会越界。

 

 

最后,笔者能力有限,如有错误,请指出,一定改正一起进步。

 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务器配置免密SSH

在当今互联网时代&#xff0c;远程工作和网络安全已成为信息技术领域的热点话题。无论是管理远程服务器、维护网络设备还是简单地从家中连接到办公室&#xff0c;安全始终是首要考虑的因素。这就是为什么 SSH&#xff08;Secure Shell&#xff09;成为了网络专业人士的首选工具…

Jmeter基础和概念

JMeter 介绍&#xff1a; 一个非常优秀的开源的性能测试工具。 优点&#xff1a;你用着用着就会发现它的重多优点&#xff0c;当然不足点也会呈现出来。 从性能工具的原理划分&#xff1a; Jmeter工具和其他性能工具在原理上完全一致&#xff0c;工具包含4个部分&#xff1a…

Flutter开发笔记 —— 图像缩略图功能实战

Flutter开发笔记 —— 图像缩略图功能实战 插件应用列表效果图功能分析scrollable_positioned_list插件应用滑动控制器滑动监听器应用 结束语 大家在做图像浏览或部分关于图像的项目时&#xff0c;难免会遇到缩略图的相关功能&#xff0c;特地写了一个demo给大家进行分享&#…

从浅入深掌握进阶结构体(C语言)

前言 这一期我们将继续讲解结构体的知识&#xff0c;还没有看过上一期的小伙伴一定要赶紧去学习哦。 上一期&#xff0c;冲鸭&#xff01; 那么话不多说我们开始今天的学习吧&#xff01; 文章目录 1,结构体的自引用2,匿名结构体3,位段4,结构体的传参5,尾声 1,结构体的自引用 …

数据库备份脚本

#!/bin/bash #数据库备份 #工具&#xff1a;xtrabackupif [ ! -d /xtrabackup/ ];thenmkdir /xtrabackup/{full,inter,diff} -p fito_mail15191876750163.com db_userroot db_passwdAren123 basedir/xtrabackup/full/ baseinter/xtrabackup/inter/ basediff/xtrabackup/diff/ f…

【SSM源码】基于JAVA的高校竞赛和考级查询系统

该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程等学习内容。 目录 一、项目介绍&#xff1a; 二、文档学习资料&#xff1a; 三、模块截图&#xff1a; 四、开发技术与运行环境&#xff1a; 五、代码展示&#xff1a; 六、数据库表截图&#xff1a…

uniapp-hubildx配置

1.配置浏览器 &#xff08;1&#xff09;运行》运行到浏览器配置》配置web服务器 &#xff08;2&#xff09;选择浏览器安装路径 &#xff08;3&#xff09;浏览器安装路径&#xff1a; &#xff08;3.1&#xff09; 右键点击图标》属性 &#xff08;3.2&#xff09;选择目标&…

系统设计-微服务架构

典型的微服务架构图 下图展示了一个典型的微服务架构。 负载均衡器&#xff1a;它将传入流量分配到多个后端服务。CDN&#xff08;内容交付网络&#xff09;&#xff1a;CDN 是一组地理上分布的服务器&#xff0c;用于保存静态内容以实现更快的交付。客户端首先在 CDN 中查找内…

《opencv实用探索·十四》VideoCapture播放视频和视像头调用

1、VideoCapture播放视频 #include <opencv2/opencv.hpp> #include <iostream>using namespace std; using namespace cv;int main() {// 定义相关VideoCapture对象VideoCapture capture;// 打开视频文件capture.open("1.avi");// 判断视频流读取是否正…

案例064:基于微信小程序的考研论坛设计

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…

问题:batchnormal训练单个batch_size就会报错吗

Batch Normalization&#xff08;批标准化&#xff09;是一种深度学习中的正则化技巧&#xff0c;它可以改进网络的训练过程。在训练神经网络时&#xff0c;Batch Normalization可以帮助解决内部协变量偏移&#xff08;Internal Covariate Shift&#xff09;的问题。 在标准的…

软件测试--selenium安装使用

安装selenium不少人使用pip命令来安装selenium&#xff0c;辛辛苦苦安装完之后&#xff0c;还是不能使用。所以我们可以是直接使用编译器&#xff0c;pycharm直接安装selenium扩展包。 file中点击settings 在Settings中点击Project Interpreter,点击加号就可以安装各种需要的扩…

Docker安装postgres最新版

1. postgres数据库 PostgreSQL是一种开源的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;它是一种高度可扩展的、可靠的、功能丰富的数据库系统。以下是关于PostgreSQL的一些介绍&#xff1a; 开源性&#xff1a;PostgreSQL是一个开源项目&#xff0c;可以…

One-to-Few Label Assignment for End-to-End Dense Detection阅读笔记

One-to-Few Label Assignment for End-to-End Dense Detection阅读笔记 Abstract 一对一&#xff08;o2o&#xff09;标签分配对基于变换器的端到端检测起着关键作用&#xff0c;最近已经被引入到全卷积检测器中&#xff0c;用于端到端密集检测。然而&#xff0c;o2o可能因为…

docker镜像仓库hub.docker.com无法访问

docker镜像仓库hub.docker.com无法访问 文章主要内容&#xff1a; 介绍dockerhub为什么无法访问解决办法 1 介绍dockerhub为什么无法访问 最近许多群友都询问为什么无法访问Docker镜像仓库&#xff0c;于是我也尝试去访问&#xff0c;结果果然无法访问。 大家的第一反应就是…

flutter开发实战-ValueListenableBuilder实现局部刷新功能

flutter开发实战-ValueListenableBuilder实现局部刷新功能 在创建的新工程中&#xff0c;点击按钮更新counter后&#xff0c;通过setState可以出发本类的build方法进行更新。当我们只需要更新一小部分控件的时候&#xff0c;通过setState就不太合适了&#xff0c;这就需要进行…

MQTT协议对比TCP网络性能测试模拟弱网测试

MQTT正常外网压测数据---时延diff/ms如下图&#xff1a; MQTT弱网外网压测数据 TCP正常外网压测数据 TCP弱网外网压测数据 结论&#xff1a;

这些接口自动化测试工具如果不知道,就真out了!

一、Postman Postman是一款广受欢迎的API测试工具&#xff0c;除了手动发送HTTP请求的基本功能&#xff0c;它还提供了自动化测试和脚本测试的功能&#xff0c;非常适合进行HTTP接口的自动化测试。 二、Rest-Assured Rest-Assured是一个Java库&#xff0c;专为REST服务的测试…

craco + webpack 4 升 5

craco webpack 4 升 5 更新包版本尝试build升级其他依赖库使用process插件打印进度信息到底需要多少内存分析构建产出添加 splitChunk总结记录一些好文章&#xff1a; 我的项目使用 craco react 开发 我的 package.json {// ......"dependencies": {"ant-desi…

WebSocket入门介绍及编程实战

HTTP的限制 全双工和半双工&#xff1a; 全双工&#xff1a;全双工&#xff08;Full Duplex&#xff09;是允许数据在两个方向上同时传输。 半双工&#xff1a;半双工&#xff08;Half Duplex&#xff09;是允许数据在两个方向上传输&#xff0c;但是同一个时间段内只允许一个…