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
思路:用户标识符遵循特定规则:
- 用户标识符只能包含字母(大小写敏感)、数字和下划线。
- 用户标识符不能以数字开头。
- 用户标识符不能包含空格或其他特殊字符。
因此选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.
!=
思路:这里给大家整这道题,也是想给大家总结这个运算符的优先级,记住常见的。
观察规律,一目运算符>二目运算符>三目运算符,算术运算符就是+ - * / 这些,关系运算符就是> < 这些,并且记住赋值运算符比 逗号运算符强。
因此这道题选择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个就会越界。
最后,笔者能力有限,如有错误,请指出,一定改正一起进步。
相关文章:

C语言期末考试复习PTA数据类型及表达式-分支结构程序-循环结构-数组经典选择题
目录 第一章:C语言数据类型和表达式 第一题: 第二题: 第三题: 第四题: 第五题: 第六题: 第七题: 第八题: 第九题: 第二章:分支结构程序…...

RHEL8_Linux访问NFS存储及自动挂载
本章主要介绍NFS客户端的使用 创建FNS服务器并通过NFS共享一个目录在客户端上访问NFS共享的目录自动挂载的配置和使用 1.访问NFS存储 前面介绍了本地存储,本章就来介绍如何使用网络上的存储设备。NFS即网络文件系统,所实现的是 Linux 和 Linux 之间的共…...

python 使用 AppiumService 类启动appium server
一、前置说明 在Appium的1.6.0版本中引入了AppiumService类,可以很方便的通过该类来管理Appium服务器的启动和停止。 二、操作步骤 import osfrom appium.webdriver.appium_service import AppiumService as OriginalServerfrom libs import pathclass AppiumSer…...

HbuilderX使用Uniapp+Vue3安装uview-plus
如果你是vue2版本想使用uniapp去配置uviewui库可以参考之前的文章 小程序的第三方ui库推荐较多的还是uview的,看起来比较美观,功能也比较完善,下面将提一下Vue3安装uview-plus库的教程 创建项目 安装 首先进入官网 uView-Plus 直接下载并导…...
【Android】Java NIO(New I/O)的`Selector`类来实现非阻塞的Socket监听
如果你不想使用循环来监听客户端的连接和数据,你可以使用Java NIO(New I/O)的Selector类来实现非阻塞的Socket监听。Selector类提供了一种选择一组已经就绪的通道的机制,这样你就不需要使用循环来等待连接和数据。 以下是使用Sel…...

『亚马逊云科技产品测评』在当前飞速发展的AI人工智能时代云服务技术哪家强?
授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道 文章目录 引言一、亚马逊&阿里云发展历史介绍1.1 亚马逊发展历史1.2…...

经典神经网络——ResNet模型论文详解及代码复现
论文地址:Deep Residual Learning for Image Recognition (thecvf.com) PyTorch官方代码实现:vision/torchvision/models/resnet.py at main pytorch/vision (github.com) B站讲解: 【精读AI论文】ResNet深度残差网络_哔哩哔哩_bilibili …...

OpenCV-Python:DevCloud CodeLab介绍及学习
1.Opencv-Python演示环境 windows10 X64 企业版系统python 3.6.5 X64OpenCV-Python 3.4.2.16本地PyCharm IDE线上注册intel账号,使用DevCloud CodeLab 平台 2.DevCloud CodeLab是什么? DevCloud是一个基于云端的开发平台,提供了强大的计算…...

如何在Linux环境搭建本地SVN服务器并结合cpolar实现公网访问
目录 前言 1. Ubuntu安装SVN服务 2. 修改配置文件 2.1 修改svnserve.conf文件 2.2 修改passwd文件 2.3 修改authz文件 3. 启动svn服务 4. 内网穿透 4.1 安装cpolar内网穿透 4.2 创建隧道映射本地端口 5. 测试公网访问 6. 配置固定公网TCP端口地址 6.1 保留一个固定…...

C语言入门课程之课后习题之折半查找法
目录 1解题思路: 2代码所示: 3运行代码: 4习题不难,多刷题,练思路,最重要的不是学会了一道题,而是掌握其编程思想; 1解题思路: 折半查找法(half-interval…...
【CSP】202209-1_如此编码Python实现
文章目录 [toc]试题编号试题名称时间限制内存限制题目背景题目描述输入格式输出格式样例1输入样例1输出样例2输入样例2输出样例3输入样例3输出样例3解释子任务提示Python实现 试题编号 202209-1 试题名称 如此编码 时间限制 1.0s 内存限制 512.0MB 题目背景 某次测验后&#x…...
std::function
通过使用std::function,可以将不同类型的可调用对象封装成统一的格式,从而使用相同的接口进行调用;在设计回掉函数、事件处理 、函数对象等场景中十分有用。 ① 封装函数指针 ② 封装lambda ③ 封装成员函数等 1. 包含头文件 #include<fun…...

SQL Server——权限管理
一。SQL Server的安全机制 SQL Server 的安全性是建立在认证和访问许可两种安全机制之上的。其中.认证用来确定登录Sal Server 的用户的登录账户和密码是否正确.以此来验证其是否具有连接SQL Server 的权限;访问许可用来授予用户或组能够在数据库中执行哪…...

实例解析关于兔鲜登录tab栏切换案例详细讲解!
文章目录 文章目录 效果图展示 整体制作的一个思路 代码展示 技术细节 小结 效果图展示 点击账户登录显示登录的模块,点击二维码登录显示二维码的模块 整体制作的一个思路 点击哪个模块哪个显示,另外一个模块让它隐藏即可! 代码展示 <!…...

制作一个RISC-V的操作系统三-编译与链接
文章目录 GCCGCC简介GCC的命令格式gcc -Egcc -cgcc -Sgcc -ggcc -vGCC的主要执行步骤GCC涉及的文件类型针对多个源文件的处理 ELFELF介绍ELF文件格式ELF文件处理相关工具:Binutils(binary utility)readlelf -hreadelf -S或readelf -SW&#x…...
tmux工具--程序部署在服务器上持久化执行
程序部署在服务器上,想持久化执行 做以下操作: 在服务器上安装 tmux工具 对于 Ubuntu 或 Debian: sudo apt-get install tmux对于 CentOS 或 RHEL: sudo yum install tmux对于 Fedora: sudo dnf install tmux对于…...

C语言精选——选择题Day39
第一题 1. 有下面的定义,则 sizeof(s) 为多少? char *s "\ta\017bc"; A:9 B:5 C:6 D:7 答案及解析 C 本题涉及到了转义字符 \t 是水平制表符,算一个字节 \017 是表示八进制数&#…...

React 笔记 jsx
严格约定:React 组件必须以大写字母开头,而 HTML 标签则必须是小写字母。 React JSX JSX 是由 React 推广的 JavaScript 语法扩展。 用于表达组件的 特殊语法的 js 函数 要求标签必须闭合;返回的组件必须包裹在一个父标签内; …...

QMenu风格设计qss+阴影
Qt的菜单经常在软件开发中用到,默认的菜单效果都不符合设计师的要求,本篇介绍QMenu菜单的风格设计,包括样式表和阴影。 1.QMenu样式表的设计 首先看一个默认的菜单 void QGraphicsDropShadowEffectDemo::slotShowDialog() {qDebug() <&l…...

temu防窒息警示语贴哪里
防窒息警示语标签的位置选择是确保消费者在购买和使用产品时能够注意到潜在窒息风险的重要一环。本文将为您介绍一些关于防窒息警示语标签贴在哪里的建议,以帮助您选择合适的位置。 先给大家推荐一款拼多多/temu运营工具——多多情报通 多多情报通是拼多多的生意参…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...

高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...

基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...

《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...